discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problem with ffi/forwardInvocation and exception handling on OpenSolaris


From: Saso Kiselkov
Subject: Problem with ffi/forwardInvocation and exception handling on OpenSolaris
Date: Mon, 28 Jun 2010 11:11:33 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100423 Lightning/1.0b1 Thunderbird/3.0.4

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

Hi,

I'm having some trouble getting native exception handling working
properly on OpenSolaris. I noticed that when I do a -forwardInvocation:
in between the stack frame which installs the @try/@catch handlers and
the one which throws an exception, the throwing code can't find the
handlers (and results in an abort). Has anybody ever encountered
something like this before? Would upgrading libobjc or libffi help?

Platform details:

OS: OpenSolaris snv_134
CPU: intel xeon e5405
libgnustep-base: 1.19.3
libffi: 3.0.9
libobjc from gcc-4.3.3

The same code on Linux (with gcc-4.3.2) doesn't blow up. (sample attached).

A `pstack' of the dumped core file looks like this:

$ pstack core
core 'core' of 23316:   ./obj/excp_fail
 fffffd7fff29e09a _lwp_kill () + a
 fffffd7fff23f5f1 raise () + 19
 fffffd7fff2152a1 abort () + d9
 fffffd7ffdc58994 ???????? ()
 fffffd7ff6e93cc2 _i_NSException__name ()
 fffffd7ff6e93814 _c_NSException__raise_format_arguments_ () + a3
 fffffd7ff6e93767 _c_NSException__raise_format_ () + 10b
 0000000000401448 do_throw () + 4d
 00000000004013f9 _i_TestClass__forwardInvocation_ () + 19
 fffffd7ff6f894b8 GSFFIInvocationCallback () + 508
 fffffd7ffd9f23f5 ffi_closure_unix64_inner () + 145
 fffffd7ffd9f280c ffi_closure_unix64 () + 46
 000000000040130c _start () + 6c

Could please somebody with knowledge of how the runtime works shed some
light on this issue?

BR,
- --
Saso
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkwoZ0MACgkQRO8UcfzpOHAuvACgg33+McWsW3TwrDzZ8g4hvQRW
WIwAn0okulkqVZxwNbVAHyBKxfXy2AP4
=bIxZ
-----END PGP SIGNATURE-----

Attachment: excp_fail.tar.gz
Description: GNU Zip compressed data

Attachment: excp_fail.tar.gz.sig
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]