Re: IB 3.0 plugin & error "NSMapRemove(): attempt to remove notAKeyMarker" when saving NIB
Re: IB 3.0 plugin & error "NSMapRemove(): attempt to remove notAKeyMarker" when saving NIB
- Subject: Re: IB 3.0 plugin & error "NSMapRemove(): attempt to remove notAKeyMarker" when saving NIB
- From: Jens Miltner <email@hidden>
- Date: Wed, 6 Feb 2008 10:46:19 +0100
Am 22.11.2007 um 11:27 schrieb Jonathan Hess:
Hey Jens -
I would guess that that is where an exception is being re-raised. Do
you have a break point on just -[NSException raise]? Or do you have
a break point on objc_exception_throw? objc_exception_throw is the
obj-c exception throwing funnel on Leopard.
If you're able to get a backtrace from the real exception source,
perhaps I can give you better information about the cause of the
exception.
Sorry for the delay - somehow your message got burried inside the
depths of my INBOX :(
Anyway, here's the backtrace from the first break at
objc_exception_throw:
#0 0x93d63077 in objc_exception_throw ()
#1 0x9137904b in +[NSException raise:format:arguments:] ()
#2 0x9137908a in +[NSException raise:format:] ()
#3 0x91ed0fae in -[NSClassicMapTable removeObjectForKey:] ()
#4 0x91ed0f02 in NSMapRemove ()
#5 0x019e501c in IBCountConnectionsForObject ()
#6 0x019e521c in IBCountConnectionsForObject ()
#7 0x019e5512 in IBCountConnectionsForObject ()
#8 0x019e58da in IBCountConnectionsForObject ()
#9 0x019e703f in IBCountConnectionsForObject ()
#10 0x019c794d in dyld_stub_objc_msgSend_stret ()
#11 0x019c8182 in dyld_stub_objc_msgSend_stret ()
#12 0x931bb304 in -[NSDocument writeToURL:ofType:error:] ()
#13 0x931bb125 in -[NSDocument
writeToURL:ofType:forSaveOperation:originalContentsURL:error:] ()
#14 0x0029cf3b in -[IBDocument
writeToURL:ofType:forSaveOperation:originalContentsURL:error:] ()
#15 0x931ba635 in -[NSDocument
_writeSafelyToURL:ofType:forSaveOperation:error:] ()
#16 0x931ba4f8 in -[NSDocument
writeSafelyToURL:ofType:forSaveOperation:error:] ()
#17 0x931b9f87 in -[NSDocument
saveToURL:ofType:forSaveOperation:error:] ()
#18 0x931b9c10 in -[NSDocument
_saveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo
:] ()
#19 0x931b9bc1 in -[NSDocument
saveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo
:] ()
#20 0x0029cd31 in -[IBDocument
saveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo
:] ()
#21 0x931b97f6 in -[NSDocument
_savePanelWasPresented:withResult:inContext:] ()
#22 0x931b950a in -[NSSavePanel(NSSavePanelRuntime)
_didEndSheet:returnCode:contextInfo:] ()
#23 0x92fc1b8c in -[NSApplication endSheet:returnCode:] ()
#24 0x9310bb39 in -[NSSavePanel(NSSavePanelRuntime) dismissWindow:] ()
#25 0x9310b9f5 in -[NSSavePanel(NSSavePanelRuntime) ok:] ()
#26 0x92f7ff94 in -[NSApplication sendAction:to:from:] ()
#27 0x92f7fed4 in -[NSControl sendAction:to:] ()
#28 0x92f7fd5a in -[NSCell _sendActionFrom:] ()
#29 0x93059cc3 in -[NSButtonCell performClick:] ()
#30 0x9302d1a9 in -[NSButton performKeyEquivalent:] ()
#31 0x9302d018 in -[NSControl _performKeyEquivalent:conditionally:] ()
#32 0x9302cee4 in -[NSView performKeyEquivalent:] ()
#33 0x9302cee4 in -[NSView performKeyEquivalent:] ()
#34 0x9302cee4 in -[NSView performKeyEquivalent:] ()
#35 0x9302cc4e in -[NSWindow performKeyEquivalent:] ()
#36 0x931b1968 in -[NSSavePanel performKeyEquivalent:] ()
#37 0x9301ceeb in -[NSTextField textDidEndEditing:] ()
#38 0x91eb067a in _nsnote_callback ()
#39 0x912e0a4a in __CFXNotificationPost ()
#40 0x912e0d23 in _CFXNotificationPostNotification ()
#41 0x91eada70 in -[NSNotificationCenter
postNotificationName:object:userInfo:] ()
#42 0x9301c002 in -[NSTextView(NSPrivate) _giveUpFirstResponder:] ()
#43 0x9301bdcd in -[NSTextView(NSKeyBindingCommands) insertNewline:] ()
#44 0x9301bb6f in -[NSResponder doCommandBySelector:] ()
#45 0x9301b9f8 in -[NSTextView doCommandBySelector:] ()
#46 0x9300eb55 in -
[NSKeyBindingManager(NSKeyBindingManager_MultiClients)
interpretEventAsCommand:forClient:] ()
#47 0x9300d762 in -[NSTSMInputContext interpretKeyEvents:] ()
#48 0x9300d27c in -[NSView interpretKeyEvents:] ()
#49 0x931f3328 in -[_NSSavePanelTextView keyDown:] ()
#50 0x92f7d8e2 in -[NSWindow sendEvent:] ()
#51 0x92f49a2c in -[NSApplication sendEvent:] ()
#52 0x00004667 in ?? ()
#53 0x92ea7705 in -[NSApplication run] ()
#54 0x92e749ba in NSApplicationMain ()
#55 0x00006cae in ?? ()
Does this ring any bells? It seems to point to the connections being
somehow 'invalid', but I have no idea why.
I can reproduce this with two different IB plugins for different
custom view/control classes I have written. In both cases, I just
followed the documentation for creating new IB plugins, but
apparently, something in those classes seems to be not 100% compatible
with IB 3.0?
It even happens when I just create a new window NIB, drag my custom
control into the window and try to save as NIB 2.0.
If it's not something in my code, I'll happily file a bug report, but
I would like to make sure it's not something in my code that causes
this problem first...
-jens
Jon Hess
On Nov 20, 2007, at 3:33 AM, Jens Miltner wrote:
Hi,
I have created an IB 3.0 plugin that handles 3 of our custom classes.
For one of them, whenever I try to save a NIB in 2.x format, saving
fails with the following error written to the console:
2007-11-20 12:17:55.955 Interface Builder[65811:10b] ***
NSMapRemove(): attempt to remove notAKeyMarker
For the other two custom classes, saving works just fine. All of
the custom classes have an inspector palette, and I can't see
anything I'd be doing wrong.
In fact, for the class that fails to save to 2.x format, I can save
it to both 3.x NIB and XIB format, but just not to 2.x NIB format
(which is unfortunate, since we need to share this with Tiger
developers :( )
Also, when saving fails, my -[MyClass encodeWithCoder:] method is
not even called, the error appears to happen earlier.
The backtrace at the time the exception is raised is also not very
helpful to me - I have no idea which operation would trigger the
exception:
#0 0x917ecd86 in -[NSException raise] ()
#1 0x9441a5ab in -[NSCarbonMenuImpl
performActionWithHighlightingForItemAtIndex:] ()
#2 0x9441a1f2 in -[NSMenu performKeyEquivalent:] ()
#3 0x94418a99 in -[NSApplication _handleKeyEquivalent:] ()
#4 0x94335e4e in -[NSApplication sendEvent:] ()
#5 0x00004667 in ?? ()
#6 0x94293705 in -[NSApplication run] ()
#7 0x942609ba in NSApplicationMain ()
#8 0x00006cae in ?? ()
My code just doesn't seem to be involved with the save operation
itself, however, saving _only_ fails if an instance of this
specific custom view class is contained in the NIB...
I already tried removing all bindings from my inspector palette, in
case this causes the problem, but to no avail...
Since I have no further ideas what to look for - did anybody else
experience a similar problem and if so, what was the solution?
Any hints desperately welcome...
Thanks,
</jum>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden