Benjamin-Dobell / Heimdall

Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung Galaxy devices.
MIT License
2.57k stars 584 forks source link

"Illegal instruction: 4" With new Heimdall 1.4.0 on Mac #127

Open BBallFan opened 11 years ago

BBallFan commented 11 years ago

I just downloaded the new Heimdall 1.4.0 on my mac, installed just fine, then went to start up the frontend. It immediately crashed. So then I thought maybe i'd try it in terminal, would get the error "Illegal instruction: 4" whenever I tried. Installed just through the suite 1.4.0 pkg. Any help would be appreciated! Thanks.

Benjamin-Dobell commented 11 years ago

Which version of OS X are you running?

I compiled on 10.8 and did go out of my way to try compile against the 10.6 SDK so it would be backwards compatible. However, it's quite possible I ended up linking against a new SDK, framework or library somewhere along the way.

BBallFan commented 11 years ago

I am running OSX 10.7.4 Lion.

Benjamin-Dobell commented 11 years ago

@BBallFan I've just uploaded a new OS X package that I'm hoping should resolve this problem.

I found and fixed two issues with the package. Firstly, I had compiled with GCC 4.7, which uses a newer versions of libstdc++ and libgcc than those that ship with OS X by default. To solve this problem I've now statically linked in these libraries. The other issue was that libusbx was not included in the package at all!

The package had been downloaded over 150 times and you were the only one to report the issue, despite the fact it's likely every user would have ran into the same problems as you did!

BBallFan commented 11 years ago

Happy I could help! Is the new download up already?

Benjamin-Dobell commented 11 years ago

@BBallFan Sorry if I wasn't clear. The new download should have been up already when I last posted. Please let me know if it works.

BBallFan commented 11 years ago

I downloaded using the link on the heimdall site, installed fine, go into terminal still get the "Illegal Instruction: 4" now I go to try the frontend, this time I get Heimdall-frontend cannot be opened because of a problem. Check with the Dev to make sure heimdall-frontend work with this version of OS X. You may need to reinstall the application.

Benjamin-Dobell commented 11 years ago

@BBallFan I'm not sure if it's actually possible for this not to be the case with 10.7.2, but your system is booted up in 64-mode, right?

Could you please show me the output of the following commands:

otool -L /Applications/heimdall-frontend.app/Contents/MacOS/heimdall-frontend
otool -L /usr/bin/heimdall
otool -L /usr/lib/libusb-1.0.dylib

Also if you're able to open CrashReporter and check for any logs that make mention to the crash and upload them that would be great.

BBallFan commented 11 years ago

first command: /Applications/heimdall-frontend.app/contents/MacOS/heimdall-frontend: /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) @executable_path/../Frameworks/QtXml.framework/Versions/4/QtXml (compatibility version 4.8.0, current version 4.8.4) @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.4) @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui (compatibility version 4.8.0, current version 4.8.4) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 103.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)

second command: /usr/local/lib/libusb-1.0.0.dylib (compatibility version 2.0.0, current version 2.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)

Third command: /usr/lib/libusb-1.0.dylib (compatibility version 2.0.0, current version 2.0.0) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0) /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 744.18.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)

In the Crash Report this is the error Message: Application Specific Information: dyld: launch, loading dependent libraries

Dyld Error Message: Library not loaded: @executable_path/../Frameworks/@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore Referenced from: /Applications/heimdall-frontend.app/Contents/MacOS/../Frameworks/QtXml.framework/Versions/4/QtXml Reason: image not found

Hope this is what you were asking for.

Benjamin-Dobell commented 11 years ago

Hmm the log looks useful for the Heimdall Frontend issue. I can see an problem, but I'm about to hit the hay so will have to look tomorrow.

The second command might also explain the Heimdall command line issue. Although I could have sworn I accounted for precisely the problem you're seeing.

It's looking for libusb in /usr/local/lib rather than /usr/lib. Sorry to ask, but just to make sure there wasn't some sort of caching going on, would you mind downloading and installing once more?

If you can explicitly delete /usr/bin/heimdall before installing that would be great too. Although technically it shouldn't be necessary.

Thanks for all the feedback thus far, much appreciated.

BBallFan commented 11 years ago

Ok I will reinstall again, with deleting /usr/bin/heimdall no problem.

BBallFan commented 11 years ago

Reinstall caused same problems.

BBallFan commented 11 years ago

Also tried reinstalling without removing the /usr/bin/heimdall just now see if it changed anything, same problems as before.

Benjamin-Dobell commented 11 years ago

A new Mac package has been uploaded. Really hoping it's sorted this time!

Please let me know if it works.

Benjamin-Dobell commented 11 years ago

Oops, spoke too soon. For some reason it is uploading really slow. I'll comment again once the upload is complete.

HLFH commented 11 years ago

Thanks :) I'll test it when it will be available

Benjamin-Dobell commented 11 years ago

Upload complete.

HLFH commented 11 years ago
root# /Applications/heimdall-frontend.app/Contents/MacOS/heimdall-frontend 
dyld: Library not loaded: @executable_path/../Frameworks/@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore
  Referenced from: /Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml
  Reason: image not found
Trace/BPT trap: 5

Must I install Qt5 ?

Benjamin-Dobell commented 11 years ago

@HLFH No. You shouldn't need to install anything else. If it's broken it means I've broken the package somehow. It's really strange because I was just looking at precisely that file before packaging. Could you please show me the output from:

otool -L /Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml
otool -l /Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml

and then, once more:

otool -L /Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml

I suspect something strange is going on with Apple's tools.

Benjamin-Dobell commented 11 years ago

Hmm, yeah I'm really at a loss at the moment. Looking at the binaries on my system, everything looks fine. Even after deleting (or moving) the system's copy of Qt frameworks the app still works. However, if I change the library paths using install_name_tool I then see the same issue you're seeing. But, with the latest DMG I uploaded I don't see this problem.

I wonder if BitBucket performs some sort of region-based caching, because each time I upload I'm not renaming the file.

Would someone please be able to try download the package once more and see if it works? If not could you please tell me the MD5 hash for the package you have on your system. You can get that from terminal:

md5 <package_path>

If it turns out to be some sort of caching issue I'll upload a new package with a different name.

Thanks

Benjamin-Dobell commented 11 years ago

For reference, the md5 sum should be "79e46402fe7cf090e652ad4a8a27ade1".

BBallFan commented 11 years ago

Yeah i'll try reinstalling the new package now.

BBallFan commented 11 years ago

Same problems with new one.

md5 of package dmg is "79e46402fe7cf090e652ad4a8a27ade1" sorry now know what you mean't.

HLFH commented 11 years ago
MacBookAir:~ HLFH$ otool -L /Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml
/Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml:
    @executable_path/../Frameworks/QtXml.framework/Versions/4/QtXml (compatibility version 4.8.0, current version 4.8.4)
    @executable_path/../Frameworks/@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.4)
    /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 625.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0)
MacBookAir:~ HLFH$ otool -l /Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml
/Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml:
Load command 0
      cmd LC_SEGMENT_64
  cmdsize 712
  segname __TEXT
   vmaddr 0x0000000000000000
   vmsize 0x000000000003e000
  fileoff 0
 filesize 253952
  maxprot 0x00000007
 initprot 0x00000005
   nsects 8
    flags 0x0
Section
  sectname __text
   segname __TEXT
      addr 0x0000000000002270
      size 0x000000000002760e
    offset 8816
     align 2^4 (16)
    reloff 0
    nreloc 0
     flags 0x80000400
 reserved1 0
 reserved2 0
Section
  sectname __symbol_stub1
   segname __TEXT
      addr 0x000000000002987e
      size 0x000000000000029a
    offset 170110
     align 2^1 (2)
    reloff 0
    nreloc 0
     flags 0x80000408
 reserved1 0 (index into indirect symbol table)
 reserved2 6 (size of stubs)
Section
  sectname __cstring
   segname __TEXT
      addr 0x0000000000029b18
      size 0x0000000000000a88
    offset 170776
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000002
 reserved1 0
 reserved2 0
Section
  sectname __const
   segname __TEXT
      addr 0x000000000002a5a0
      size 0x0000000000000b17
    offset 173472
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __stub_helper
   segname __TEXT
      addr 0x000000000002b0b7
      size 0x00000000000007e4
    offset 176311
     align 2^0 (1)
    reloff 0
    nreloc 0
     flags 0x80000400
 reserved1 0
 reserved2 0
Section
  sectname __gcc_except_tab
   segname __TEXT
      addr 0x000000000002b89c
      size 0x00000000000053f4
    offset 178332
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __unwind_info
   segname __TEXT
      addr 0x0000000000030c90
      size 0x0000000000000ff0
    offset 199824
     align 2^4 (16)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __eh_frame
   segname __TEXT
      addr 0x0000000000031c80
      size 0x000000000000c368
    offset 203904
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x6000000b
 reserved1 0
 reserved2 0
Load command 1
      cmd LC_SEGMENT_64
  cmdsize 552
  segname __DATA
   vmaddr 0x000000000003e000
   vmsize 0x0000000000002000
  fileoff 253952
 filesize 8192
  maxprot 0x00000007
 initprot 0x00000003
   nsects 6
    flags 0x0
Section
  sectname __dyld
   segname __DATA
      addr 0x000000000003e000
      size 0x0000000000000010
    offset 253952
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __nl_symbol_ptr
   segname __DATA
      addr 0x000000000003e010
      size 0x0000000000000098
    offset 253968
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000006
 reserved1 111 (index into indirect symbol table)
 reserved2 0
Section
  sectname __la_symbol_ptr
   segname __DATA
      addr 0x000000000003e0a8
      size 0x0000000000000378
    offset 254120
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000007
 reserved1 130 (index into indirect symbol table)
 reserved2 0
Section
  sectname __const
   segname __DATA
      addr 0x000000000003e420
      size 0x0000000000001908
    offset 255008
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __data
   segname __DATA
      addr 0x000000000003fd28
      size 0x0000000000000004
    offset 261416
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __common
   segname __DATA
      addr 0x000000000003fd2c
      size 0x0000000000000001
    offset 0
     align 2^0 (1)
    reloff 0
    nreloc 0
     flags 0x00000001
 reserved1 0
 reserved2 0
Load command 2
      cmd LC_SEGMENT_64
  cmdsize 72
  segname __LINKEDIT
   vmaddr 0x0000000000040000
   vmsize 0x0000000000017000
  fileoff 262144
 filesize 91712
  maxprot 0x00000007
 initprot 0x00000001
   nsects 0
    flags 0x0
Load command 3
          cmd LC_ID_DYLIB
      cmdsize 88
         name @executable_path/../Frameworks/QtXml.framework/Versions/4/QtXml (offset 24)
   time stamp 1 Thu Jan  1 01:00:01 1970
      current version 4.8.4
compatibility version 4.8.0
Load command 4
     cmd LC_UUID
 cmdsize 24
    uuid 8AAD789E-934F-ECC1-456C-B8FFE4DB9E68
Load command 5
            cmd LC_DYLD_INFO
        cmdsize 48
     rebase_off 262144
    rebase_size 144
       bind_off 262288
      bind_size 1232
  weak_bind_off 263520
 weak_bind_size 784
  lazy_bind_off 264304
 lazy_bind_size 4056
     export_off 268360
    export_size 13472
Load command 6
     cmd LC_SYMTAB
 cmdsize 24
  symoff 287568
   nsyms 1140
  stroff 307624
 strsize 46232
Load command 7
            cmd LC_DYSYMTAB
        cmdsize 80
      ilocalsym 0
      nlocalsym 532
     iextdefsym 532
     nextdefsym 483
      iundefsym 1015
      nundefsym 125
         tocoff 0
           ntoc 0
      modtaboff 0
        nmodtab 0
   extrefsymoff 0
    nextrefsyms 0
 indirectsymoff 306656
  nindirectsyms 241
      extreloff 305808
        nextrel 106
      locreloff 281832
        nlocrel 717
Load command 8
          cmd LC_LOAD_DYLIB
      cmdsize 128
         name @executable_path/../Frameworks/@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 4.8.4
compatibility version 4.8.0
Load command 9
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libstdc++.6.dylib (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 7.9.0
compatibility version 7.0.0
Load command 10
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libgcc_s.1.dylib (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 625.0.0
compatibility version 1.0.0
Load command 11
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libSystem.B.dylib (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 123.0.0
compatibility version 1.0.0
MacBookAir:~ HLFH$ otool -L /Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml
/Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml:
    @executable_path/../Frameworks/QtXml.framework/Versions/4/QtXml (compatibility version 4.8.0, current version 4.8.4)
    @executable_path/../Frameworks/@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.4)
    /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 625.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0)
MacBookAir:~ HLFH$ 
Benjamin-Dobell commented 11 years ago

Okay, I'm officially baffled!

The issue is definitely to with OS X's extremely stupid behaviour that requires hard-coding shared library paths. install_name_tool can be used to change these paths, and otool is used to view them. In particular the output from:

otool -L /Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml

and/or

otool -l /Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml

seems to be different than mine.

otool -L should show:

/Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml:
    @executable_path/../Frameworks/QtXml.framework/Versions/4/QtXml (compatibility version 4.8.0, current version 4.8.4)
    @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.4)
    /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 625.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0)

and otool -l should show:

/Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml:
Load command 0
      cmd LC_SEGMENT_64
  cmdsize 712
  segname __TEXT
   vmaddr 0x0000000000000000
   vmsize 0x000000000003e000
  fileoff 0
 filesize 253952
  maxprot 0x00000007
 initprot 0x00000005
   nsects 8
    flags 0x0
Section
  sectname __text
   segname __TEXT
      addr 0x0000000000002270
      size 0x000000000002760e
    offset 8816
     align 2^4 (16)
    reloff 0
    nreloc 0
     flags 0x80000400
 reserved1 0
 reserved2 0
Section
  sectname __symbol_stub1
   segname __TEXT
      addr 0x000000000002987e
      size 0x000000000000029a
    offset 170110
     align 2^1 (2)
    reloff 0
    nreloc 0
     flags 0x80000408
 reserved1 0 (index into indirect symbol table)
 reserved2 6 (size of stubs)
Section
  sectname __cstring
   segname __TEXT
      addr 0x0000000000029b18
      size 0x0000000000000a88
    offset 170776
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000002
 reserved1 0
 reserved2 0
Section
  sectname __const
   segname __TEXT
      addr 0x000000000002a5a0
      size 0x0000000000000b17
    offset 173472
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __stub_helper
   segname __TEXT
      addr 0x000000000002b0b7
      size 0x00000000000007e4
    offset 176311
     align 2^0 (1)
    reloff 0
    nreloc 0
     flags 0x80000400
 reserved1 0
 reserved2 0
Section
  sectname __gcc_except_tab
   segname __TEXT
      addr 0x000000000002b89c
      size 0x00000000000053f4
    offset 178332
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __unwind_info
   segname __TEXT
      addr 0x0000000000030c90
      size 0x0000000000000ff0
    offset 199824
     align 2^4 (16)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __eh_frame
   segname __TEXT
      addr 0x0000000000031c80
      size 0x000000000000c368
    offset 203904
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x6000000b
 reserved1 0
 reserved2 0
Load command 1
      cmd LC_SEGMENT_64
  cmdsize 552
  segname __DATA
   vmaddr 0x000000000003e000
   vmsize 0x0000000000002000
  fileoff 253952
 filesize 8192
  maxprot 0x00000007
 initprot 0x00000003
   nsects 6
    flags 0x0
Section
  sectname __dyld
   segname __DATA
      addr 0x000000000003e000
      size 0x0000000000000010
    offset 253952
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __nl_symbol_ptr
   segname __DATA
      addr 0x000000000003e010
      size 0x0000000000000098
    offset 253968
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000006
 reserved1 111 (index into indirect symbol table)
 reserved2 0
Section
  sectname __la_symbol_ptr
   segname __DATA
      addr 0x000000000003e0a8
      size 0x0000000000000378
    offset 254120
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000007
 reserved1 130 (index into indirect symbol table)
 reserved2 0
Section
  sectname __const
   segname __DATA
      addr 0x000000000003e420
      size 0x0000000000001908
    offset 255008
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __data
   segname __DATA
      addr 0x000000000003fd28
      size 0x0000000000000004
    offset 261416
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __common
   segname __DATA
      addr 0x000000000003fd2c
      size 0x0000000000000001
    offset 0
     align 2^0 (1)
    reloff 0
    nreloc 0
     flags 0x00000001
 reserved1 0
 reserved2 0
Load command 2
      cmd LC_SEGMENT_64
  cmdsize 72
  segname __LINKEDIT
   vmaddr 0x0000000000040000
   vmsize 0x0000000000017000
  fileoff 262144
 filesize 91712
  maxprot 0x00000007
 initprot 0x00000001
   nsects 0
    flags 0x0
Load command 3
          cmd LC_ID_DYLIB
      cmdsize 88
         name @executable_path/../Frameworks/QtXml.framework/Versions/4/QtXml (offset 24)
   time stamp 1 Thu Jan  1 10:00:01 1970
      current version 4.8.4
compatibility version 4.8.0
Load command 4
     cmd LC_UUID
 cmdsize 24
    uuid 8AAD789E-934F-ECC1-456C-B8FFE4DB9E68
Load command 5
            cmd LC_DYLD_INFO
        cmdsize 48
     rebase_off 262144
    rebase_size 144
       bind_off 262288
      bind_size 1232
  weak_bind_off 263520
 weak_bind_size 784
  lazy_bind_off 264304
 lazy_bind_size 4056
     export_off 268360
    export_size 13472
Load command 6
     cmd LC_SYMTAB
 cmdsize 24
  symoff 287568
   nsyms 1140
  stroff 307624
 strsize 46232
Load command 7
            cmd LC_DYSYMTAB
        cmdsize 80
      ilocalsym 0
      nlocalsym 532
     iextdefsym 532
     nextdefsym 483
      iundefsym 1015
      nundefsym 125
         tocoff 0
           ntoc 0
      modtaboff 0
        nmodtab 0
   extrefsymoff 0
    nextrefsyms 0
 indirectsymoff 306656
  nindirectsyms 241
      extreloff 305808
        nextrel 106
      locreloff 281832
        nlocrel 717
Load command 8
          cmd LC_LOAD_DYLIB
      cmdsize 96
         name @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore (offset 24)
   time stamp 2 Thu Jan  1 10:00:02 1970
      current version 4.8.4
compatibility version 4.8.0
Load command 9
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libstdc++.6.dylib (offset 24)
   time stamp 2 Thu Jan  1 10:00:02 1970
      current version 7.9.0
compatibility version 7.0.0
Load command 10
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libgcc_s.1.dylib (offset 24)
   time stamp 2 Thu Jan  1 10:00:02 1970
      current version 625.0.0
compatibility version 1.0.0
Load command 11
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libSystem.B.dylib (offset 24)
   time stamp 2 Thu Jan  1 10:00:02 1970
      current version 123.0.0
compatibility version 1.0.0

It looks like I'm going to need to get my hands on a fresh install of OS X so I can debug precisely what is going on.

Benjamin-Dobell commented 11 years ago

@HLFH You can actually fix the issue for yourself locally by doing:

install_name_tool -change @executable_path/../Frameworks/@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore /Applications/heimdall-frontend.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml

However, I can't go asking every user to do this. So I need to work out what is going on with the packages.

BBallFan commented 11 years ago

Is this only a OS X 10.7.x issue? or is it going on for most OS X versions?

HLFH commented 11 years ago

No. I just downloaded the last package. And :+1:

sudo -i
rm -rf /usr/bin/heimdall

After, I deleted Heimdall package with AppCleaner, installed Heimdall again, rebooted and it works now.

MD5 : 79e46402fe7cf090e652ad4a8a27ade1 (OS X 10.8.3)

Benjamin-Dobell commented 11 years ago

@HLFH That's great to hear!

1 down, 1 to go.

@BBallFan Now your problem might be different than @HLFH, If you're able to run Heimdall Frontend and it crashes, does it ask to submit a crash report? If so press yes and it should then bring up a window with details of the crash. You can copy and paste the output of that here. Don't bother actually submitting to Apple though, they won't care ;)

Does command line still fail? If so could you try find any logs that refer to the crash?

BBallFan commented 11 years ago

Crashed Thread: Unknown

Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x00007fff5fc01028

Backtrace not available

Unknown thread crashed with X86 Thread State (64-bit): rax: 0x0000000000000055 rbx: 0x0000000000000000 rcx: 0x0000000000000000 rdx: 0x0000000000000000 rdi: 0x0000000000000000 rsi: 0x0000000000000000 rbp: 0x0000000000000000 rsp: 0x0000000000000000 r8: 0x0000000000000000 r9: 0x0000000000000000 r10: 0x0000000000000000 r11: 0x0000000000000000 r12: 0x0000000000000000 r13: 0x0000000000000000 r14: 0x0000000000000000 r15: 0x0000000000000000 rip: 0x00007fff5fc01028 rfl: 0x0000000000010203 cr2: 0x00007fff5fc01028 Logical CPU: 1

Binary images description not available

External Modification Summary: Calls made by other processes targeting this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by all processes on this machine: task_for_pid: 545 thread_create: 2 thread_set_state: 0

still same "Illegal Instruction: 4" with terminal.

Benjamin-Dobell commented 11 years ago

Hmm... Okay I guess this is a 10.7 specific issue. I'll definitely see what I can do about it. However, in the meantime if you do need Heimdall you shouldn't have any problems if you compile from source. The README includes step-by-step instructions in case you're not familiar with the compilation process.

Obviously, compiling from source isn't a real solution. So I'll keep you posted.

BBallFan commented 11 years ago

I can wait a little bit lol just wanting to update my Galaxy S4 to the latest version, no worries.

HLFH commented 11 years ago

@BBallFan Please upgrade to the latest version from one way (10.8, AppStore) or another (if you are a developer, you have access to 10.9 DP1)

Benjamin-Dobell commented 11 years ago

@HLFH Upgrading is not a real solution.

BBallFan commented 11 years ago

It's no big deal, I can wait a bit and don't really feel like upgrading lol just out of curiosity how long do you think it might be?

HLFH commented 11 years ago

@BBallFan 1 h 20 for download, 30 min for upgrade

Benjamin-Dobell commented 11 years ago

@BBallFan It's almost 12:00 AM here, so I'm about to get some sleep and then go to work. So a fix is bare minimum 18 hours from now. I don't entirely know what the cause is just yet, so I can't give a definitive upper bound.

If you're keen to flash your device I'd encourage you to compile from source. The instructions should be quite straight forward even if they do take a little while to follow (with all the downloading/installing involved).

FGasper commented 11 years ago

Benjamin et al.: I have (what I think is?) the same issue on Mountain Lion (10.8).

I had opened an issue here: https://github.com/Benjamin-Dobell/Heimdall/issues/128

… but closed it after seeing this one and concluding that it’s probably the same bug.

Benjamin-Dobell commented 11 years ago

@FGasper I saw your issue. Your problem is fixed with the new package I've uploaded. If you download and install again you should be fine. If you have trouble still you might need to manually delete Heimdall's files before reinstalling (check previous comments for details).

The issue that still remains seems to be a framework versioning issue only present in older OS X versions.

FGasper commented 11 years ago

Huzzah! Thank you! :)

BBallFan commented 11 years ago

Any updates on it yet? Need any testing done?

jawshooah commented 11 years ago

Having the same troubles as @BBallFan over here, except I'm running OS X 10.6.8. I deleted everything, performed a clean install via the newest available package, and the frontend still crashes whenever I open it, and the command line continues to give me the error message "Illegal instruction". If I try using sudo, I get "Segmentation fault".

Is anyone still investigating this?

If it helps, here's the frontend crash report:

Process: heimdall-frontend [858] Path: /Applications/heimdall-frontend.app/Contents/MacOS/heimdall-frontend Identifier: heimdall-frontend Version: ??? (???) Code Type: X86-64 (Native) Parent Process: heimdall-frontend [853]

Date/Time: 2013-06-18 04:01:47.447 -0400 OS Version: Mac OS X 10.6.8 (10K549) Report Version: 6

Interval Since Last Report: 15124 sec Crashes Since Last Report: 25 Per-App Crashes Since Last Report: 4 Anonymous UUID: E5AA7EE8-E75C-4C96-A9AB-459DC790DFAD

Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0xfffffffffffffff8 Crashed Thread: Unknown

Backtrace not available

Unknown thread crashed with X86 Thread State (64-bit): rax: 0x0000000000000055 rbx: 0x0000000000000000 rcx: 0x0000000000000000 rdx: 0x0000000000000000 rdi: 0x0000000000000000 rsi: 0x0000000000000000 rbp: 0x0000000000000000 rsp: 0x0000000000000000 r8: 0x0000000000000000 r9: 0x0000000000000000 r10: 0x0000000000000000 r11: 0x0000000000000000 r12: 0x0000000000000000 r13: 0x0000000000000000 r14: 0x0000000000000000 r15: 0x0000000000000000 rip: 0x00007fff5fc01028 rfl: 0x0000000000010203 cr2: 0xfffffffffffffff8

Binary images description not available

Model: MacBookPro6,1, BootROM MBP61.0057.B0C, 2 processors, Intel Core i7, 2.66 GHz, 8 GB, SMC 1.57f18 Graphics: NVIDIA GeForce GT 330M, NVIDIA GeForce GT 330M, PCIe, 512 MB Graphics: Intel HD Graphics, Intel HD Graphics, Built-In, 288 MB Memory Module: global_name AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x93), Broadcom BCM43xx 1.0 (5.10.131.42.4) Bluetooth: Version 2.4.5f3, 2 service, 12 devices, 1 incoming serial ports Network Service: AirPort, AirPort, en1 Serial ATA Device: Hitachi HTS725050A9A362, 465.76 GB Serial ATA Device: HL-DT-ST DVDRW GS23N USB Device: Hub, 0x0424 (SMSC), 0x2514, 0xfa100000 / 2 USB Device: BRCM2070 Hub, 0x0a5c (Broadcom Corp.), 0x4500, 0xfa110000 / 4 USB Device: Bluetooth USB Host Controller, 0x05ac (Apple Inc.), 0x8218, 0xfa113000 / 5 USB Device: Apple Internal Keyboard / Trackpad, 0x05ac (Apple Inc.), 0x0236, 0xfa120000 / 3 USB Device: Hub, 0x0424 (SMSC), 0x2514, 0xfd100000 / 2 USB Device: Built-in iSight, 0x05ac (Apple Inc.), 0x8507, 0xfd110000 / 4 USB Device: IR Receiver, 0x05ac (Apple Inc.), 0x8242, 0xfd120000 / 3

perkhouse commented 11 years ago

Ditto to what @jawshooah said. Tell me what I can do to help.

I did try the suggestion in #issuecomment-19321466 but to no avail. Perhaps I did something wrong.

BBallFan commented 11 years ago

There has not been a response to this in months. I just ended up upgrading to the newest OSX and everything is working fine.

brancasterr commented 11 years ago

@BBallFan , Do you mind letting me know which OSX you upgraded to? I'm currently on 10.6 and running into a similar issue. Did you upgrade to 10.7 or 10.8?

BBallFan commented 11 years ago

10.8 I did, works great.

gdudek commented 10 years ago

Segfault on 10.6.8

tamsky commented 10 years ago

heimdall-suite-1.4.0-mac.dmg downloaded/installed/rebooted

Illegal instruction 4 for CLI tool on OSX 10.7.5 Darwin MacBookPro.lan 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64

cttran commented 10 years ago

I had the same issue and solved it by using GNU gcc 4.8 (I think any gcc greater than 4.2 version that supports c++0x/c++11 should do) instead the default llvm-gcc-4.2 that came with Xcode.

My System Version: Mac OS X 10.7.5 (11G63b), Kernel Version: Darwin 11.4.2.

I used macports to install gcc-4.8, pkgconfig, and libusb. Here are the steps:

1) sudo port install gcc48 2) sudo port install pkgconfig 3) sudo port install libusb The select the gcc48 version 4) sudo port select --list gcc 5) sudo port select --set gcc mp-gcc48

Make sure to remove the old heimdall binary from the system. 6) sudo rm /usr/bin/heimdall

Before recompile heimdall, make sure the "/opt/local/bin" is before "/usr/bin/" in the search path. Otherwise the compiler will use the gcc compiler from Xcode "/usr/bin/gcc -> llvm-gcc-4.2" instead the GNU "/opt/local/bin/gcc -> /opt/local/bin/gcc-mp-4.8".

7) Then rebuild heimdall: $ cd ../libpit/ $ make distclean $ ./configure $ make $ cd ../heimdall $ make distclean $ ./configure $ make $ sudo make install

Good luck!

MACLima commented 9 years ago

@cttran Your method worked well for me. Thanks for sharing. I'm using Mac OS X Lion 10.7.5 (11G63). Don't know how to check Kernel Version.