From owner-freebsd-ports Thu Nov 15 7:55:13 2001 Delivered-To: freebsd-ports@freebsd.org Received: from shumai.marcuscom.com (rdu57-28-046.nc.rr.com [66.57.28.46]) by hub.freebsd.org (Postfix) with ESMTP id 8EE9D37B418; Thu, 15 Nov 2001 07:55:00 -0800 (PST) Received: from localhost (marcus@localhost) by shumai.marcuscom.com (8.11.6/8.11.6) with ESMTP id fAFFt2f07823; Thu, 15 Nov 2001 10:55:02 -0500 (EST) (envelope-from marcus@marcuscom.com) X-Authentication-Warning: shumai.marcuscom.com: marcus owned process doing -bs Date: Thu, 15 Nov 2001 10:55:02 -0500 (EST) From: Joe Clarke To: freebsd-ports@freebsd.org Cc: freebsd-stable@freebsd.org Subject: sigreturn: eflags creash (fixed!) Message-ID: <20011115104710.D47613-200000@shumai.marcuscom.com> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1695988314-1005839702=:47613" Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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-ports" in the body of the message