frequent crash after updating to revision 166

Issue #134 open
Dave Reed
created an issue

on my 10.6.2 system

hg --version Mercurial Distributed SCM (version 1.4+20091117)

after updating to revision 166, I frequently get this crash; it seems to think my repository is changing although I don't think it is

line 178 of HgRepository.m [_changedPaths addObject: path];

and path is nil resulting in this:

Uncaught exception: NSInvalidArgumentException *** -[NSCFSet addObject:]: attempt to insert nil

_NSSetRaiseInsertNilException (in Foundation) + 75
-[NSCFSet addObject:] (in Foundation) + 124
-[HgRepository _dirChanged:] (in Murky) (HgRepository.m:179)
-[MYDirectoryWatcher _notifyEvents:paths:flags:eventIDs:] (in Murky) (MYDirectoryWatcher.m:147)
implementation_callback_rpc (in CarbonCore) + 1685
_Xcallback_rpc (in CarbonCore) + 360
FSEventsD2F_server (in CarbonCore) + 74
FSEventsClientProcessMessageCallback (in CarbonCore) + 30
__CFMachPortPerform (in CoreFoundation) + 338
__CFRunLoopRun (in CoreFoundation) + 6523
CFRunLoopRunSpecific (in CoreFoundation) + 452
CFRunLoopRunInMode (in CoreFoundation) + 97

Comments (4)

  1. Jens Alfke repo owner
    • changed status to open

    This looks like an old bug (#28) that was fixed in MYDirectoryWatcher, which is in MYUtilities — have you updated MYUtilities lately? (The fix was checked in last May, though, so it doesn't seem likely that you wouldn't have it yet.)

    Try setting the user default LogHgRepository to YES (or running with command-line args -LogHgRepository YES) and see what gets logged right before the exception: there should be a message describing the directory-change event and its path.

  2. Dave Reed reporter

    (Reply via

    I hadn't even started using Mercurial (and MYUtilities and MYNetwork) until last fall so I've got a recent version of MYUtilities. At the same time I updated to Murky revision 166, I also brought in the recent changes from MYUtilities, but that was just revisions 36-39 or 37-39.

    After the crashes, I moved back Murky revision 159 and it hasn't crashed yet (it would crash with in a few seconds of moving through the revision list in revision 166).

    After getting your response, I went back and compiled revision 166 again and I think this is what you are asking me to do:

    build/Debug/ $ ./Murky -LogHgRepository YES 20:55:53.658| WARNING* : MYTask _waitTillFinishedInMode: no runloop sources left for MYTask mode; waiting... 20:55:54.658| WARNING* : MYTask _waitTillFinishedInMode: Task exited without notifying! 2010-03-19 20:56:14.559 Murky[12488:903] * -[NSCFSet addObject:]: attempt to insert nil

    I continued to scroll through the revision list and and as you can see, the issue occurred about 18 seconds after the last message. If there's something else you want me to try, I'll be happy to.


  3. Log in to comment