Archives / Search ›

Spent the best part of the night bug fixing on ICeCoffEE and F-Script Anywhere. I fixed the latter problem, but didn't get to finish the feature I'm planning on adding, which I'll finish and release after I get some sleep.

I'm seeing a very weird bug with a new release of a certain AppleScript Studio app and ICeCoffEE. The stack looks like this:

#5334 0x95364940 in -[ASKEventHandlerRegistry descriptionsForClassName:includingSuperClasses:] ()
#5335 0x95364940 in -[ASKEventHandlerRegistry descriptionsForClassName:includingSuperClasses:] ()
#5336 0x95364940 in -[ASKEventHandlerRegistry descriptionsForClassName:includingSuperClasses:] ()

I've tried lots of things to clear out any cached information in the registry. After many hours I realized it was more likely some quirk of posing that was causing the problem, and indeed this was it:

Breakpoint 4, 0x95364884 in -[ASKEventHandlerRegistry descriptionsForClassName:includingSuperClasses:] ()
(gdb) po $r5
(gdb) po objc_lookUpClass("NSTextView")
(gdb) po [objc_lookUpClass("NSTextView") superclass]
(gdb) po [[objc_lookUpClass("NSTextView") superclass] superclass]

Presto, instant infinite recursion. I may be able to fix this by patching the ASKEventHandlerRegistry, but I'm wondering what else posing can break by destroying the chain of superclasses in this manner. Why does it need to do so, anyway?

Nicholas RileySpring EA 2 is out, including Jaguar compatibility. Most of the weird glitches I found in EA 1 are fixed, and there's a bunch more sample objects and actions to play with, which should give you an idea of Spring's incredible potential. I can definitely imagine using it to intelligently organize my contacts and projects as I go through a day. It'd be useful to be able to drag files/folders onto a Spring canvas and link them along with people, places and things (even if there were no external .obj representation of a file, although I can think of some great uses there too). In Jaguar, it wouldn't be hard to add vCard support so you could drag people out of or into Address Book, too.

If everything works, you should be able to drag the picture of me at right into a Spring canvas and have a functional object. We had discussed several possible methods of adding Spring objects from browsers, but the drag-and-drop method was the Holy Grail and I'm really happy that the Spring folks were able to get it to work with existing Web browsers as nicely as it does. If you get tired of staring at my face, there are a few more drag-and-droppable people at the Spring ObjectGarden.

No time to write much, but would you be interested in a picture?

The stability of my desktop Mac has increased significantly since upgrading to Jaguar. It's been up for almost 7 days as I write this, which would have been a veritable record in 10.1.x. While not a crasher, there's one odd problem that's occurred twice so far. It happens like this:

  • coreservicesd dies. From the crash logs, the invariant part of the stack is LSPlugin_server / _XRegister / _LS_server_Register / _LSReceiveRegistration / _LSReceiveBundleRegistration. This makes sense that the crash is coming from LaunchServices, as at least this time, it crashed while I was copying an application.
  • OS X does not restart coreservicesd, so weird stuff starts happening, such as icons disappearing.
  • I attempt to manually restart coreservicesd (bad idea?)
  • At some point a few minutes later, almost every open application quits unexpectedly.
  • Dragging stops working, even intra-application. Cocoa apps print “CoreDragCreate error: -900”, Carbon apps just don't work at all. pbs is working fine as inter-application copy and paste are unaffected.
  • Neither logging out and back in, killing and restarting coreservicesd and lsregister, or anything else I can discover short of restarting fixes the problem.

Has anyone else seen this? I wish I could replicate it so I could file a bug report.

Aiee, it's nice to see people trying out OS X, but this article by Moshe Bar has so many blatant errors in it I don't know where to start. You'd think a programmer would know better than to review something they'd obviously hardly used. Of course, there's no place to comment on the page.

Older Posts ›