bugGNUstep - Bugs: bug #6726, Segmentation fault from GSTest

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #6726: Segmentation fault from GSTest

Submitted by:  Fred Kiefer <FredKiefer>
Submitted on:  Sun 23 Nov 2003 11:16:46 PM UTC  
 
Category: Gui/AppKitSeverity: 1,5
Item Group: BugStatus: Fixed
Privacy: PublicAssigned to: Alexander Malmberg <alexm>
Open/Closed: Closed

Wed 26 Nov 2003 03:34:57 PM UTC, comment #2:

Fixed in cvs.

Alexander Malmberg <alexm>
Project MemberIn charge of this item.
Wed 26 Nov 2003 01:29:07 AM UTC, comment #1:

Errors like that (random crashes, or clearly bogus message/receiver combinations) are generally caused by memory corruption, or freeing memory that is still in use. Zombies are useful when debugging.

In this case, the keyboard input test is releasing (and thus deallocating) its window while it's still key and main. NSApp keeps (unretained) references to these around, but doesn't clear them when the window is deallocated. Thus, when it later tries to send messages to them, Bad Things happen.

Fixed locally. I'll commit it tomorrow, once I decide whether to stick the new private method in NSApplication.h or GSGuiPrivate.h...

Alexander Malmberg <alexm>
Project MemberIn charge of this item.
Sun 23 Nov 2003 11:16:46 PM UTC, original submission:

I sometimes get the the fllowing execption from GSTest.app:

/usr/src/gnustep/usr-apps/examples/gui/GSTest/GSTest.app/GSTest: Uncaught exception NSInvalidArgumentException, reason: NSConstantString(instance) does not recognize setEnabled:

It is hard to reproduce but did show up rather often when testing the caps lock change. That is start GSTest, open the check input panel, type a key, switch on caps lock, press quit.

The gdb back trace was:
...
#12 0x4036e72b in +[NSException raise:format:] ()
from /usr/GNUstep/System/Library/Libraries/libgnustep-base.so.1
#13 0x40391875 in -[NSObject doesNotRecognizeSelector:] ()
from /usr/GNUstep/System/Library/Libraries/libgnustep-base.so.1
#14 0x40391a13 in -[NSObject forwardInvocation:] ()
from /usr/GNUstep/System/Library/Libraries/libgnustep-base.so.1
#15 0x403ed7c7 in GSInvocationCallback ()
from /usr/GNUstep/System/Library/Libraries/libgnustep-base.so.1
#16 0x4041a9fd in __vacall_r ()
from /usr/GNUstep/System/Library/Libraries/libgnustep-base.so.1
#17 0x40498ee0 in ff_callback_map ()
from /usr/GNUstep/System/Library/Libraries/libgnustep-base.so.1
#18 0xbfffdb04 in ?? ()
#19 0x00000004 in ?? ()
#20 0xbfffdb3c in ?? ()

And test where done on a SuSE 9.0 Linux system with todays GNUstep CVS sources.

Once I also did get this exception, but was not able to reproduce it again:
Uncaught exception NSInvalidArgumentException, reason: GSCBufferString(instance) does not recognize resignKeyWindow

Fred Kiefer <FredKiefer>
Project Member

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 4 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Wed 26 Nov 2003 03:34:57 PM UTCalexmStatusNone=>Fixed
  Open/ClosedAnalyzed=>Closed
Wed 26 Nov 2003 01:29:06 AM UTCalexmAssigned toNone=>NA
  Open/ClosedOpen=>(Error - Not Found)

Back to the top


Powered by Savane 3.1-cleanup1