raspberrypi / rpi-imager

The home of Raspberry Pi Imager, a user-friendly tool for creating bootable media for Raspberry Pi devices.
https://www.raspberrypi.com/software
Other
1.66k stars 252 forks source link

[BUG]: MacOS crash during flash #873

Closed hopskipnfall closed 3 months ago

hopskipnfall commented 4 months ago

What happened?

I've tried this a few times and can consistently crash my mac by doing the following:

  1. Take my MicroSD card (which came with my pi ver 1) and put it into the SD card adapter.
  2. Put the SD card adapter into my macbook pro's SD card slot
  3. Flash the device using the settings below

It takes a few minutes to flash, and after the progressbar goes to 100% it goes back to 0% and the text changes to "確認" (I assume this would be "Verifying" in English). After this starts the mac immediately crashes.

Version

1.8.5 (Default)

What host operating system were you using?

macOS

Host OS Version

14.4

Selected OS

Raspberry Pi OS Lite (32 bit)

Which Raspberry Pi Device are you using?

Raspberry Pi A, B, A+, B+, and Compute Module 1

What kind of storage device are you using?

microSD Card in an internal reader

OS Customisation

Relevant log output

Logs from Mac report window appearing after startup post-crash:

panic(cpu 0 caller 0xfffffe002b49ccf8): "dart-apcie1 (0xfffffe20002a8000): DART(DART) error: SID 1 PTE invalid exception on write of DVA 0x543d000 (TTBR 0 SEG 0x2 PTE 0x50f) ERROR_STATUS 0x81000404 TIME 0x80034650d6 TTE 0 AXI_ID 0" @AppleT6000DART.cpp:1407
Debugger message: panic
Memory ID: 0x6
OS release type: User
OS version: 23E214
Kernel version: Darwin Kernel Version 23.4.0: Wed Feb 21 21:44:43 PST 2024; root:xnu-10063.101.15~2/RELEASE_ARM64_T6000
iBoot version: iBoot-10151.101.3
secure boot?: YES
roots installed: 0
Paniclog version: 14
KernelCache slide: 0x0000000021648000
KernelCache base:  0xfffffe002864c000
Kernel slide:      0x0000000021650000
Kernel text base:  0xfffffe0028654000
Kernel text exec slide: 0x0000000022b84000
Kernel text exec base:  0xfffffe0029b88000
mach_absolute_time: 0x3128d9ca7
Epoch Time:        sec       usec
  Boot    : 0x664ca387 0x0002bcf3
  Sleep   : 0x00000000 0x00000000
  Wake    : 0x00000000 0x00000000
  Calendar: 0x664ca5a6 0x0005c0f1

Zone info:
  Zone map: 0xfffffe1000364000 - 0xfffffe3000364000
  . VM    : 0xfffffe1000364000 - 0xfffffe14cd030000
  . RO    : 0xfffffe14cd030000 - 0xfffffe16669c8000
  . GEN0  : 0xfffffe16669c8000 - 0xfffffe1b33694000
  . GEN1  : 0xfffffe1b33694000 - 0xfffffe2000360000
  . GEN2  : 0xfffffe2000360000 - 0xfffffe24cd02c000
  . GEN3  : 0xfffffe24cd02c000 - 0xfffffe2999cf8000
  . DATA  : 0xfffffe2999cf8000 - 0xfffffe3000364000
  Metadata: 0xfffffe5767ea8000 - 0xfffffe576fea8000
  Bitmaps : 0xfffffe576fea8000 - 0xfffffe5775bd0000
  Extra   : 0 - 0

TPIDRx_ELy = {1: 0xfffffe1fff41c000  0: 0x0000000000000000  0ro: 0x0000000000000000 }
CORE 0 PVH locks held: None
CORE 1 PVH locks held: None
CORE 2 PVH locks held: None
CORE 3 PVH locks held: None
CORE 4 PVH locks held: None
CORE 5 PVH locks held: None
CORE 6 PVH locks held: None
CORE 7 PVH locks held: None
CORE 8 PVH locks held: None
CORE 9 PVH locks held: None
CORE 0 is the one that panicked. Check the full backtrace for details.
CORE 1: PC=0xfffffe002a424f34, LR=0xfffffe002a42852c, FP=0xfffffe002f0f7fe0
CORE 2: PC=0x000000019d48c130, LR=0x000000019d37edd4, FP=0x000000016f0d7030
CORE 3: PC=0xfffffe0029c167e0, LR=0xfffffe002a2cd2ec, FP=0xfffffe8413eab9e0
CORE 4: PC=0xfffffe0029c1d8c0, LR=0xfffffe0029c1d8bc, FP=0xfffffe8413c73ef0
CORE 5: PC=0xfffffe0029c1d8c0, LR=0xfffffe0029c1d8bc, FP=0xfffffe8412a9fef0
CORE 6: PC=0xfffffe0029c1d8c0, LR=0xfffffe0029c1d8bc, FP=0xfffffe8413acbef0
CORE 7: PC=0xfffffe0029c1d8bc, LR=0xfffffe0029c1d8bc, FP=0xfffffe84139ffef0
CORE 8: PC=0xfffffe0029c1d8c0, LR=0xfffffe0029c1d8bc, FP=0xfffffe8412ee3ef0
CORE 9: PC=0xfffffe0029c1d8c0, LR=0xfffffe0029c1d8bc, FP=0xfffffe84125e3ef0
Compressor Info: 0% of compressed pages limit (OK) and 0% of segments limit (OK) with 0 swapfiles and OK swap space
Panicked task 0xfffffe1b3378ddf8: 0 pages, 541 threads: pid 0: kernel_task
Panicked thread: 0xfffffe1fff41c000, backtrace: 0xfffffe8fffa8b5a0, tid: 16387
          lr: 0xfffffe0029be1f70  fp: 0xfffffe8fffa8b630
          lr: 0xfffffe0029d2f7f4  fp: 0xfffffe8fffa8b6a0
          lr: 0xfffffe0029d2daec  fp: 0xfffffe8fffa8b760
          lr: 0xfffffe0029b8fba8  fp: 0xfffffe8fffa8b770
          lr: 0xfffffe0029be184c  fp: 0xfffffe8fffa8bb20
          lr: 0xfffffe002a4033ec  fp: 0xfffffe8fffa8bb40
          lr: 0xfffffe002b49ccf8  fp: 0xfffffe8fffa8bda0
          lr: 0xfffffe002b49c848  fp: 0xfffffe8fffa8be40
          lr: 0xfffffe002b49c094  fp: 0xfffffe8fffa8bef0
          lr: 0xfffffe002a3063ac  fp: 0xfffffe8fffa8bf30
          lr: 0xfffffe002af923a8  fp: 0xfffffe8fffa8bfd0
          lr: 0xfffffe0029d311a8  fp: 0xfffffe8fffa8bfe0
          lr: 0xfffffe0029b8fc1c  fp: 0xfffffe8fffa8bff0
          lr: 0xfffffe0029c5c26c  fp: 0xfffffe8413affb80
          lr: 0xfffffe0029c5c26c  fp: 0xfffffe8413affc00
          lr: 0xfffffe0029bf4858  fp: 0xfffffe8413affc30
          lr: 0xfffffe002a228c48  fp: 0xfffffe8413affc50
          lr: 0xfffffe002a2286f0  fp: 0xfffffe8413affca0
          lr: 0xfffffe002a2ba60c  fp: 0xfffffe8413affdc0
          lr: 0xfffffe002a2b99d8  fp: 0xfffffe8413affe40
          lr: 0xfffffe002a2c0038  fp: 0xfffffe8413afff20
          lr: 0xfffffe0029b98f08  fp: 0x0000000000000000
      Kernel Extensions in backtrace:
         com.apple.driver.AppleT6000DART(1.0)[635D8836-FE29-3693-8F51-3CDD1EF7200E]@0xfffffe002b497960->0xfffffe002b49eaf3
            dependency: com.apple.driver.AppleARMPlatform(1.0.2)[CA20CCD7-2ED1-3D42-86C2-883736844281]@0xfffffe002a5a0590->0xfffffe002a5f3b8b
            dependency: com.apple.driver.IODARTFamily(1)[ECF71A57-6BD1-3780-A7AE-17D15DBC393D]@0xfffffe002bfc2030->0xfffffe002bfd5e53
         com.apple.driver.AppleInterruptControllerV2(1.0d1)[99FDF29B-35BB-316A-A4F3-4DD19A093CB2]@0xfffffe002af908d0->0xfffffe002af9315b
            dependency: com.apple.driver.AppleARMPlatform(1.0.2)[CA20CCD7-2ED1-3D42-86C2-883736844281]@0xfffffe002a5a0590->0xfffffe002a5f3b8b

last started kext at 9472251384: com.apple.iokit.SCSITaskUserClient 495 (addr 0xfffffe0028e81b80, size 2190)
loaded kexts:
com.apple.iokit.SCSITaskUserClient  495
com.apple.driver.AppleUSBMassStorageInterfaceNub    556
com.apple.filesystems.autofs    3.0
com.apple.driver.AppleTopCaseHIDEventDriver 7440.8
com.apple.driver.AppleBiometricServices 1
com.apple.driver.CoreKDL    1
com.apple.driver.DiskImages.ReadWriteDiskImage  493.0.0
com.apple.driver.DiskImages.UDIFDiskImage   493.0.0
com.apple.driver.DiskImages.RAMBackingStore 493.0.0
com.apple.driver.DiskImages.FileBackingStore    493.0.0
com.apple.driver.BCMWLANFirmware4387.Hashstore  1
com.apple.driver.SEPHibernation 1
com.apple.driver.AppleUSBDeviceNCM  5.0.0
com.apple.driver.AppleFileSystemDriver  3.0.1
com.apple.nke.l2tp  1.9
com.apple.filesystems.tmpfs 1
com.apple.filesystems.nfs   1
com.apple.filesystems.lifs  1
com.apple.filesystems.apfs  2236.101.1
com.apple.IOTextEncryptionFamily    1.0.0
com.apple.filesystems.hfs.kext  650.0.2
com.apple.security.BootPolicy   1
com.apple.BootCache 40
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1
com.apple.driver.AppleSmartBatteryManager   161.0.0
com.apple.driver.AppleThunderboltIP 4.0.3
com.apple.driver.AppleALSColorSensor    1.0.0d1
com.apple.driver.AppleCS42L84Audio  740.41
com.apple.driver.AppleSmartIO2  1
com.apple.AppleEmbeddedSimpleSPINORFlasher  1
com.apple.driver.AppleSN012776Amp   740.41
com.apple.driver.ApplePMP   1
com.apple.driver.AppleAOPVoiceTrigger   340.42
com.apple.driver.AppleT6000SOCTuner 1
com.apple.driver.AppleT6000CLPCv3   1
com.apple.driver.ApplePMPFirmware   1
com.apple.driver.AppleDPDisplayTCON 1
com.apple.driver.AppleInterruptControllerV2 1.0.0d1
com.apple.driver.AppleS8000DWI  1.0.0d1
com.apple.driver.AppleS8000AES  1
com.apple.driver.AppleMobileDispT600X-DCP   140.0
com.apple.driver.AppleMCDP29XXUpdateSupport 1
com.apple.driver.AppleProResHW  350.47.0
com.apple.driver.AppleJPEGDriver    6.6.2
com.apple.driver.AppleSamsungSerial 1.0.0d1
com.apple.driver.AppleSerialShim    1
com.apple.driver.AppleT6000PMGR 1
com.apple.driver.AppleS5L8960XNCO   1
com.apple.driver.AppleEventLogHandler   1
com.apple.driver.usb.AppleSynopsysUSB40XHCI 1
com.apple.driver.AppleAVE2  760.23.1
com.apple.driver.AppleAVD   740
com.apple.AGXG13X   280.3.9
com.apple.driver.AppleT8110DART 1
com.apple.driver.AppleBluetoothModule   1
com.apple.driver.AppleBCMWLANBusInterfacePCIe   1
com.apple.driver.AppleS5L8920XPWM   1.0.0d1
com.apple.driver.AudioDMAController-T600x   340.58
com.apple.driver.AppleT6000DART 1
com.apple.driver.AppleSPIMC 1
com.apple.driver.AppleS5L8940XI2C   1.0.0d2
com.apple.driver.AppleT6000 1
com.apple.driver.AppleSDXC  3.5.1
com.apple.driver.AppleM68Buttons    1.0.0d1
com.apple.iokit.IOUserEthernet  1.0.1
com.apple.driver.usb.AppleUSBUserHCI    1
com.apple.iokit.IOKitRegistryCompatibility  1
com.apple.iokit.EndpointSecurity    1
com.apple.driver.AppleUIO   1
com.apple.driver.AppleDiskImages2   276.100.16
com.apple.AppleSystemPolicy 2.0.0
com.apple.nke.applicationfirewall   404
com.apple.kec.InvalidateHmac    1
com.apple.kec.AppleEncryptedArchive 1
com.apple.driver.usb.cdc    5.0.0
com.apple.driver.AppleUSBAudio  640.12
com.apple.iokit.IOAudioFamily   540.3
com.apple.vecLib.kext   1.2.0
com.apple.driver.driverkit.serial   6.0.0
com.apple.iokit.IOAVBFamily 1220.1
com.apple.driver.AppleHSBluetoothDriver 7440.8
com.apple.driver.IOBluetoothHIDDriver   9.0.0
com.apple.driver.AppleActuatorDriver    7440.9
com.apple.driver.AppleMultitouchDriver  7440.9
com.apple.driver.AppleHIDKeyboard   7440.3
com.apple.driver.AppleMesaSEPDriver 100.99
com.apple.iokit.IOBiometricFamily   1
com.apple.driver.DiskImages.KernelBacked    493.0.0
com.apple.driver.AppleXsanScheme    3
com.apple.driver.AppleSEPHDCPManager    1.0.1
com.apple.driver.AppleTrustedAccessory  1
com.apple.iokit.AppleSEPGenericTransfer 1
com.apple.driver.usb.networking 5.0.0
com.apple.nke.ppp   1.9
com.apple.driver.AppleBSDKextStarter    3
com.apple.kext.triggers 1.0
com.apple.filesystems.hfs.encodings.kext    1
com.apple.driver.AppleSyntheticGameController   11.4.11
com.apple.driver.AppleBTM   1.0.1
com.apple.driver.IOHIDPowerSource   1
com.apple.driver.AppleCallbackPowerSource   1
com.apple.driver.AppleConvergedIPCOLYBTControl  1
com.apple.driver.AppleConvergedPCI  1
com.apple.driver.AppleBluetoothDebug    1
com.apple.driver.AppleThunderboltPCIDownAdapter 4.1.1
com.apple.driver.AppleThunderboltDPInAdapter    8.5.1
com.apple.driver.AppleThunderboltDPAdapterFamily    8.5.1
com.apple.driver.AppleThunderboltUSBDownAdapter 1.0.4
com.apple.driver.AppleCSEmbeddedAudio   740.41
com.apple.driver.AppleHIDTransportSPI   7440.1
com.apple.driver.AppleHIDTransport  7440.1
com.apple.driver.AppleInputDeviceSupport    7440.1
com.apple.plugin.IOgPTPPlugin   1240.15
com.apple.driver.AppleDiagnosticDataAccessReadOnly  1.0.0
com.apple.driver.AppleDCPDPTXProxy  1.0.0
com.apple.driver.DCPDPFamilyProxy   1
com.apple.driver.AppleAOPAudio  340.4
com.apple.driver.AppleEmbeddedAudio 740.41
com.apple.iokit.AppleARMIISAudio    340.16
com.apple.driver.IISAudioIsolatedStreamECProxy  340.16
com.apple.driver.ExclavesAudioKext  1
com.apple.driver.ApplePassthroughPPM    3.0
com.apple.driver.AppleStockholmControl  1.0.0
com.apple.driver.AppleSPMIPMU   1.0.1
com.apple.driver.AppleDialogPMU 1.0.1
com.apple.driver.AppleSPU   1
com.apple.AGXFirmwareKextG13XRTBuddy    280.3.9
com.apple.AGXFirmwareKextRTBuddy64  280.3.9
com.apple.iokit.IONVMeFamily    2.1.0
com.apple.driver.AppleNANDConfigAccess  1.0.0
com.apple.driver.AppleDisplayCrossbar   1.0.0
com.apple.driver.AppleARMWatchdogTimer  1
com.apple.driver.AppleSPMI  1.0.1
com.apple.driver.AppleMobileApNonce 1
com.apple.iokit.IOMobileGraphicsFamily-DCP  343.0.0
com.apple.iokit.IOMobileGraphicsFamily  343.0.0
com.apple.driver.AppleDCP   1
com.apple.driver.AppleT6000TypeCPhy 1
com.apple.driver.AppleT8103TypeCPhy 1
com.apple.driver.AppleSART  1
com.apple.driver.AppleHPM   3.4.4
com.apple.iokit.IODisplayPortFamily 1.0.0
com.apple.driver.DCPAVFamilyProxy   1
com.apple.driver.AppleFirmwareKit   1
com.apple.driver.AppleM2ScalerCSCDriver 265.0.0
com.apple.driver.ApplePMGR  1
com.apple.driver.AppleA7IOP-ASCWrap-v4  1.0.2
com.apple.driver.AppleUSBXDCIARM    1.0
com.apple.driver.AppleUSBXDCI   1.0
com.apple.iokit.IOUSBDeviceFamily   2.0.0
com.apple.driver.usb.AppleSynopsysUSBXHCI   1
com.apple.driver.usb.AppleUSBXHCI   1.2
com.apple.driver.AppleTypeCPhy  1
com.apple.driver.AppleEmbeddedUSBHost   1
com.apple.driver.usb.AppleUSBHub    1.2
com.apple.driver.usb.AppleUSBHostCompositeDevice    1.2
com.apple.driver.AppleA7IOP-M3Wrap-v2   1.0.2
com.apple.iokit.IOGPUFamily 93.40.3
com.apple.driver.AppleThunderboltNHI    7.2.81
com.apple.driver.AppleT6000PCIeC    1
com.apple.iokit.IOThunderboltFamily 9.3.3
com.apple.iokit.IOPortFamily    1.0
com.apple.driver.ApplePIODMA    1
com.apple.driver.AppleT600xPCIe 1
com.apple.driver.AppleMultiFunctionManager  1
com.apple.driver.AppleBluetoothDebugService 1
com.apple.driver.AppleBCMWLANCore   1.0.0
com.apple.iokit.IO80211Family   1200.13.0
com.apple.driver.IOImageLoader  1.0.0
com.apple.driver.AppleOLYHAL    1
com.apple.driver.corecapture    1.0.4
com.apple.driver.AppleMCA2-T600x    840.3
com.apple.driver.AppleEmbeddedAudioLibs 340.8
com.apple.driver.AppleFirmwareUpdateKext    1
com.apple.driver.AppleH13CameraInterface    8.500.0
com.apple.driver.AppleGPIOICController  1.0.2
com.apple.driver.AppleFireStormErrorHandler 1
com.apple.driver.AppleEmbeddedPCIE  1
com.apple.driver.usb.AppleUSBHostPacketFilter   1.0
com.apple.iokit.IOTimeSyncFamily    1240.15
com.apple.driver.DiskImages 493.0.0
com.apple.iokit.IOGraphicsFamily    598
com.apple.iokit.IOBluetoothFamily   9.0.0
com.apple.driver.AppleSSE   1.0
com.apple.driver.AppleSEPKeyStore   2
com.apple.driver.AppleUSBTDM    556
com.apple.iokit.IOUSBMassStorageDriver  245
com.apple.iokit.IOPCIFamily 2.9
com.apple.iokit.IOUSBHostFamily 1.2
com.apple.driver.AppleUSBHostMergeProperties    1.2
com.apple.driver.usb.AppleUSBCommon 1.0
com.apple.driver.AppleSMC   3.1.9
com.apple.driver.RTBuddy    1.0.0
com.apple.driver.AppleEmbeddedTempSensor    1.0.0
com.apple.driver.AppleARMPMU    1.0
com.apple.iokit.IOAccessoryManager  1.0.0
com.apple.driver.AppleOnboardSerial 1.0
com.apple.iokit.IOSerialFamily  11
com.apple.iokit.IOSCSIBlockCommandsDevice   495
com.apple.iokit.IOSCSIArchitectureModelFamily   495
com.apple.driver.AppleRSMChannel    1
com.apple.iokit.IORSMFamily 1
com.apple.driver.AppleLockdownMode  1
com.apple.driver.AppleIPAppender    1.0
com.apple.iokit.IOSkywalkFamily 1.0
com.apple.driver.mDNSOffloadUserClient  1.0.1b8
com.apple.iokit.IONetworkingFamily  3.4
com.apple.driver.AppleFDEKeyStore   28.30
com.apple.driver.AppleEffaceableStorage 1.0
com.apple.driver.AppleCredentialManager 1.0
com.apple.driver.AppleSEPManager    1.0.1
com.apple.driver.AppleA7IOP 1.0.2
com.apple.driver.IOSlaveProcessor   1
com.apple.driver.AppleBiometricSensor   2
com.apple.iokit.IOHIDFamily 2.0.0
com.apple.driver.AppleANELoadBalancer   7.400.0
com.apple.driver.AppleH11ANEInterface   7.400.0
com.apple.driver.IODARTFamily   1
com.apple.AUC   1.0
com.apple.iokit.IOSurface   352.41.7
com.apple.iokit.IOAVFamily  1.0.0
com.apple.iokit.IOHDCPFamily    1.0.0
com.apple.iokit.IOCECFamily 1
com.apple.iokit.IOAudio2Family  1.0
com.apple.driver.AppleIISController 340.1
com.apple.driver.AppleAudioClockLibs    340.8
com.apple.driver.FairPlayIOKit  71.10.0
com.apple.driver.AppleARMPlatform   1.0.2
com.apple.iokit.IOSlowAdaptiveClockingFamily    1.0.0
com.apple.iokit.IOReportFamily  47
com.apple.security.quarantine   4
com.apple.security.sandbox  300.0
com.apple.iokit.IOStorageFamily 2.1
com.apple.kext.AppleMatch   1.0.0d1
com.apple.driver.AppleMobileFileIntegrity   1.0.5
com.apple.iokit.CoreAnalyticsFamily 1
com.apple.security.AppleImage4  6.3.0
com.apple.kext.CoreTrust    1
com.apple.iokit.IOCryptoAcceleratorFamily   1.0.1
com.apple.kec.pthread   1
com.apple.kec.Libm  1
com.apple.kec.Compression   1.0
com.apple.kec.corecrypto    14.0

** Stackshot Succeeded ** Bytes Traced 356153 (Uncompressed 890368) **
tdewey-rpi commented 4 months ago

I'm not convinced this is directly a bug in Imager - we shouldn't have the power to bring down the hybrid-kernel design of macOS. I suspect the smoking gun is in the early parts of the report:

SID 1 PTE invalid exception on write of DVA 0x543d000 (TTBR 0 SEG 0x2 PTE 0x50f) ERROR_STATUS 0x81000404 TIME 0x80034650d6 TTE 0 AXI_ID 0" @AppleT6000DART.cpp:1407

Unfortunately I don't have enough knowledge of Apple's SoC to tell you precisely what went wrong, but it appears to be reporting an invalid page table entry while trying to write to a virtual address - all of which would be managed by Apple's kernel drivers, specifically: AppleT6000DART.cpp:1407

Assuming you were comfortable with the information disclosure, I hope you reported the problem to Apple. Can you reproduce this issue using Imager?

hopskipnfall commented 4 months ago

Hi Tom, thanks for the response.

Agreed.. I was surprised this was something that could even be caused by Imager, but at the very least by following those steps outlined above using the Imager app I can consistently crash my mbp in the same way at the same place in the flashing process. I just thought I'd report it here in case it's a pattern for other users.

tdewey-rpi commented 4 months ago

I'll try and reproduce it on my M1 Pro.

tdewey-rpi commented 4 months ago

Tried to reproduce this on my Mac running 14.4.1 and Imager 1.8.5 and failed.

This isn't entirely surprising, of course - I use Imager on a daily basis and have never seen anything quite like the report you've found. Nor would I expect it to be so reproducible.

Do you also see it with other SDcards, or with other writing applications (eg, Balena Etcher)?

lurch commented 4 months ago

Looks like users of Balena Etcher on macOS have been getting the same error too https://github.com/balena-io/etcher/issues/4215

tdewey-rpi commented 3 months ago

Based on that report from Balena, which implicates the same Apple kernel driver, I'm inclined to close this as Won't fix, because there's nothing inside Raspberry Pi Imager to change.

Unfortunately I'm also not aware of a public Apple Radar issue for this problem, so I'd encourage @hopskipnfall to contact Apple for an update.

Chizkiyahu commented 2 months ago

I have the same error 3 times today during writing or validation reinstall the imager solve that