blobsaver icon indicating copy to clipboard operation
blobsaver copied to clipboard

"Read from device" fails with an unknown error

Open briankendall opened this issue 3 years ago • 7 comments

Describe the bug Clicking "Read from device" fails with an unknown error. As requested by the error dialog I am creating an issue here.

This bug affects version 3.1.0 but not 3.0.4.

Desktop:

  • OS Version: macOS 10.14.6
  • tvOS Device: Apple TV 4th Gen running tvOS 12.4

Checklist (place an x between the brackets to mark as completed):

  • [X] I have made sure I am on the latest version of blobsaver
  • [X] I have checked other open issues to see if my problem has already been reported
  • [X] I have tried common troubleshooting tactics such as restarting my computer and reinstalling blobsaver

Log(s)

java.lang.UnsatisfiedLinkError: Unable to load library 'imobiledevice':
dlopen(/Applications/blobsaver.app/Contents/Frameworks/libimobiledevice.dylib, 9): Symbol not found: ___darwin_check_fd_set_overflow
  Referenced from: /Applications/blobsaver.app/Contents/Frameworks/libimobiledevice-glue-1.0.0.dylib (which was built for Mac OS X 11.0)
  Expected in: /usr/lib/libSystem.B.dylib
 in /Applications/blobsaver.app/Contents/Frameworks/libimobiledevice-glue-1.0.0.dylib
dlopen(/Applications/blobsaver.app/Contents/Frameworks/libimobiledevice.dylib, 9): Symbol not found: ___darwin_check_fd_set_overflow
  Referenced from: /Applications/blobsaver.app/Contents/Frameworks/libimobiledevice-glue-1.0.0.dylib (which was built for Mac OS X 11.0)
  Expected in: /usr/lib/libSystem.B.dylib
 in /Applications/blobsaver.app/Contents/Frameworks/libimobiledevice-glue-1.0.0.dylib
dlopen(/Users/moof/Library/Frameworks/imobiledevice.framework/imobiledevice, 9): image not found
dlopen(/Library/Frameworks/imobiledevice.framework/imobiledevice, 9): image not found
dlopen(/System/Library/Frameworks/imobiledevice.framework/imobiledevice, 9): image not found
Native library (darwin-x86-64/libimobiledevice.dylib) not found in resource path ()
	at [email protected]/com.sun.jna.NativeLibrary.loadLibrary(Unknown Source)
	at [email protected]/com.sun.jna.NativeLibrary.getInstance(Unknown Source)
	at [email protected]/airsquared.blobsaver.app.natives.NativeUtils.register(Unknown Source)
	at [email protected]/airsquared.blobsaver.app.natives.Libimobiledevice.<clinit>(Unknown Source)
	at [email protected]/airsquared.blobsaver.app.LibimobiledeviceUtil.lockdowndClientFromConnectedDevice(Unknown Source)
	at [email protected]/airsquared.blobsaver.app.LibimobiledeviceUtil.getLockdownValuePlist(Unknown Source)
	at [email protected]/airsquared.blobsaver.app.LibimobiledeviceUtil.getECID(Unknown Source)
	at [email protected]/airsquared.blobsaver.app.Controller.readInfo(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javafx.reflect.Trampoline.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at javafx.base@18/com.sun.javafx.reflect.MethodUtil.invoke(Unknown Source)
	at javafx.fxml@18/com.sun.javafx.fxml.MethodHelper.invoke(Unknown Source)
	at javafx.fxml@18/javafx.fxml.FXMLLoader$MethodHandler.invoke(Unknown Source)
	at javafx.fxml@18/javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
	at javafx.base@18/javafx.event.Event.fireEvent(Unknown Source)
	at javafx.graphics@18/javafx.scene.Node.fireEvent(Unknown Source)
	at javafx.controls@18/javafx.scene.control.Button.fire(Unknown Source)
	at javafx.controls@18/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(Unknown Source)
	at javafx.controls@18/com.sun.javafx.scene.control.inputmap.InputMap.handle(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
	at javafx.base@18/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
	at javafx.base@18/javafx.event.Event.fireEvent(Unknown Source)
	at javafx.graphics@18/javafx.scene.Scene$MouseHandler.process(Unknown Source)
	at javafx.graphics@18/javafx.scene.Scene.processMouseEvent(Unknown Source)
	at javafx.graphics@18/javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
	at javafx.graphics@18/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
	at javafx.graphics@18/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at javafx.graphics@18/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(Unknown Source)
	at javafx.graphics@18/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source)
	at javafx.graphics@18/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
	at javafx.graphics@18/com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
	at javafx.graphics@18/com.sun.glass.ui.View.notifyMouse(Unknown Source)
	at javafx.graphics@18/com.sun.glass.ui.mac.MacView.notifyMouse(Unknown Source)
	Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/Applications/blobsaver.app/Contents/Frameworks/libimobiledevice.dylib, 9): Symbol not found: ___darwin_check_fd_set_overflow
  Referenced from: /Applications/blobsaver.app/Contents/Frameworks/libimobiledevice-glue-1.0.0.dylib (which was built for Mac OS X 11.0)
  Expected in: /usr/lib/libSystem.B.dylib
 in /Applications/blobsaver.app/Contents/Frameworks/libimobiledevice-glue-1.0.0.dylib
		at [email protected]/com.sun.jna.Native.open(Native Method)
		... 60 more
	Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/Applications/blobsaver.app/Contents/Frameworks/libimobiledevice.dylib, 9): Symbol not found: ___darwin_check_fd_set_overflow
  Referenced from: /Applications/blobsaver.app/Contents/Frameworks/libimobiledevice-glue-1.0.0.dylib (which was built for Mac OS X 11.0)
  Expected in: /usr/lib/libSystem.B.dylib
 in /Applications/blobsaver.app/Contents/Frameworks/libimobiledevice-glue-1.0.0.dylib
		at [email protected]/com.sun.jna.Native.open(Native Method)
		... 60 more
	Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/Users/moof/Library/Frameworks/imobiledevice.framework/imobiledevice, 9): image not found
		at [email protected]/com.sun.jna.Native.open(Native Method)
		... 60 more
	Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/Library/Frameworks/imobiledevice.framework/imobiledevice, 9): image not found
		at [email protected]/com.sun.jna.Native.open(Native Method)
		... 60 more
	Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/System/Library/Frameworks/imobiledevice.framework/imobiledevice, 9): image not found
		at [email protected]/com.sun.jna.Native.open(Native Method)
		... 60 more
	Suppressed: java.io.IOException: Native library (darwin-x86-64/libimobiledevice.dylib) not found in resource path ()
		at [email protected]/com.sun.jna.Native.extractFromResourcePath(Unknown Source)
		... 60 more
	Suppressed: java.lang.UnsatisfiedLinkError: Unable to load library 'imobiledevice-1.0':
dlopen(libimobiledevice-1.0.dylib, 9): image not found
dlopen(libimobiledevice-1.0.dylib, 9): image not found
dlopen(/Users/moof/Library/Frameworks/imobiledevice-1.0.framework/imobiledevice-1.0, 9): image not found
dlopen(/Library/Frameworks/imobiledevice-1.0.framework/imobiledevice-1.0, 9): image not found
dlopen(/System/Library/Frameworks/imobiledevice-1.0.framework/imobiledevice-1.0, 9): image not found
Native library (darwin-x86-64/libimobiledevice-1.0.dylib) not found in resource path ()
		... 60 more
		Suppressed: java.lang.UnsatisfiedLinkError: dlopen(libimobiledevice-1.0.dylib, 9): image not found
			at [email protected]/com.sun.jna.Native.open(Native Method)
			... 60 more
		Suppressed: java.lang.UnsatisfiedLinkError: dlopen(libimobiledevice-1.0.dylib, 9): image not found
			at [email protected]/com.sun.jna.Native.open(Native Method)
			... 60 more
		Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/Users/moof/Library/Frameworks/imobiledevice-1.0.framework/imobiledevice-1.0, 9): image not found
			at [email protected]/com.sun.jna.Native.open(Native Method)
			... 60 more
		Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/Library/Frameworks/imobiledevice-1.0.framework/imobiledevice-1.0, 9): image not found
			at [email protected]/com.sun.jna.Native.open(Native Method)
			... 60 more
		Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/System/Library/Frameworks/imobiledevice-1.0.framework/imobiledevice-1.0, 9): image not found
			at [email protected]/com.sun.jna.Native.open(Native Method)
			... 60 more
		Suppressed: java.io.IOException: Native library (darwin-x86-64/libimobiledevice-1.0.dylib) not found in resource path ()
			at [email protected]/com.sun.jna.Native.extractFromResourcePath(Unknown Source)
			... 60 more

briankendall avatar Apr 21 '22 00:04 briankendall

Try v3.2.1 and let me know if it fixes your issue.

airsquared avatar Jun 15 '22 01:06 airsquared

Tried on v3.2.1 on Mac 10.14.6 (Intel), did not fix error. Let me know if you want the log.

GunpointGaming avatar Jun 15 '22 01:06 GunpointGaming

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you would like this to remain open, please comment, otherwise this issue will be closed in 5 days.'

stale[bot] avatar Jul 10 '22 14:07 stale[bot]

I used another computer on 10.15 and got what I needed, you can close this but the problem still isn’t fixed on my personal computer.

GunpointGaming avatar Jul 10 '22 17:07 GunpointGaming

Same here with iPhone 13 Mini iOS 15.1.1 and Mac 10.13.6 (High Sierra) Here is the log:

java.lang.NoClassDefFoundError: Could not initialize class airsquared.blobsaver.app.natives.Libimobiledevice
	[removed extraneous output]
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.UnsatisfiedLinkError: Unable to load library 'imobiledevice':
dlopen(/Applications/blobsaver.app/Contents/Frameworks/libimobiledevice.dylib, 9): Symbol not found: ___darwin_check_fd_set_overflow
  Referenced from: /Applications/blobsaver.app/Contents/Frameworks/libimobiledevice-glue-1.0.0.dylib (which was built for Mac OS X 11.0)
  Expected in: /usr/lib/libSystem.B.dylib
 in /Applications/blobsaver.app/Contents/Frameworks/libimobiledevice-glue-1.0.0.dylib
dlopen(/Applications/blobsaver.app/Contents/Frameworks/libimobiledevice.dylib, 9): Symbol not found: ___darwin_check_fd_set_overflow
  Referenced from: /Applications/blobsaver.app/Contents/Frameworks/libimobiledevice-glue-1.0.0.dylib (which was built for Mac OS X 11.0)
  Expected in: /usr/lib/libSystem.B.dylib
	[removed extraneous output]

jebediah2 avatar Jul 30 '22 16:07 jebediah2

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you would like this to remain open, please comment, otherwise this issue will be closed in 5 days.'

stale[bot] avatar Sep 09 '22 01:09 stale[bot]

Confirmed not working on my 10.14 mac, iPhone 11

jawsoftware avatar Sep 15 '22 17:09 jawsoftware

It seems that when I compiled libimobiledevice in universal binaries, it lost support for macOS < 10.15. I'll have to figure out how to compile targeting a lower version.

Currently the only fix for this is to update to macOS 10.15 (Catalina) or a newer version.

airsquared avatar Nov 07 '22 01:11 airsquared

Please try this build. Let me know if it fixes it, I'll release the the fix if it works.

Sorry, it still doesn't work.

When I click on "Read ECID from device" it gives the same error.

jawsoftware avatar Dec 14 '22 10:12 jawsoftware

OK, so this confirms that read from device works fine on 10.15 (Catalina) but not on 10.14 (Mojave).

Since Mojave is an unsupported OS and every computer that can run Mojave can also run Catalina, I don't have any plans to add support for these older versions. However, if someone would like to help add support I'd welcome a PR.

If you cannot upgrade to at least Catalina for some reason you can try one of the following:

  • Use another computer to obtain device information and copy it over with File > Export Saved Devices...
  • Try replacing the blobsaver.app/Contents/Frameworks directory with an older version of the same directory from v3.0.4 (untested and likely to easily break)
  • If you're using Mojave for 32-bit support, you can reenable 32-bit support in Catalina
  • Install Catalina or a newer version in a separate APFS volume or drive to keep your existing Mojave installation
  • Try Linux in a virtual machine with USB passthrough; or install Linux on a separate partition

airsquared avatar Dec 14 '22 23:12 airsquared

I know this issue is closed but I can at least say that this issue has spontaneously cleared itself up for me. I'm still running Mojave and was surprised to find my folder for my Apple TV and iPhone 7's blobs filled and up-to-date. ~~Can't say what changed!~~ I'm still running version 3.1.0, and I guess I'll stick with it for the time being.

edit: I can say that, in the interim, I've updated Java and many libraries. One I recall in particular is Apple's iTMSTransporter library. Maybe updating that will clear up the issue? @jawsoftware Want to give that a try? I got the installer for version 3.0.0.26 from this Apple web page.

briankendall avatar Dec 17 '22 05:12 briankendall