discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Illegal instruction when running plmerge or a built app


From: Alister Hood
Subject: Re: Illegal instruction when running plmerge or a built app
Date: Wed, 21 Mar 2012 09:41:00 +1300
User-agent: Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120315 Firefox/11.0 SeaMonkey/2.8


Date: Tue, 20 Mar 2012 08:25:41 +0100 From: Fred Kiefer <fredkiefer@gmx.de> To: discuss-gnustep@gnu.org Subject: Re: Illegal instruction when running plmerge or a built app Message-ID: <4F6830F5.9040509@gmx.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed On 20.03.2012 00:18, David Chisnall wrote:
>  On 19 Mar 2012, at 21:38, Alister Hood wrote:
>
>>  OK, thanks, that seems more promising - no illegal instruction
>>  running plmerge when building things. But it still crashes when I
>>  try to run any app.  After also rebuilding gnustep-gui with
>>  debugging enabled, here's what I get:
>>
>>  Program received signal SIGILL, Illegal instruction. 0xb7cfc9c3 in
>>  -[NSMenuView sizeToFit] () from
>>  /opt/GNUstep/lib/libgnustep-gui.so.0.23 (gdb) bt #0  0xb7cfc9c3 in
>>  -[NSMenuView sizeToFit] () from
>>  /opt/GNUstep/lib/libgnustep-gui.so.0.23
>
>  No debugging symbols, so I can't be certain, but I would expect this
>  to happen if you are sending a message that returns a struct (e.g.
>  NSRect, NSPoint, or NSSize) to a nil receiver and you compiled with a
>  recent GCC or a very old clang.
The method in question is rather long, so I cannot rule this possibility
out for sure, but at a first glimpse I could not spy such a method call.
What seems strange to me is that the back trace shows debug symbols
further down, even for the gui library. This looks like code from two
separate instances of gui gets loaded. Could you please make sure that
you recompiled back and all themes and what ever else you load into your
application?

Fred
Well,
I've rebuilt everything Gnustep with debugging enabled, and if I understand correctly it hasn't made a difference:

Program received signal SIGILL, Illegal instruction.
0xb7cfc9c3 in -[NSMenuView sizeToFit] () from /opt/GNUstep/lib/libgnustep-gui.so.0.23
(gdb) bt
#0 0xb7cfc9c3 in -[NSMenuView sizeToFit] () from /opt/GNUstep/lib/libgnustep-gui.so.0.23 #1 0xb7cf9cd3 in -[NSMenuView rectOfItemAtIndex:] () from /opt/GNUstep/lib/libgnustep-gui.so.0.23 #2 0xb7cf7a8c in -[NSMenuView setNeedsDisplayForItemAtIndex:] () from /opt/GNUstep/lib/libgnustep-gui.so.0.23 #3 0xb7cf7629 in -[NSMenuView itemChanged:] () from /opt/GNUstep/lib/libgnustep-gui.so.0.23 #4 0xb784fe28 in -[NSNotificationCenter _postAndRelease:] (self=0x80d2624, _cmd=0xb7af94c8, notification=0x82e1f5c) at NSNotificationCenter.m:1223 #5 0xb784ff6a in -[NSNotificationCenter postNotification:] (self=0x80d2624, _cmd=0xb7f45320, notification=0x82e1f5c) at NSNotificationCenter.m:1252 #6 0xb7cf1c51 in -[NSMenu itemChanged:] (self=0x8136f7c, _cmd=0xb7f49778, anObject=0x82e0fb4) at NSMenu.m:846 #7 0xb7cff3dc in -[NSMenuItem setTarget:] (self=0x82e0fb4, _cmd=0xb7f49738, anObject=0x8136f7c) at NSMenuItem.m:464 #8 0xb7cfe49e in -[NSMenuItem setSubmenu:] (self=0x82e0fb4, _cmd=0xb7f45398, submenu=0x82371cc) at NSMenuItem.m:237 #9 0xb7cf246e in -[NSMenu setSubmenu:forItem:] (self=0x8136f7c, _cmd=0x804ec70, aMenu=0x82371cc, anItem=0x82e0fb4) at NSMenu.m:1005
#10 0x08048ca2 in main () at main.m:52


If I comment out these lines of code in the example app it runs without crashing:
  [mainMenu setSubmenu: menu forItem: menuItem];
  [app setMainMenu: mainMenu];

FWIW, since I run Arch, my gcc is version 4.6.3, which I guess counts as "recent".



reply via email to

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