Occasionally hitting exception in _replaceNode

18 views
Skip to first unread message

Daniel Jalkut

unread,
Mar 16, 2012, 10:46:53 AM3/16/12
to imedi...@googlegroups.com

In my recent focus on eliminating some nagging bugs in iMedia, I've been using it a lot more than I usually do. Over the past couple days I've run into the exception here a few times:

https://github.com/karelia/iMedia/blob/master/IMBLibraryController.m#L620

I can't predict when it will happen and it doesn't happen necessarily under very extreme circumstances. It just happened once after I compiled and ran the test app, on the initial scan.

I just thought I would mention it in case anybody else has been seeing it and has ideas about what might lead to this condition.

Daniel

Daniel Jalkut

unread,
Mar 16, 2012, 11:04:24 AM3/16/12
to imedi...@googlegroups.com
So, the good news is I think this IS a somewhat unusual circumstance that leads to this, but like my other testing recently, it may reveal a problem that would occasionally affect customers in ordinary circumstances.

To reproduce the bug, I set up -[IMBLibraryController reload] to automatically call itself again after 5 seconds. So for testing purposes, it's just constantly reloading the iMedia browser. I set a breakpoint at the exception point and after about 15 minutes of this I finally hit it!

It seems to be an issue with the identifier of some nodes not being canonical enough. Witness:

(lldb) po inOldNode
(IMBNode *) $1 = 0x0000000110ea0480 IMBNode (log)
identifier = IMBImageFolderParser://private/var/log
attributes = (null)
(lldb) po inNewNode
(IMBNode *) $2 = 0x000000010aadcba0 IMBNode (log)
identifier = IMBImageFolderParser://var/log
attributes = (null)
(lldb)

So iMedia's conception of the full path to the node in question has changed from /var/log to /private/var/log.

I don't know yet why it's so consistent most of the time and only "changes" on rare occasion. Will keep posted and if I find a fix, submit another pull request.

Daniel

John Nairn

unread,
Mar 16, 2012, 12:01:46 PM3/16/12
to imedi...@googlegroups.com
When I switched my app to 64 bit, I upgraded to iMeda 2.x (although I cannot tell which version exactly). The folder I downloaded is called "karelia-iMedia-b81de3c"

I just released a new version of my app and found it will not launch in Leopard (10.5.8 at least, to be specific). The crash is when dyld trys to load iMedia with name _NSConcreteTask (or something like that, I am not on a Leopard machiie to test now).

I checked my download and both iMedia and ObjectiveFlickr are marked as 10.5 deploymet with Base SDK of 10.7. Did I do something wrong to have it not work in 10.5? I am not used to framework development. I first tried to "Build for Archiving" and it fails with a pch error. I was able to build both by "Build for Running" which seemed to create both a debug and a release version in the derived data. Maybe I built the framework the wrong way?

John
------------
John Nairn
http://www.geditcom.com
Genealogy Software for the Mac

Mike Abdullah

unread,
Mar 18, 2012, 8:41:36 AM3/18/12
to imedi...@googlegroups.com

Hi John, we switched over to requiring 10.6 recently. Full details are here: https://github.com/karelia/iMedia/blob/master/README.mdown

Reply all
Reply to author
Forward
0 new messages