[D-runtime] gc_atomic

Fawzi Mohamed fawzi at gmx.ch
Thu Jul 22 19:18:11 PDT 2010


Well on the end I did manage to get useful debug info most of the time  
compiling everything with debug symbols.
But sometime when being at such a low level everything might go wrong,  
even printf might fail because it isn't signal safe... write would be  
signal safe, but is a bit a pain to use, but to print just fixed  
string it might be a better option...

then there is the thing that osx has the bad habit of keeping "full"  
locks and other allocation stuff in pools protected by spinlocks in  
the kernel, and it is possible to suspend a thread with the spinlock  
taken.

That is why I switched to atomic instead of semaphores.

About allocations I moved the allocations of getAll outside the lock,  
because starting a GC collection to satisfy that allocation could give  
problems.

Don't know if any of this might help you with your bug.

Happy debugging

Fawzi
On 23-lug-10, at 03:36, Sean Kelly wrote:

> Thanks!  Frankly, the greatest obstacle I have for debugging right  
> now is that debug symbol generation is broken on OSX.  I can get the  
> function that failed at best (sometimes just a stack of "????"  
> symbols).  I've always done a lot of printf debugging with D, but  
> for low-level issues like this, it doesn't really do the trick.
>
> On Jul 22, 2010, at 6:16 PM, Fawzi Mohamed wrote:
>
>> you might be interested to this set of changes I did to tango to  
>> get rid of some low probability bugs, and to make my debugging of  
>> blip easier:
>>
>> see
>> http://www.dsource.org/projects/tango/ticket/1959
>>
>> ciao
>> Fawzi
>> _______________________________________________
>> D-runtime mailing list
>> D-runtime at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/d-runtime
>
> _______________________________________________
> D-runtime mailing list
> D-runtime at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/d-runtime



More information about the D-runtime mailing list