≡

wincent.dev

  • Products
  • Blog
  • Wiki
  • Issues
You are viewing an historical archive of past issues. Please report new issues to the appropriate project issue tracker on GitHub.
Home » Issues » Bug #123

Bug #123: Growl framework causes Synergy to crash when running on Mac OS X 10.2

Kind bug
Product Synergy
When Created 2005-03-05T00:56:55Z, updated 2005-03-07T20:16:23Z
Status closed
Reporter Jeff Phillips
Tags no tags

Description

Synergy 1.7 does not successfully Launch on OS.X 10.2. It also will not start from system preferences.

Here is the crash log:

Date/Time: 2005-03-04 09:18:08 -0500 OS Version: 10.2.8 (Build 6R73)

Command: Synergy PID: 4212

Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000000

Thread 0 Crashed:

#0   0x90249c68 in _Z9CleanPathPKcPc
#1   0x9024b2ac in _Z9canonpathPKcPcm
#2   0x90232254 in _Z17PathGetObjectInfoPKcmPP10VolumeInfoPmS4_PcS4_Ph
#3   0x9023483c in _Z24FSPathMakeRefWithOptionsPKhmP5FSRefPh
#4   0xc000202c in +[GrowlApplicationBridge launchGrowlIfInstalled]
#5   0xc0001bb8 in +[GrowlApplicationBridge setGrowlDelegate:]
#6   0x0000de20 in 0xde20
#7   0x97e2d248 in -[NSSet makeObjectsPerformSelector:]
#8   0x930adda4 in -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:]
#9   0x93124dc0 in old_loadNib
#10  0x930eab1c in +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:]
#11  0x9314a228 in +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:]
#12  0x93149fe8 in +[NSBundle(NSNibLoading) loadNibNamed:owner:]
#13  0x93160570 in NSApplicationMain
#14  0x00009638 in 0x9638
#15  0x8fe19154 in _dyld_start

PPC Thread State:

 srr0: 0x90249c68 srr1: 0x0200f030                vrsave: 0x00000000
  xer: 0x00000000   lr: 0x90249c58  ctr: 0x90000e20   mq: 0x00000000
   r0: 0x9024b2ac   r1: 0xbfffcfa0   r2: 0x24000280   r3: 0x00000000
   r4: 0xbfffd040   r5: 0x00000400   r6: 0x00000334   r7: 0x00000000
   r8: 0x00000000   r9: 0x00000000  r10: 0x00000000  r11: 0xa00046fc
  r12: 0x90000e20  r13: 0x00000000  r14: 0x00000000  r15: 0x00000000
  r16: 0x000bb180  r17: 0xa309a7c4  r18: 0xbfffef28  r19: 0xbfffef24
  r20: 0xbfffef20  r21: 0xbfffef2c  r22: 0xbfffec10  r23: 0xbfffec20
  r24: 0x00135d60  r25: 0xc00054d8  r26: 0x00000000  r27: 0xbfffd040
  r28: 0x00000000  r29: 0x00000000  r30: 0x00000000  r31: 0x90249c58
  • *********

Date/Time: 2005-03-04 09:18:43 -0500 OS Version: 10.2.8 (Build 6R73)

Command: Synergy PID: 4218

Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000000

Thread 0 Crashed:

#0   0x90249c68 in _Z9CleanPathPKcPc
#1   0x9024b2ac in _Z9canonpathPKcPcm
#2   0x90232254 in _Z17PathGetObjectInfoPKcmPP10VolumeInfoPmS4_PcS4_Ph
#3   0x9023483c in _Z24FSPathMakeRefWithOptionsPKhmP5FSRefPh
#4   0xc000202c in +[GrowlApplicationBridge launchGrowlIfInstalled]
#5   0xc0001bb8 in +[GrowlApplicationBridge setGrowlDelegate:]
#6   0x0000de20 in 0xde20
#7   0x97e2d248 in -[NSSet makeObjectsPerformSelector:]
#8   0x930adda4 in -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:]
#9   0x93124dc0 in old_loadNib
#10  0x930eab1c in +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:]
#11  0x9314a228 in +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:]
#12  0x93149fe8 in +[NSBundle(NSNibLoading) loadNibNamed:owner:]
#13  0x93160570 in NSApplicationMain
#14  0x00009638 in 0x9638
#15  0x8fe19154 in _dyld_start

PPC Thread State:

 srr0: 0x90249c68 srr1: 0x0200f030                vrsave: 0x00000000
  xer: 0x00000000   lr: 0x90249c58  ctr: 0x90000e20   mq: 0x00000000
   r0: 0x9024b2ac   r1: 0xbfffd020   r2: 0x24000280   r3: 0x00000000
   r4: 0xbfffd0c0   r5: 0x00000400   r6: 0x00000334   r7: 0x00000000
   r8: 0x00000000   r9: 0x00000000  r10: 0x00000000  r11: 0xa00046fc
  r12: 0x90000e20  r13: 0x00000000  r14: 0x00000000  r15: 0x00000000
  r16: 0x000bb180  r17: 0xa309a7c4  r18: 0xbfffefa8  r19: 0xbfffefa4
  r20: 0xbfffefa0  r21: 0xbfffefac  r22: 0xbfffec90  r23: 0xbfffeca0
  r24: 0x00135d60  r25: 0xc00054d8  r26: 0x00000000  r27: 0xbfffd0c0
  r28: 0x00000000  r29: 0x00000000  r30: 0x00000000  r31: 0x90249c58

Comments

  1. Greg Hurrell 2005-03-05T04:50:41Z

    Thanks for the report. I've received a couple of other similar reports from Mac OS X 10.2 users since releasing Synergy 1.7, and the crash logs look exactly the same. The Growl framework is crashing, which in turn makes *me* want to growl.

    Perhaps I didn't read the Growl documentation carefully enough, or perhaps the conflict isn't mentioned. I am going to investigate this further and put out a 1.7.1 release as soon as I can to fix the problem. Monday at the latest.

    In the meantime, if you want to go back to version 1.6.1, it is still on the mirrors.

  2. Greg Hurrell 2005-03-05T06:20:36Z

    MD5 checksum: f5e9530e8e19d86d463adf73e89635db Filesize: 284 KB

    This is not the full Synergy disk image with installer, preference pane, etc. This is just the Synergy application itself. Expand the archive, double-click it, and see if it runs. If it crashes, I'd be interested to see if the crash log is any different. I'd also like to know if it works for people with Growl installed, and for people without Growl installed. I don't have a machine with 10.2 so I can't test this one. If it works, then I'll package together a 1.7.1 release and get it out shortly. If not, back to the old drawing board.

    So what's different about this build? The following might be a little confusing, so bear in mind that there are two parts to Growl: the framework (which is embedded inside Synergy and which is causing the crash), and the application (installed separately, or not installed at all). The Growl website says that version 0.5 is the last version to support Jaguar, and that 0.6 and above are Panther only. I obviously misinterpreted that, thinking that it only referred to the application (the thing which displays the notifications), and not to the framework, but evidently that's not the case...

    I downloaded the Growl 0.6.1 source and I can't see anything in the source code for the Growl.framework which can't run on 10.2. Admittedly, I haven't done an exhaustive audit of the code, so I can't be sure. Only one way to find out, I guess. The documentation is poor, and I there are no references in the code to "Jaguar", "Panther", or "10.2". There are references to 10.3 in a few comments, but I can't see any 10.3-only API in the framework.

    So I've rebuilt the framework using 10.2 as the deployment target. For some reason the Growl folk built their framework with 10.3 as the deployment target for the entire project, even though I suspect that only the Growl application itself has 10.3-only features and that the framework should build and run just fine. If this turns out to be true, then they should really be building the framework with 10.2 as the deployment target so that app developers like me can distribute our apps (which run on 10.2). I wish they hadn't dropped 10.2 support so soon, as there is still a sizeable number of people using it...

    The Growl downloads page says that 0.5 is the last version of the application to support Jaguar, but there is no disclaimer for the framework (0.6) download, and on the Jaguar page there is no framework download... So I am wondering whether I need to get a hold of the 0.5 source and build the framework, or if just building the 0.6.1 framework source with 10.2 as the deployment target will be enough... and if it is enough, whether it will play nicely for 10.2 users that have Growl 0.5 installed (the last version that runs on Jaguar), and those that don't have Growl installed at all... Unfortunately I can't see anything in the docs or the source code that indicates what API changes were made between 0.5 and 0.6/0.6.1, and I know even less about what the under-the-hood changes are because the changelog doesn't say a heck of a lot, but I will keep looking. I guess we'll soon find out the answers to these questions...

    I've tried to post on the Growl forums to get some feedback about this, but I am still waiting for my "registration" to be approved... Darn confirmation emails...

    Thanks for helping out with testing this and any input any of you can provide.

  3. Greg Hurrell 2005-03-05T13:06:42Z

    Ok, here's one last build to try. A couple of 10.2 users have informed me that the previous build crashed with exactly the same message.

    MD5 checksum: e350610b558f7fafb55dc22d9d11babd

    If this doesn't work, then I am going to remove Growl support on systems running 10.2. Please let me know if this build works or not... Once again, it's not a full disk image with installer, preference pane etc; this is just the Synergy application itself. Double-click it to run...

  4. Greg Hurrell 2005-03-05T13:12:59Z

    Correction: the MD5 checksum for the build I just posted is actually 098db4b3c315627612305854904a2c12.

  5. Jeff Phillips 2005-03-05T17:00:08Z

    The second app did not seem to start. Here is what my crash log says:

    Date/Time: 2005-03-05 01:24:15 -0500 OS Version: 10.2.8 (Build 6R73)

    Command: Synergy PID: 4562

    Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000000

    Thread 0 Crashed:

    #0   0x90249c68 in _Z9CleanPathPKcPc
    #1   0x9024b2ac in _Z9canonpathPKcPcm
    #2   0x90232254 in _Z17PathGetObjectInfoPKcmPP10VolumeInfoPmS4_PcS4_Ph
    #3   0x9023483c in _Z24FSPathMakeRefWithOptionsPKhmP5FSRefPh
    #4   0xc0002020 in +[GrowlApplicationBridge launchGrowlIfInstalled]
    #5   0xc0001bac in +[GrowlApplicationBridge setGrowlDelegate:]
    #6   0x0000de20 in 0xde20
    #7   0x97e2d248 in -[NSSet makeObjectsPerformSelector:]
    #8   0x930adda4 in -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:]
    #9   0x93124dc0 in old_loadNib
    #10  0x930eab1c in +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:]
    #11  0x9314a228 in +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:]
    #12  0x93149fe8 in +[NSBundle(NSNibLoading) loadNibNamed:owner:]
    #13  0x93160570 in NSApplicationMain
    #14  0x00009638 in 0x9638
    #15  0x8fe19154 in _dyld_start

    PPC Thread State:

     srr0: 0x90249c68 srr1: 0x0200f030                vrsave: 0x00000000
      xer: 0x00000000   lr: 0x90249c58  ctr: 0x90000e20   mq: 0x00000000
       r0: 0x9024b2ac   r1: 0xbfffd060   r2: 0x24000280   r3: 0x00000000
       r4: 0xbfffd100   r5: 0x00000400   r6: 0x00000334   r7: 0x00000000
       r8: 0x00000000   r9: 0x00000000  r10: 0x00000000  r11: 0xa00046fc
      r12: 0x90000e20  r13: 0x00000000  r14: 0x00000000  r15: 0x00000000
      r16: 0x000bb090  r17: 0xa309a7c4  r18: 0xbfffefe8  r19: 0xbfffefe4
      r20: 0xbfffefe0  r21: 0xbfffefec  r22: 0xbfffecd0  r23: 0xbfffece0
      r24: 0x000bd710  r25: 0xc00054d8  r26: 0x00000000  r27: 0xbfffd100
      r28: 0x00000000  r29: 0x00000000  r30: 0x00000000  r31: 0x90249c58
    • *********
  6. Greg Hurrell 2005-03-06T00:56:20Z
    • ** Bug 125 has been marked as a duplicate of this bug. ***
  7. Greg Hurrell 2005-03-06T02:26:47Z

    Ok, another build. This is my attempt at performing a runtime check on 10.2 systems and preventing the Growl framework from being called (and crashing). Basically it means dropping Growl support on 10.2, which is inline with the Growl developers' "no Jaguar support" policy. Synergy, on the other hand, does support Jaguar, and so it's critical that these crashes be stopped.

    Changes:

    1. Synergy itself does a runtime check for Panther or above before invoking any Growl calls. 2. This build is slightly bigger because debug symbols have not been stripped, which might yield more info in the event of a crash. 3. The URL contains "2005" instead of "2004"... I've got to wake up.

    MD5 checksum: 963108e59fdf4ef967b8e6af0be9f8ed

    As with the previous builds, this is not the full disk image etc, it's just the app. Double-click to run, and let me know if it crashes. If it doesn't, I'll package an official 1.7.1 release for Monday.

  8. Dave Schmitt 2005-03-06T06:53:06Z

    New build seems to work fine. Hopefully the new release works as well (I miss my preferencePane).

  9. Greg Hurrell 2005-03-06T07:12:45Z

    Thanks for testing the build. If you want to "install" it more permanently:

    1. Go to your Synergy.prefPane (installed in either /Library/PreferencePanes/ or ~/Library/ PreferencePanes/) and control-click to get a contextual menu on it; choose "Show package contents".

    2. Navigate to Contents/Resources.

    3. Inside that folder, replace the Synergy.app that you see there with the new build.

  10. bugzilla user 111 2005-03-06T17:36:44Z

    Hey folks,

    We've been working on this one since Wincent reported it to us, but here is a link to the ticket in our system:

    http://trac.growl.info/trac/ticket/83

  11. Greg Hurrell 2005-03-07T20:15:54Z

    Marking this one as FIXED. Synergy 1.7.1 is now available for download.

  12. Greg Hurrell 2005-03-07T20:16:23Z

    Marking as CLOSED.

Add a comment

Comments are now closed for this issue.

  • contact
  • legal

Menu

  • Blog
  • Wiki
  • Issues
  • Snippets