Date: Thu, 15 Nov 2001 10:55:02 -0500 (EST) From: Joe Clarke <marcus@marcuscom.com> To: freebsd-ports@freebsd.org Cc: freebsd-stable@freebsd.org Subject: sigreturn: eflags creash (fixed!) Message-ID: <20011115104710.D47613-200000@shumai.marcuscom.com>
next in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1695988314-1005839702=:47613 Content-Type: TEXT/PLAIN; charset=US-ASCII Sorry for the wide distribution, but I have sent email to both lists regarding this problem in the past. It seems that while doing intensive threaded operations in Gnome applications, crashes occur with the following kernel message: sigreturn: eflags 0x280 And, in .gnomerc-errors: Fatal error 'Thread has returned from sigreturn or longjump' The problem as I have found it is with libpng. libpng uses MMX optimizations by default on FreeBSD. If you apply the attached patch to patch-aa in /usr/ports/graphics/png, the problem goes away. You only need to recompile and install libpng. Reinstalling Gnome isn't necessary. It seems the MMX optimizations are corrupting eflags, and when a thread tries to restore context after a signal, things go really wrong. The true fix will probably come in analyzing the MMX code in libpng. Unfortunately, I don't know enough about x86 assembly to be of much use here. Hopefully this will help other experiencing the same problem. Joe --0-1695988314-1005839702=:47613 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="patch-aa.diff" Content-Transfer-Encoding: BASE64 Content-ID: <20011115105502.A47613@shumai.marcuscom.com> Content-Description: Content-Disposition: attachment; filename="patch-aa.diff" LS0tIHBhdGNoLWFhLm9yaWcJVGh1IE5vdiAxNSAxMDo1MjozMyAyMDAxDQor KysgcGF0Y2gtYWEJVGh1IE5vdiAxNSAxMDo1MjoyMyAyMDAxDQpAQCAtNDIs MTAgKzQyLDYgQEANCiAgCXBuZ3d0cmFuLm8gcG5nbWVtLm8gcG5nZXJyb3Iu byBwbmdwcmVhZC5vDQogIA0KIC1hbGw6IGxpYnBuZy5hIHBuZ3Rlc3QNCi0r LmlmICgke0FSQ0h9ID09ICJpMzg2IikNCi0rQ0ZMQUdTKz0tRFBOR19VU0Vf UE5HR0NDUkQNCi0rT0JKUys9cG5nZ2NjcmQubw0KLSsuZW5kaWYNCiArDQog Ky5TVUZGSVhFUzogLmMgLnNvIC5vDQogKw0KQEAgLTkxLDUgKzg3LDQgQEAN CiAgcG5nd3RyYW4ubzogcG5nLmggcG5nY29uZi5oDQogIHBuZ3d1dGlsLm86 IHBuZy5oIHBuZ2NvbmYuaA0KICBwbmdwcmVhZC5vOiBwbmcuaCBwbmdjb25m LmgNCi0rcG5nZ2NjcmQubzogcG5nLmggcG5nY29uZi5oIHBuZ2FzbXJkLmgN CiAgDQo= --0-1695988314-1005839702=:47613-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011115104710.D47613-200000>