shtrom / Lurch4Adium

OMEMO Xtra for Adium (packaging the lurch and carbons libpurple plugins)
GNU General Public License v3.0
40 stars 1 forks source link

Plugin silently doesn't load on some machines #14

Open sfjes opened 6 years ago

sfjes commented 6 years ago

On some machines, Adium appears to not load the Lurch4Adium plugin, with no errors reported. Running /carbons on or /lurch help just results in that message being sent to the other party.

When running in Debug mode, searching for "lurch" in the Debug Window returns no lines.

Previously in 0.0.1, I had at least two friends who were unable to load the plugin. That was resolved for one of them in 0.0.3, but the second person is still unable to load the plugin.

Me (working): Adium 10.5.10.4, OS X 10.12.6. Other 1 (not working with 0.0.1, works with 0.0.3): Adium 10.5.10.4, OS X 10.13.4. Other 2 (not working with 0.0.1 or 0.0.3): Adium 10.5.10.4, OS X 10.10.5.

Could the issue be related to one mentioned in this comment? https://github.com/shtrom/Lurch4Adium/issues/10#issuecomment-386960036

Please let me know if I can provide more useful info.

Thanks for your help!

shtrom commented 6 years ago

Yeah, it does sound like it could be the same thing.

Could you start Adium manually from a term? Something like that

/Applications/Adium.app/Contents/MacOS/Adium --debug

and show the output (you may have to wait a bit, and maybe use Adium a bit, before you get something)? I expect something similar to this: https://github.com/shtrom/Lurch4Adium/issues/10#issuecomment-386959158

sfjes commented 6 years ago
2018-05-16 16:25:00.862 Adium[19856:41481117] Error loading /Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium 2.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium:  dlopen(/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium 2.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium, 265): no suitable image found.  Did find:
    /Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium 2.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium: code signature invalid for '/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium 2.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium'
2018-05-16 16:25:00.862 Adium[19856:41481117] Failed to obtain principal class from plugin "Lurch4Adium 2.AdiumLibpurplePlugin" ("/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium 2.AdiumLibpurplePlugin")! infoDictionary: {
    AIMinimumAdiumVersionRequirement = "1.5";
    BuildMachineOSBuild = 17D47;
    CFBundleDevelopmentRegion = en;
    CFBundleExecutable = Lurch4Adium;
    CFBundleIdentifier = "net.ssji.narf.Lurch4Adium";
    CFBundleInfoDictionaryVersion = "6.0";
    CFBundleInfoPlistURL = "Contents/Info.plist -- file:///Users/derrick/Library/Application%20Support/Adium%202.0/PlugIns/Lurch4Adium%202.AdiumLibpurplePlugin/";
    CFBundleName = Lurch4Adium;
    CFBundleNumericVersion = 229376;
    CFBundlePackageType = BNDL;
    CFBundleShortVersionString = "0.0.3";
    CFBundleSignature = AdIM;
    CFBundleSupportedPlatforms =     (
        MacOSX
    );
    CFBundleVersion = "0.0.3";
    DTCompiler = "com.apple.compilers.llvm.clang.1_0";
    DTPlatformBuild = 9E501;
    DTPlatformVersion = GM;
    DTSDKBuild = 17E189;
    DTSDKName = "macosx10.13";
    DTXcode = 0931;
    DTXcodeBuild = 9E501;
    NSHumanReadableCopyright = "Copyright \U00a9 2017, 2018 Olivier Mehani. GPLv3+";
    NSPrincipalClass = Lurch4Adium;
}
2018-05-16 16:25:00.863 Adium[19856:41481117] Failed to initialize Plugin "Lurch4Adium 2.AdiumLibpurplePlugin" ("/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium 2.AdiumLibpurplePlugin")!
shtrom commented 6 years ago

Hum, /Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium 2.AdiumLibpurplePlugin/

That's 2 is suspicious there. Would you mind going into your/Users/derrick/Library/Application Support/Adium 2.0/PlugIns directory, and clearing all L4A directories, then reinstalling 0.0.3?

sfjes commented 6 years ago

I believe that's just what happens when multiple plugin zips get extracted in the same Downloads directory. They get renamed with incrementing numbers and iirc my office laptop has it named 2 without issue.

Still, here's his after deleting all the plugins and reinstalling using a plugin with the default name (not incremented) -- looks like the same error:

2018-05-16 17:31:31.799 Adium[20021:41504825] Error loading /Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium:  dlopen(/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium, 265): no suitable image found.  Did find:
    /Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium: code signature invalid for '/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium'
2018-05-16 17:31:31.799 Adium[20021:41504825] Failed to obtain principal class from plugin "Lurch4Adium.AdiumLibpurplePlugin" ("/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin")! infoDictionary: {
    AIMinimumAdiumVersionRequirement = "1.5";
    BuildMachineOSBuild = 17D47;
    CFBundleDevelopmentRegion = en;
    CFBundleExecutable = Lurch4Adium;
    CFBundleIdentifier = "net.ssji.narf.Lurch4Adium";
    CFBundleInfoDictionaryVersion = "6.0";
    CFBundleInfoPlistURL = "Contents/Info.plist -- file:///Users/derrick/Library/Application%20Support/Adium%202.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin/";
    CFBundleName = Lurch4Adium;
    CFBundleNumericVersion = 229376;
    CFBundlePackageType = BNDL;
    CFBundleShortVersionString = "0.0.3";
    CFBundleSignature = AdIM;
    CFBundleSupportedPlatforms =     (
        MacOSX
    );
    CFBundleVersion = "0.0.3";
    DTCompiler = "com.apple.compilers.llvm.clang.1_0";
    DTPlatformBuild = 9E501;
    DTPlatformVersion = GM;
    DTSDKBuild = 17E189;
    DTSDKName = "macosx10.13";
    DTXcode = 0931;
    DTXcodeBuild = 9E501;
    NSHumanReadableCopyright = "Copyright \U00a9 2017, 2018 Olivier Mehani. GPLv3+";
    NSPrincipalClass = Lurch4Adium;
}
2018-05-16 17:31:31.800 Adium[20021:41504825] Failed to initialize Plugin "Lurch4Adium.AdiumLibpurplePlugin" ("/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin")!
shtrom commented 6 years ago

Other 2 (not working with 0.0.1 or 0.0.3): Adium 10.5.10.4, OS X 10.10.5. I fear this is due to too old an OSX \:

Could you try a custom build changing the deployment version down to 10.10, like in this commit: https://github.com/shtrom/Lurch4Adium/commit/8cc58121caeb0a6a863e080a0b406e84657319e5

Not sure it will build, though.

sfjes commented 6 years ago

No errors on the build, but no difference in the function/output either.

Any thoughts on this line in particular?

Did find: /Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium: code signature invalid for '/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium'

New full output:

2018-06-01 00:43:53.649 Adium[51003:47009098] Error loading /Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium:  dlopen(/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium, 265): no suitable image found.  Did find:
    /Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium: code signature invalid for '/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin/Contents/MacOS/Lurch4Adium'
2018-06-01 00:43:53.650 Adium[51003:47009098] Failed to obtain principal class from plugin "Lurch4Adium.AdiumLibpurplePlugin" ("/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin")! infoDictionary : {
    AIMinimumAdiumVersionRequirement = "1.5";
    BuildMachineOSBuild = 16G1036;
    CFBundleDevelopmentRegion = en;
    CFBundleExecutable = Lurch4Adium;
    CFBundleIdentifier = "net.ssji.narf.Lurch4Adium";
    CFBundleInfoDictionaryVersion = "6.0";
    CFBundleInfoPlistURL = "Contents/Info.plist -- file:///Users/derrick/Library/Application%20Support/Adium%202.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin/";
    CFBundleName = Lurch4Adium;
    CFBundleNumericVersion = 0;
    CFBundlePackageType = BNDL;
    CFBundleShortVersionString = "0.0.4-pre";
    CFBundleSignature = AdIM;
    CFBundleSupportedPlatforms =     (
        MacOSX
    );
    CFBundleVersion = "0.0.4-pre";
    DTCompiler = "com.apple.compilers.llvm.clang.1_0";
    DTPlatformBuild = 9C40b;
    DTPlatformVersion = GM;
    DTSDKBuild = 17C76;
    DTSDKName = "macosx10.13";
    DTXcode = 0920;
    DTXcodeBuild = 9C40b;
    NSHumanReadableCopyright = "Copyright \U00a9 2017, 2018 Olivier Mehani. GPLv3+";
    NSPrincipalClass = Lurch4Adium;
}
2018-06-01 00:43:53.650 Adium[51003:47009098] Failed to initialize Plugin "Lurch4Adium.AdiumLibpurplePlugin" ("/Users/derrick/Library/Application Support/Adium 2.0/PlugIns/Lurch4Adium.AdiumLibpurplePlugin")!
shtrom commented 6 years ago

Yeah, looks like old OSXes https://stackoverflow.com/questions/41865537/how-does-apples-codesign-utility-decide-which-sha-algorithms-to-sign-a-shared

Any chance those could be updated? I can probably take it down to 10.10, but I'm afraid 10.5 may not be feasible.

shtrom commented 6 years ago

Ok, I went as far down as 10.8. 10.5 didn't work, but 10.8 is what Adium is compiled against, so I am hopeful. Care to give a spin to this one?

Lurch4Adium-0.0.4-10.8.AdiumLibpurplePlugin.zip

(It's just a quick build, I didn't try it out.)

shtrom commented 6 years ago

We never got to the bottom of it. @sfjes , did the build I posted in the previous comment work?

kabo commented 5 years ago

@shtrom I tested the build above on 10.10.5 and it worked :)

shtrom commented 5 years ago

Cool, thanks for the check.

I'm mostly after checks on older versions, if possible as early as 10.8.