Botframework-emulator: OS X emulator broken (Frameworks corrupt) since 3.5.20

Created on 29 May 2017  ·  21Comments  ·  Source: microsoft/BotFramework-Emulator

I recently started bot development and this tools looks like the way to go for simple testing and verifying of menus and conversation flow.

Unfortunately all releases after 3.5.19 for OS X have damaged or corrupt frameworks included in the app package.
The frameworks involved are :
Electron
Mantle
ReactiveCocoa
Squirrel

The workaround is to additionally download the 3.5.19 version and copy the contents of frameworks folder within that app into the same place in the new app.
This shows that they are being referenced correctly but not copied or included correctly.

Could the build process be fixed so we don't need to do this each time there is a new release.

Thanks for your help

Most helpful comment

Just sharing here. Experienced exactly the same problem today.
After downloading the zip file, I extract with The Unarchiver which is somehow default on my macOS, the problem happens. Out of curiosity, I used another extracting app, in this case Archive Utility which is built-in macOS, now the emulator can run!

Hope it helps.

All 21 comments

@circulon, what version of OS X are you running? The OS X emulator installs and runs successfully on our test Macs.

Agreed. I tried 3.5.29 and 3.5.25 and both are failing on mac

@bikasv What version of OS X are you running?

@eanders-MS It's OSX El Capitan 10.11.6

Tested under 10.10.5 - Opens as expected

Tested under 10.12.4 & 10.12.5 - Failed to open
Error Message - App can’t be opened because it is damage…

Running the app from the command line provides the following error which led me to replace the Frameworks in the first place

Volumes/UData/Users/test/Downloads/botframework-emulator.app/Contents/MacOS/botframework-emulator
dyld: Library not loaded: @rpath/Electron Framework.framework/Electron Framework
Referenced from: /Volumes/UData/Users/test/Downloads/botframework-emulator.app/Contents/MacOS/botframework-emulator
Reason: no suitable image found. Did find:
/Volumes/UData/Users/test/Downloads/botframework-emulator.app/Contents/MacOS/../Frameworks/Electron Framework.framework/Electron Framework: file too short
Abort trap: 6

Once the Electron Framework was replaced each of the Noted frameworks failed to load until they were replaced.

I hope this clarifies things

On 31 May 2017, at 1:04 am, Eric Anderson notifications@github.com wrote:

@circulon https://github.com/circulon, what version of OS X are you running? The OS X emulator installs and runs successfully on our test Macs.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/Microsoft/BotFramework-Emulator/issues/208#issuecomment-304943910, or mute the thread https://github.com/notifications/unsubscribe-auth/AAehCaEkK2MlxdAH4e_MzWL-w_ipl4DGks5r_EwZgaJpZM4No0UG.

Thank you for this info. It seems our Mac and Linux builds are broken or partially so in this release. We'll get it fixed in the next release.

macOS: 10.12.5 - Emulator: 3.5.29 - works fine for me.

Agree. Still same problem here.
OSX 10.12.5 on version 3.5.29

@circulon we released emulator v3.5.31 today. Please try it out and let us know if you're able to install. Thanks!

Closing now. If you're still seeing this problem with the new emulator, reply here and I will open.

Still same problem here.
OSX 10.12.6 on version 3.5.31

Originally, it said the application was broken,
After I tried xattr -rc /Applications/botframework-emulator.app
It said “Check with the developer to make sure botframework-emulator works with this version of macOS.”

May I know is there any idea?
Or any guideline that how to install it correctly on latest MacOS?
Many thanks !

This is Still Broken in OS X 10.12.5 & .6

The problem resides with the symlinks in the root of each of the Frameworks folders are being converted to plain files (probably during the packaging process)

Example Error
~/Desktop $ ./botframework-emulator.app/Contents/MacOS/botframework-emulator
dyld: Library not loaded: @rpath/ReactiveCocoa.framework/ReactiveCocoa
Referenced from: /Users/test/Desktop/./botframework-emulator.app/Contents/MacOS/botframework-emulator
Reason: no suitable image found. Did find:
/Users/test/Desktop/botframework-emulator.app/Contents/MacOS/../Frameworks/ReactiveCocoa.framework/ReactiveCocoa: file too short
Abort trap: 6

-- Workaround
Relinking the files and folders fixes the issues and allows normal usage

cd ~/Desktop/botframework-emulator.app/Contents/Frameworks/Electron\ Framework.framework/
rm Electron\ Framework
rm Libraries
rm Resources
ln -s Versions/A/Electron\ Framework .
ln -s Versions/A/Libraries .
ln -s Versions/A/Resources .

cd ../Squirrel.framework/
rm Headers
rm Modules
rm Resources
rm Squirrel
ln -s Versions/A/Headers .
ln -s Versions/A/Modules .
ln -s Versions/A/Resources .
ln -s Versions/A/Squirrel .

cd ../ReactiveCocoa.framework/
rm Headers
rm Modules
rm ReactiveCocoa
rm Resources
ln -s Versions/A/Headers .
ln -s Versions/A/Modules .
ln -s Versions/A/Resources .
ln -s Versions/A/ReactiveCocoa .

cd ../Mantle.framework/
rm Headers
rm Mantle
rm Modules
rm Resources
ln -s Versions/A/Headers .
ln -s Versions/A/Mantle .
ln -s Versions/A/Modules .
ln -s Versions/A/Resources . 

Still same problem here.
OSX 10.12.6 on version 3.5.31

OS simply states that the application can't be opened. Fix from @circulon and @eheading didn't seem to make a difference for me. Also couldn't open from command line.

Just sharing here. Experienced exactly the same problem today.
After downloading the zip file, I extract with The Unarchiver which is somehow default on my macOS, the problem happens. Out of curiosity, I used another extracting app, in this case Archive Utility which is built-in macOS, now the emulator can run!

Hope it helps.

@andriyadi Thanks a lot ! Finally a workable solution !! I can run it on my mac now.

@andriyadi Thank you for posting this. This has been an intractable problem for us. @astjohn, @circulon, @bikasv, @arturo-cobos does this help you?

Closing this issue as we appear to have a solution now.

Weird. This solution worked for me. Why this work instead of the unarchiver?

Hi guys, that's Volodymyr from the Unarchiver team.

Indeed there's a problem, Unarchiver unpacks aliases from the archive as a regular files and thus the issue occurs. If one unpacks it with a system extraction tool, everything works perfectly.

Moreover, we've noticed that if we'll extract archive with the system tools, than pack it again with system tools, Unarchiver can extract that archive properly.

Here we need your assistance to know more on how it was originally packed, I think that will help us a lot to locate origin of the extracting issue. I'll be looking forward for your replies.

Thanks @hmontes for pointing that out.

@storyer Thanks for posting here. We use https://github.com/electron-userland/electron-builder to build the redistributable app. I'm not familiar with its internal operation.

Also got this issue.
I am using brew on macOS to install apps (is using unzip under the hood).
I will try to manually download, and extract using another tool. Thanks!

brew cask install botframework-emulator

image

Can confirm, found file downloaded by brew at location

~/Library/Caches/Homebrew/Cask/botframework-emulator--3.5.36.zip

Unarchiving with default macOS Archive Utility works, with The Unarchiver or unzip does not work.
It may be related to hard and soft symlinks
man unzip

    [Unix] Unix special files such as FIFO buffers (named pipes), block devices and character devices are
    not restored even if they are somehow represented in the zipfile, nor are hard-linked files relinked.
    Basically the only file types restored by unzip are regular files, directories  and  symbolic  (soft)
    links.

Maybe here needs to be ln -sf ?!

https://github.com/electron-userland/electron-builder/blob/c35b3150536be66a9e1c2aae75f7e8f7f610699d/packages/dmg-builder/src/dmg.ts#L321

Was this page helpful?
0 / 5 - 0 ratings