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

Group
 
 

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

Submitter:  Quentin Mathé <qmathe>
Submitted:  Mon 01 Dec 2008 06:02:45 PM UTC
   
 
Category:  Base/Foundation Severity:  3 - Normal
Item Group:  Bug Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

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

Reported as fixed.

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

Works for me now. Thanks a lot.

Quentin Mathé <qmathe>
Group 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>
Group 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>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2008-12-02 CaS Open/ClosedIn Test Closed
    2008-12-01 CaS StatusNone Fixed
        Open/ClosedOpen In Test

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code