Jackpot. I don't know how noone caught a bug this obvious yet.
http://d.puremagic.com/issues/show_bug.cgi?id=5579
On 2/14/2011 11:45 AM, David Simcha wrote:
Actually this bug does not seem to be 64-related at
all. It's just easier to reproduce on 64 for some reason (i.e. my
std.parallelism unit tests can reproduce it). However, I just
tried to use the latest beta in 32-bit mode on real-world code
that uses std.parallelism, and it segfaults in pthread_cond_wait,
too. This does not happen when I use 2.051, again in 32-bit mode.
On Mon, Feb 14, 2011 at 9:36 AM, David
Simcha <[email protected]>
wrote:
Unfortunately I found one more segfault bug that was masked by
some of the other bugs I filed last night (i.e. I thought it
was a manifestation of the same bug). I'm not 100% sure it's
not a bug in my code (it is horribly complicated multithreaded
code, after all), though my code works on 32-bit so I'm fairly
sure.
I don't have time to reduce it right now (maybe tonight or
tomorrow). In case anyone else wants to try, the second unit
test block of std.parallelism (http://dsource.org/projects/scrapple/browser/trunk/parallelFuture/std_parallelism.d)
segfaults, but only on 64-bit builds. This happens sometimes
even with -O enabled, but much more often without. According
to GDB the segfaults occur in pthread_condition_wait, called
from core.sync.condition.wait(). Apparently bogus arguments
are getting passed somewhere.
|
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta