hardcore gdc problems

Thomas Kuehne thomas-dloop at kuehne.cn
Wed Apr 4 16:21:12 PDT 2007


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

Downs schrieb am 2007-04-03:
> I've been running into problems with gdc for a while now (.21-.23, mingw32, 3.4.5 and 4.1.2), specifically crashes in odd places (language constructs).
> It only seems to happen when I run many threads in parallel; are there any known issues with that?

> (gdb) bt
> #0  0x022cfea9 in ?? ()
> #1  0x00421525 in _d_throw (obj=@0x1e17770)
>      at ../../../gcc-4.1.2/libphobos/gcc/deh.d:99
> #2  0x0042df41 in _D3std6socket15InternetAddress5_ctorMFAatZC3std6socket15Intern
> etAddress (this=@0x1ea51a0, addr=
>        {length = 18, ptr = 0x1bf4a67 "talismenseries.com/"}, port=80)
>      at ../../../gcc-4.1.2/libphobos/std/socket.d:676
[...]

Phobos' socket implementation isn't re-entrant save (e.g. gethostbyname
instead of gethostbyname_r). This might cause exceptions even if the
host actually exists. Regardless, #2 looks sane. Judging form the other
data #1's obj seems to be a valid address. #0 should be somewhere inside
_Unwind_SjLj_RaiseException.

GCC-4.1.2's doesn't document _Unwind_SjLj_RaiseException apart from
"document me!". Thus one question would be: what happens if more than one
thread tries to unwind at the same time?

Thomas


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

iD8DBQFGFDwnLK5blCcjpWoRAo7DAJ98Mu4lnWm38ySHAJ0+Zl7gQ3ElTwCghbVR
WWeq56yF71r41YZaaDfG5IU=
=DJBz
-----END PGP SIGNATURE-----


More information about the D.gnu mailing list