Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
620 views
in Technique[技术] by (71.8m points)

macos - Mac OS X Archive (.app) crashed on test Mac machine: EXC_BAD_INSTRUCTION

I am working on a Mac application, which is running fine on my machine which is a development machine. The project has quite a few dylib files, the dependancies for which I had to solve using

install_name_tool -change

I used @executable_path in the above command. After doing this, the program works fine on my machine, when I move the .app file to test environment it fails..

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_INSTRUCTION (SIGILL) Exception Codes: 0x0000000000000001, 0x0000000000000000

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libfreetype.6.dylib 0x001f736b FT_CMap_New + 105

1 libfreetype.6.dylib 0x0022d1a4 tt_face_build_cmaps + 516
2 libfreetype.6.dylib 0x00229f0a sfnt_load_face + 1424
3 libfreetype.6.dylib 0x00200cbe tt_face_init + 231
4 libfreetype.6.dylib 0x001f5fb4 open_face + 218
5 libfreetype.6.dylib 0x001f5bf1 FT_Open_Face + 528
6 libfreetype.6.dylib 0x001f59db FT_New_Face + 68

Looking at the bold characters one can make out that the problem is in freetype dylib. But why is it giving problems? I have included the .dylib file in the my_app.app/Contents/Frameworks/ directory.

Is this why the problem is caused?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This error is seen because the location of the font supplied to freetype was incorrect.

The client did not have the supplied font file (ttf) on his machine.

When I supplied the ttf file along with the bundle, it was fixed.!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...