Multithreading woes on Linux

Thomas Kuehne thomas-dloop at kuehne.cn
Sun Apr 23 12:26:34 PDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Juan Jose Comellas schrieb am 2006-04-23:
> It seems that there is a problem in the code generated by DMD or the code in
> Phobos when using multithreading on Linux. I've been trying several ways of
> rewriting my programs to avoid this problem, but I've had no success so
> far. The crashes always happen inside the garbage collector. The line
> reported by gdb is:
>
> #0  0x0806a978 in _D3gcx3Gcx4markFPvPvZv () at gcx.d:1318
> 1318                byte *p = cast(byte *)(*p1);

Might be related to http://d.puremagic.com/bugzilla/show_bug.cgi?id=72

A potential workaround:

1) edit dmd/src/phobos/internal/gc/linux.mak

remove -relase from DFLAGS:
DFLAGS=-O -inline -I../..

2) recompile libphobos.a

3) replace your current libphobos.a with the one found at
dmd/src/phobos/libphobos.a

Thomas


-----BEGIN PGP SIGNATURE-----

iD8DBQFES+KJ3w+/yD4P9tIRAk6XAKCEv0Vcxe8Gr39gq43WwswuikaajgCgxaCQ
j0UzSJRwEcrZ+59dPlfuB7g=
=oJR4
-----END PGP SIGNATURE-----



More information about the Digitalmars-d mailing list