Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Bigarrays and blocking_section..
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2010-05-26 (01:16)
From: Goswin von Brederlow <goswin-v-b@w...>
Subject: Re: [Caml-list] Bigarrays and blocking_section..
Romain Beauxis <> writes:

> 	Hi !
> Le mardi 25 mai 2010 14:29:28, vous avez écrit :
>> Are you sure that you correctly calculate the bigarray size in your
>> Caml code? Why not just use struct caml_ba_array fields? I suspect
>> it's not GC problem but just a buffer overrun in memset().
> I'm pretty sure the size is not the problem. There may be another origin for 
> the segfaults, though, but I would like to know if my assumption that I can 
> release the global lock under the mentioned condition is correct..
> Romain

Yes you can. So I too suspect you get the size wrong or something.

But it should be easy to test. In frame_of_value() print the values to
stderr and run it before and after a GC.compact. You may want to
allocate and forget some stuff before creating the bigarray to make sure
it moves. When you see the bigarray itself move but all the other frame
values remain constant you have shown it works.