bugGNUstep - Bugs: bug #25520, Exception on start of some...

 
 

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

bug #25520: Exception on start of some applications...

Submitted by:  Gregory John Casamento <gcasa>
Submitted on:  Mon 09 Feb 2009 04:14:38 AM UTC  
 
Category: Base/FoundationSeverity: 5 - Blocker
Item Group: BugStatus: Fixed
Privacy: PublicAssigned to: None
Open/Closed: Closed

Mon 09 Feb 2009 08:16:42 AM UTC, comment #4:

I think about the only case where this bug would actually be visible is when sending a copyWithZone: or mutableCopyWithZone: message to a proxy (there aren't many method signatures that look like that in the API).

And it occurs to me that, because those methods take an NSZone pointer argument, they can't be used with objects in a different address space anyway ... so we should probably tell people not to call them unless they are sure they aren't talking to a proxy to a remote object.

Or possibly we should also change the NSDistantObject class to catch those two methods and convert them to -copy and -mutableCopy before sending them to the remote process?

Richard Frith-Macdonald <CaS>
Project Member
Mon 09 Feb 2009 07:50:38 AM UTC, comment #3:

Two things seemed strange ...
1. problem starting all applications ... I couldn't reproduce that and we'd used several apps with the NSImage modified code at FOSDEM.
2. the exception seemed to be reporting that two identical method signatures did not match.

After completely rebuilding my setup from scratch, and finding no problem running terminal, ink, thematic, laternamagica and vespucci, I had the idea of trying Gorm, and it did indeed crash there. To I was able to examine under debug and found that indeed the method signatures were identical, and the problem was actually a bug in the code of the comparison, nothing to do with the NSImge changes (except for the fact that they exposed the bug) ... and that was easy to fix.

Richard Frith-Macdonald <CaS>
Project Member
Mon 09 Feb 2009 05:19:41 AM UTC, comment #2:

Confirmed that this is also happening on 32 bit systems as well.

Gregory John Casamento <gcasa>
Project Administrator
Mon 09 Feb 2009 04:18:34 AM UTC, comment #1:

The problem seems to be coming from the call here to methodSignatureForSelector:

- (NSMethodSignature*) methodSignatureForSelector: (SEL)aSelector
{
if (_image != nil)
{
return [_image methodSignatureForSelector: aSelector];
}

Gregory John Casamento <gcasa>
Project Administrator
Mon 09 Feb 2009 04:14:38 AM UTC, original submission:

[NSImage-copyWithZone:] selector types (@24@0:8^{_NSZone=^?^?^?^?^?^?^?Q@^{_NSZone}}16) don't match method types (@24@0:8^{_NSZone=^?^?^?^?^?^?^?Q@^{_NSZone}}16)

I am getting this on a 64 bit debian etch system.

Gregory John Casamento <gcasa>
Project Administrator

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by CaS (Posted a comment)
  • -unavailable- added by gcasa (Submitted the item)
  •  

    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
    Mon 09 Feb 2009 07:50:38 AM UTCCaSCategoryApplication=>Base/Foundation
      StatusNone=>Fixed
      Open/ClosedOpen=>Closed
      SummaryException on start of all applications...=>Exception on start of some applications...

    Back to the top


    Powered by Savane 3.1-cleanup1