My own code doesn't make any allocations.  I don't know much about the
garbage collector, so I guess that's where I should start to debug
this.  I do use other libraries (like libfcgi) which do their own
allocations.  I don't know because at this point the garbage collector
seems like a bunch of magic to me, but do you know if allocations in
other dynamic libraries could cause this behavior?  In the meantime,
I'll get myself acquainted with the garbage collector.

Thanks Nicolas,

--Chaz



Nicolas Cannasse wrote:
> Charles McGarvey a écrit :
>> Hey,
>>
>> I'm trying to track down the reason I'm getting a segfault, but I'm a
>> little perplexed because my own C code is rather trivial (i.e load a
>> module, call a neko function in a loop).  Here's the backtrace in case
>> somebody more experienced than myself might be able to glean something
>> from it.  In this case, neko was built with -g and no optimizations and
>> is running on amd64.  At a glance, looks like alloc is returning null...
>
> Yes, seems like the GC fails to allocate memory when the VM stack
> needs to grow. Are you doing some kind of allocation in C ? it's
> possible that some C code corrupts GC memory.
>
> You can also enable GC traces in vm/alloc.c by defining GC_LOG and
> recompiling NekoVM.
>
> Nicolas
>
>


--
Neko : One VM to run them all
(http://nekovm.org)

Reply via email to