[dmd-internals] Need help tracking down a machine-dependent heisenbug

Don Clugston dclugston at googlemail.com
Wed Nov 16 03:09:22 PST 2011


On 16 November 2011 11:10, Martin Nowak <dawg at dawgfoto.de> wrote:
> On Wed, 16 Nov 2011 09:42:15 +0100, Don Clugston <dclugston at googlemail.com>
> wrote:
>
>> My CTFE developement is currently blocked by a problem I cannot reproduce.
>>
>> On DMD, checkout commit feaf4911ec (pull request #506)
>> Build DMD.
>> Compile Phobos unittests.
>> Does the compiler segfault while compiling?
>>
>> On my machine (Win7, dual core) it compiles OK.
>> On the autotester it also seems to have been OK.
>> But on Walter's Windows machine, and on his Linux machine, it segfaults.
>> (on Windows, it's when doing dmd -O -nofloat -w -d -L/co -c -unittest
>> -ofunittest12.obj std\array.d std\functional.d std\range
>> .d std\path.d std\outbuffer.d std\utf.d)
>>
>> From the log output, it is clear that the execution order is different
>> on these two cases. Something is different, and I don't have any idea
>> what it could be.
>> So I need more data. I'd like to know if other people can reproduce
>> the segfault.
>> _______________________________________________
>> dmd-internals mailing list
>> dmd-internals at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-internals
>
> I could not reproduce it, but found a latent bug which could be responsible
> for it.
> https://github.com/D-Programming-Language/dmd/pull/506#r232299

Good catch, but that's not the cause (the initial value of that
variable is irrelevant unless there's a bug somewhere else.
Initializing it to eg, 1245464 doesn't cause a segfault). Walter has
found the root cause. But, the machine dependency really interests me,
because I am *sure* it will hit us again.
At this stage it looks to be Walter-specific...


More information about the dmd-internals mailing list