bugGNUstep - Bugs: bug #24978, Selector types conflict with a...

 
 

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

bug #24978: Selector types conflict with a -setName: method that returns void

Submitted by:  Quentin Mathé <qmathe>
Submitted on:  Mon 01 Dec 2008 06:02:45 PM UTC  
 
Category: Base/FoundationSeverity: 3 - Normal
Item Group: BugStatus: Fixed
Privacy: PublicAssigned to: None
Open/Closed: Closed

Tue 02 Dec 2008 07:14:23 AM UTC, comment #3:

Reported as fixed.

Richard Frith-Macdonald <CaS>
Project Member
Mon 01 Dec 2008 09:05:20 PM UTC, comment #2:

Works for me now. Thanks a lot.

Quentin Mathé <qmathe>
Project Member
Mon 01 Dec 2008 06:38:58 PM UTC, comment #1:

Please give the current svn a try and let me know if it fixes it ... I think the problem is that the KVC code was getting a random typed selector from the runtime to look up the setter method, when it should really have been using an untyped one. Hopefully that's fixed.

Richard Frith-Macdonald <CaS>
Project Member
Mon 01 Dec 2008 06:02:45 PM UTC, original submission:

GNUstep base, gui, back r27168 and gnustep-make a bit older
Ubuntu Gutsy Gibbon, GCC 4.1.3, libffi 4.2.1

When running an application, I get an assertion that looks similar to the distributed notification bug reported as #24939

<NSException: 0x848f028> NAME:NSInternalInconsistencyException REASON:[ETLayoutItem-setName:] selector types (C12@0:4@8) don't match method types (v12@0:4@8)

The same code runs fine on Mac OS X and also ran on GNUstep the last time I check it (around one month ago). It looks like there is a -setName; method somewhere that returns an unsigned char... I have checked that -setName is: always declared as returning void in my code.

Here is the backtrace:
#0 -[NSException raise] (self=0x848f028, _cmd=0xb7a8e1c0) at NSException.m:831
#1 0xb784e2d7 in +[NSException raise:format:arguments:] (self=0xb7a8dfa0,
_cmd=0xb7a8e1a8, name=0xb7a8dd24, format=0xb7aa1a34,
argList=0xbfe24c30 "\220�H\b-") at NSException.m:781
#2 0xb784e20f in +[NSException raise:format:] (self=0xb7a8dfa0,
_cmd=0xb7aa2410, name=0xb7a8dd24, format=0xb7aa1a34) at NSException.m:767
#3 0xb78992f3 in -[NSObject methodSignatureForSelector:] (self=0x848de28,
_cmd=0xb7adf4a8, aSelector=0xb7e95f18) at NSObject.m:1670
#4 0xb795470e in GSObjCSetVal (self=0x848de28, key=0xbfe24e80 "name",
val=0x804aa98, sel=0xb7e95f18, type=0x0, size=4, offset=134523628)
at GSObjCRuntime.m:1879
#5 0xb7879335 in SetValueForKey (self=0x848de28, anObject=0x804aa98,
key=0xbfe24e80 "name", size=4) at NSKeyValueCoding.m:154
#6 0xb787a025 in -[NSObject(KeyValueCoding) setValue:forKey:] (
self=0x848de28, _cmd=0xb7f52488, anObject=0x804aa98, aKey=0x804aaec)
at NSKeyValueCoding.m:352
#7 0xb7efd3c8 in -[ETLayoutItem setValue:forProperty:] (self=0x848de28,
_cmd=0x804b040, value=0x804aa98, key=0x804aaec) at ETLayoutItem.m:839
#8 0x08049065 in -[TableController awakeFromNib] (self=0x843ee50,
_cmd=0xb7ea89b0) at TableController.m:88
#9 0xb7d9e58c in -[GSNibContainer awakeWithContext:] (self=0x832ba18,
_cmd=0xb7eb7020, context=0x8306348) at GSNibTemplates.m:261
#10 0xb7dbe8ab in -[GSGormLoader loadModelData:externalNameTable:withZone:] (
self=0x8192998, _cmd=0xb7eb7060, data=0x8328958, context=0x8306348,
zone=0xb7acc280) at GSGormLoader.m:80
#11 0xb7dbeb8b in -[GSGormLoader loadModelFile:externalNameTable:withZone:] (
self=0x8192998, _cmd=0xb7df91a8, fileName=0x832ac48, context=0x8306348,
zone=0xb7acc280) at GSGormLoader.m:134
#12 0xb7bd57e0 in +[NSBundle(NSBundleAdditions) loadNibFile:externalNameTable:withZone:] (self=0xb7a7a960, _cmd=0xb7df9228, fileName=0x832ac48,
context=0x8306348, zone=0xb7acc280) at NSBundleAdditions.m:243
#13 0xb7bd5ea0 in -[NSBundle(NSBundleAdditions) loadNibFile:externalNameTable:withZone:] (self=0x818ab10, _cmd=0xb7df91d0, fileName=0x818c250,
context=0x8306348, zone=0xb7acc280) at NSBundleAdditions.m:344
#14 0xb7bd59bb in +[NSBundle(NSBundleAdditions) loadNibNamed:owner:] (
self=0xb7a7a960, _cmd=0xb7debab8, aNibName=0x818c250, owner=0x81929d8)
at NSBundleAdditions.m:282
#15 0xb7ba188c in -[NSApplication finishLaunching] (self=0x81929d8,
_cmd=0xb7f48d38) at NSApplication.m:952
#16 0xb7edc5d4 in -[ETApplication finishLaunching] (self=0x81929d8,
_cmd=0xb7debc28) at ETApplication.m:70
#17 0xb7ba35eb in -[NSApplication run] (self=0x81929d8, _cmd=0xb7de1300)
at NSApplication.m:1382
#18 0xb7b852e1 in NSApplicationMain (argc=1, argv=0xbfe25414) at Functions.m:74
#19 0x080498a6 in main (argc=Cannot access memory at address 0x19

The line 88 that triggers the exception is the following one from TableController:
[item setValue: @"Red" forProperty: @"name"];

-[ETLayoutItem setValue:forProperty:] calls -[ETlayoutItem setName:] through KVC.

Quentin.

Quentin Mathé <qmathe>
Project Member

 

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 qmathe (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 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 02 Dec 2008 07:14:23 AM UTCCaSOpen/ClosedIn Test=>Closed
    Mon 01 Dec 2008 06:38:58 PM UTCCaSStatusNone=>Fixed
      Open/ClosedOpen=>In Test

    Back to the top


    Powered by Savane 3.1-cleanup1