Smart Crash Reporter

07.29.08 15 Comments

I’m glad the new version of Smart Crash Reporter installed for more people, the reports are pouring in this morning. The good news is that the majority are clustered around the same few issues, so it definitely helps us focus our attention.

To the people who took the time to write in the crash report a quick description of what they were doing at the time of the crash, grazie mille!! That really helps. And if you said “no” to the installer but changed your mind, you can install it from here.


Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedIn
Share this


  • Just wanted to say that it’s great that you guys maintain good communication and transparency of your development process through this blog.

    Plex, even in this early state, is good enough that I’ve retired my long-used xbox. Now that I can play HD content through my Macbook with Plex, the aging xbox hardware can’t compete.

    Looking forward to future releases.
    Keep up the great work!

  • I opted to install it, but only got the normal apple error reporting request. Is that the report I should be filling out? I’ll try it again.

  • @rukiddin: It looks like the regular Apple Reporting dialog (and it is, in fact), but there should be an extra button at the button “Send to Plex and Apple” in addition to the “Send to Apple” button.

  • I installed, but I only have “Send to Apple” and “Send to Apple and Insanity” ??? not “To Plex” ??? What do I have to do to send to Plex ??

    BTW, my crash was consistently when, for videos at least, clicking to change the sort criteria (episode, names, etc.) in an empty TV show folder.

  • Unsanity* sorry :)

  • This is a great tool! I can’t seem to locate the source in your git tree and is down. Could you point me to the source?

  • Hi Elan, thanks for the credit.

    If I’m not mistaken, Smart Crash Reporter is neither GPL nor open source? If that’s the case, you can’t link any GPL code to it (SmartCrashReportsAPI.o and SmartCrashReportsInstall.o). There are some good open source alternative like Breakpad:

    and Socorro:

    However, if you still want to continue using Smart Crash Reporter, it could be linked against another process that in turn spawns Plex or something.

  • nm, it was my dns. but now i see it’s not open source :(

  • @d4rk: There’s no linking to proprietary binaries to use Smart Crash Reporter. The only change to the application is to include two properties in the application’s Info.plist.

  • Sure it is linked to proprietary binaries, and it’s obvious by looking at the project file and easily verified by doing an ‘nm Plex | grep Unsanity’ and ‘nm Plex | grep Crash’. Both list a bunch of symbols to which I couldn’t find the source. Are they available elsewhere?

    # nm Plex | grep Crash
    00051f23 T _InstallCrashReporter
    00abb6a0 D _gSmartCrashReportsArchive
    00ab65c0 D _gSmartCrashReportsInstallUI

    # nm Plex | grep Unsanity
    00818a4d T _UnsanitySCR_CanInstall
    00818ab4 T _UnsanitySCR_Install
    00818599 T _UnsanitySCR_InstallableVersion
    00818759 T _UnsanitySCR_InstalledVersion
    00817d09 T _UnsanitySCR_IsMatchSpecifierRegistered
    00817ebb T _UnsanitySCR_RegisterMatchSpecifier
    00817e22 T _UnsanitySCR_UnregisterMatchSpecifier
    00817892 T __UnsanitySCR_ArrayCompare
    008179ee t __UnsanitySCR_CopyRulesArray
    008185a3 t __UnsanitySCR_CreateURLToSCRBundle
    00817752 t __UnsanitySCR_FindInArray
    008175fb t __UnsanitySCR_IsMatchSpecifierValid
    008186ef t __UnsanitySCR_PathToSCRBundle
    008180ef T __UnsanitySCR_RecursiveIsSecureInputManager
    00819d72 T __UnsanitySCR_RestoreArchive
    00817668 t __UnsanitySCR_StoreRulesArray
    0081896a t __UnsanitySCR_WaitOnPipe

  • “Sure it is linked to proprietary binaries”

    “Both list a bunch of symbols to which I couldn’t find the source.”

    You’re assuming those symbols weren’t injected by the OS at runtime, which is actually pretty common in Obj-C land. Like I said, the only change to the application is adding a few properties to a config file. The documentation of this is available here:

    I’m not affiliated with this project, and I’m not even really a user of it (I’ve launched it and played with it a few times, never actually watched anything in it), so I say this without prejudice: It seems to me you guys need to call off the OSS witch hunt, or at least do enough research to deterministically back up your claims before jumping on this project’s case. This isn’t the first time I’ve happened on one of these threads where there have been overreaching accusations of breaking the XBMC license.

  • “You’re assuming those symbols weren’t injected by the OS at runtime, which is actually pretty common in Obj-C land.”

    I’m not assuming anything, and you wouldn’t have to either if you read the man page of ‘nm’, they’re not objc messages. I’ll ignore the rest of your out of context sympathy inspiring post.

  • You’ll ignore the fact that the project files don’t link against closed source, too, apparently.

  • No I didn’t and yes it does. Anyway, my post was an FYI to the Plex _dev_ team not to their clueless $2 PR troll.

  • Show me the source in this project that makes any mention of this Unsanity stuff. Because if “stuff I can find with nm” counts, one could *never* release any GPL code in a Cocoa app, since Cocoa is closed-source. The GPL leaves what constitutes “linking” vague for a reason.

    Your cheap insults don’t help your argument, either. Learn to behave.