Code Monkey home page Code Monkey logo

Comments (30)

yeahdongcn avatar yeahdongcn commented on July 21, 2024 3

@rickmark I don't have a ticket number, but perhaps @yeahdongcn knows if a fix is forthcoming or if there are any workarounds we could try.

Perhaps it is time to consider integrating support for using qemu-img to create the vmdk, so that there is a supported workflow for VMWare Fusion 11 users.

Yes, this issue will be resolved in the next Fusion 11 release.

from macinbox.

yeahdongcn avatar yeahdongcn commented on July 21, 2024 2

@yeahdongcn - any progress on your end about a fix in fusion?

This issue has been marked as fixed internally. We will create a PR once a new version of Fusion which contains the fix gets released.

from macinbox.

epackorigan avatar epackorigan commented on July 21, 2024 1

the other possible workaround is to do the following:

  • install VMware Fusion 10, and upgrade to latest version
  • copy the /Applications/VMware Fusion.app to /Application/VMware Fusion 10.app
  • Upgrade to vmware Fusion 11 (the one in /Applications/VMware Fusion.app) and add any updates on top of that.

Then, when running macinbox, you can use the --vmware /Applications/VMware Fusion 10.app as an additional parameter to make this work.

When Fusion 11 is fixed, simply stop using the additional flag, and delete the old version of the app.

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024 1

v3.2.0 has been released to rubygems.org.

from macinbox.

rickmark avatar rickmark commented on July 21, 2024 1

Rather then modifying the system in this way (who knows the surface area impact), can't we just ask that fusion be running, and check that it is at the beginning of the process?

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024 1

v3.4.0 has been released. Closing.

from macinbox.

rickmark avatar rickmark commented on July 21, 2024

Defiantly a problem with vmware-vdiskmanager on macOS 10.14

Creating disk '/Users/rickmark/macinbox.sparse.vmdk'
Process 16610 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x50)
    frame #0: 0x00007fff7773de3a libdispatch.dylib`_dispatch_sync_f + 3
libdispatch.dylib`_dispatch_sync_f:
->  0x7fff7773de3a <+3>:  movzwl 0x50(%rdi), %eax
    0x7fff7773de3e <+7>:  cmpl   $0x1, %eax
    0x7fff7773de41 <+10>: jne    0x7fff7773de4b            ; <+20>
    0x7fff7773de43 <+12>: movq   %r9, %rcx
Target 0: (vmware-vdiskmanager) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x50)
  * frame #0: 0x00007fff7773de3a libdispatch.dylib`_dispatch_sync_f + 3
    frame #1: 0x00000001001aa0a3 vmware-vdiskmanager`___lldb_unnamed_symbol6446$$vmware-vdiskmanager + 115
    frame #2: 0x00000001001309ea vmware-vdiskmanager`___lldb_unnamed_symbol5066$$vmware-vdiskmanager + 154
    frame #3: 0x000000010011f797 vmware-vdiskmanager`___lldb_unnamed_symbol4839$$vmware-vdiskmanager + 23
    frame #4: 0x000000010011e6ce vmware-vdiskmanager`___lldb_unnamed_symbol4786$$vmware-vdiskmanager + 1502
    frame #5: 0x00000001001005ad vmware-vdiskmanager`___lldb_unnamed_symbol4473$$vmware-vdiskmanager + 957
    frame #6: 0x0000000100102aad vmware-vdiskmanager`___lldb_unnamed_symbol4487$$vmware-vdiskmanager + 621
    frame #7: 0x00000001000f6f4d vmware-vdiskmanager`___lldb_unnamed_symbol4404$$vmware-vdiskmanager + 173
    frame #8: 0x00000001000f30cb vmware-vdiskmanager`___lldb_unnamed_symbol4330$$vmware-vdiskmanager + 315
    frame #9: 0x00000001000d0e48 vmware-vdiskmanager`___lldb_unnamed_symbol3960$$vmware-vdiskmanager + 504
    frame #10: 0x00000001000d2a85 vmware-vdiskmanager`___lldb_unnamed_symbol3985$$vmware-vdiskmanager + 117
    frame #11: 0x000000010000c5c7 vmware-vdiskmanager`___lldb_unnamed_symbol74$$vmware-vdiskmanager + 1623
    frame #12: 0x0000000100004b9b vmware-vdiskmanager`___lldb_unnamed_symbol5$$vmware-vdiskmanager + 6027
    frame #13: 0x00000001000051f0 vmware-vdiskmanager`___lldb_unnamed_symbol10$$vmware-vdiskmanager + 48
    frame #14: 0x00007fff77788085 libdyld.dylib`start + 1
Process 16610 launched: '/Applications/VMware Fusion.app/Contents/Library/vmware-vdiskmanager' (x86_64)
Creating disk '/Users/rickmark/macinbox.sparse.vmdk'
Process 16610 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x50)
    frame #0: 0x00007fff7773de3a libdispatch.dylib`_dispatch_sync_f + 3
libdispatch.dylib`_dispatch_sync_f:
->  0x7fff7773de3a <+3>:  movzwl 0x50(%rdi), %eax
    0x7fff7773de3e <+7>:  cmpl   $0x1, %eax
    0x7fff7773de41 <+10>: jne    0x7fff7773de4b            ; <+20>
    0x7fff7773de43 <+12>: movq   %r9, %rcx
Target 0: (vmware-vdiskmanager) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x50)
  * frame #0: 0x00007fff7773de3a libdispatch.dylib`_dispatch_sync_f + 3
    frame #1: 0x00000001001aa0a3 vmware-vdiskmanager`___lldb_unnamed_symbol6446$$vmware-vdiskmanager + 115
    frame #2: 0x00000001001309ea vmware-vdiskmanager`___lldb_unnamed_symbol5066$$vmware-vdiskmanager + 154
    frame #3: 0x000000010011f797 vmware-vdiskmanager`___lldb_unnamed_symbol4839$$vmware-vdiskmanager + 23
    frame #4: 0x000000010011e6ce vmware-vdiskmanager`___lldb_unnamed_symbol4786$$vmware-vdiskmanager + 1502
    frame #5: 0x00000001001005ad vmware-vdiskmanager`___lldb_unnamed_symbol4473$$vmware-vdiskmanager + 957
    frame #6: 0x0000000100102aad vmware-vdiskmanager`___lldb_unnamed_symbol4487$$vmware-vdiskmanager + 621
    frame #7: 0x00000001000f6f4d vmware-vdiskmanager`___lldb_unnamed_symbol4404$$vmware-vdiskmanager + 173
    frame #8: 0x00000001000f30cb vmware-vdiskmanager`___lldb_unnamed_symbol4330$$vmware-vdiskmanager + 315
    frame #9: 0x00000001000d0e48 vmware-vdiskmanager`___lldb_unnamed_symbol3960$$vmware-vdiskmanager + 504
    frame #10: 0x00000001000d2a85 vmware-vdiskmanager`___lldb_unnamed_symbol3985$$vmware-vdiskmanager + 117
    frame #11: 0x000000010000c5c7 vmware-vdiskmanager`___lldb_unnamed_symbol74$$vmware-vdiskmanager + 1623
    frame #12: 0x0000000100004b9b vmware-vdiskmanager`___lldb_unnamed_symbol5$$vmware-vdiskmanager + 6027
    frame #13: 0x00000001000051f0 vmware-vdiskmanager`___lldb_unnamed_symbol10$$vmware-vdiskmanager + 48
    frame #14: 0x00007fff77788085 libdyld.dylib`start + 1
(lldb) frame v
(lldb) thread list
Process 16610 stopped
* thread #1: tid = 0x2b6d1, 0x00007fff7773de3a libdispatch.dylib`_dispatch_sync_f + 3, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x50)
  thread #2: tid = 0x2b6e7, 0x00007fff778c25be libsystem_kernel.dylib`__workq_kernreturn + 10
(lldb) frame info
frame #0: 0x00007fff7773de3a libdispatch.dylib`_dispatch_sync_f + 3
(lldb) register read --all
General Purpose Registers:
       rax = 0x00007fffa980a678  libdispatch.dylib`_dispatch_block_special_invoke
       rbx = 0x000000010232c3d0
       rcx = 0x0000000000000010
       rdx = 0x00000001001aa0d0  vmware-vdiskmanager`___lldb_unnamed_symbol6447$$vmware-vdiskmanager
       rdi = 0x0000000000000000
       rsi = 0x00007ffeefbfebd0
       rbp = 0x00007ffeefbfec30
       rsp = 0x00007ffeefbfebc8
        r8 = 0x0000000010230f61
        r9 = 0x0000000000000010
       r10 = 0x0000000000000001
       r11 = 0x0000000000000003
       r12 = 0x000000010233c370
       r13 = 0x0000000000000000
       r14 = 0x00007ffeefbfec00
       r15 = 0x00000001001f26f5  "open"
       rip = 0x00007fff7773de3a  libdispatch.dylib`_dispatch_sync_f + 3
    rflags = 0x0000000000010206
        cs = 0x000000000000002b
        fs = 0x0000000000000000
        gs = 0x0000000000000000
       eax = 0xa980a678
       ebx = 0x0232c3d0
       ecx = 0x00000010
       edx = 0x001aa0d0
       edi = 0x00000000
       esi = 0xefbfebd0
       ebp = 0xefbfec30
       esp = 0xefbfebc8
       r8d = 0x10230f61
       r9d = 0x00000010
      r10d = 0x00000001
      r11d = 0x00000003
      r12d = 0x0233c370
      r13d = 0x00000000
      r14d = 0xefbfec00
      r15d = 0x001f26f5
        ax = 0xa678
        bx = 0xc3d0
        cx = 0x0010
        dx = 0xa0d0
        di = 0x0000
        si = 0xebd0
        bp = 0xec30
        sp = 0xebc8
       r8w = 0x0f61
       r9w = 0x0010
      r10w = 0x0001
      r11w = 0x0003
      r12w = 0xc370
      r13w = 0x0000
      r14w = 0xec00
      r15w = 0x26f5
        ah = 0xa6
        bh = 0xc3
        ch = 0x00
        dh = 0xa0
        al = 0x78
        bl = 0xd0
        cl = 0x10
        dl = 0xd0
       dil = 0x00
       sil = 0xd0
       bpl = 0x30
       spl = 0xc8
       r8l = 0x61
       r9l = 0x10
      r10l = 0x01
      r11l = 0x03
      r12l = 0x70
      r13l = 0x00
      r14l = 0x00
      r15l = 0xf5

Floating Point Registers:
     fctrl = 0x037f
     fstat = 0x0000
      ftag = 0x0000
       fop = 0x0000
     fioff = 0x00000000
     fiseg = 0x0000
     fooff = 0x00000000
     foseg = 0x0000
     mxcsr = 0x00001fa0
  mxcsrmask = 0x0000ffff
     stmm0 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xff 0xff}
     stmm1 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     stmm2 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     stmm3 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     stmm4 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     stmm5 = {0x84 0xff 0x73 0xff 0x00 0x00 0x00 0x00 0xff 0xff}
     stmm6 = {0xfc 0xe1 0x8e 0x01 0x00 0x00 0x00 0x00 0xff 0xff}
     stmm7 = {0xfe 0xd1 0xff 0xff 0x00 0x00 0x00 0x00 0xff 0xff}
      ymm0 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm1 = {0x00 0x00 0x00 0x00 0x00 0x00 0xf0 0x3f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm2 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm3 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm4 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm5 = {0x84 0x09 0xf5 0xcf 0xa3 0x85 0x62 0x12 0xf1 0xc0 0xa6 0xe7 0x63 0xce 0x08 0xfd 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm6 = {0xc9 0xf3 0xc4 0x2a 0x9f 0x75 0x12 0x21 0x78 0x27 0x98 0x78 0xa2 0xa1 0xab 0x41 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm7 = {0xad 0xb3 0x5d 0xb0 0xcf 0x93 0x85 0x87 0xef 0xe6 0x14 0xb2 0x70 0x3a 0x56 0xf5 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm8 = {0x84 0xcd 0xe0 0xc7 0x34 0xbf 0xb5 0x3a 0x18 0x55 0xbf 0x80 0xb4 0x9b 0x87 0xeb 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm9 = {0x3b 0xca 0xd8 0xe8 0x38 0x7b 0x00 0xb1 0xc5 0xb3 0x8b 0x48 0xbd 0x63 0x05 0x71 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     ymm10 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     ymm11 = {0xd6 0xc1 0x62 0xca 0xd6 0xc1 0x62 0xca 0xd6 0xc1 0x62 0xca 0xd6 0xc1 0x62 0xca 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     ymm12 = {0x7d 0x8d 0x8d 0x6a 0xd7 0x76 0x76 0x91 0x7d 0x8d 0x8d 0x6a 0xd7 0x76 0x76 0x91 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     ymm13 = {0x53 0x54 0xed 0xc1 0x5e 0x5b 0xe2 0x6d 0x31 0x37 0x8e 0xa2 0x3c 0x38 0x81 0x0e 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     ymm14 = {0x96 0x8a 0x81 0xc1 0x41 0xfc 0xf7 0x50 0x3c 0x71 0x7a 0x3a 0xeb 0x07 0x0c 0xab 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     ymm15 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      xmm0 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      xmm1 = {0x00 0x00 0x00 0x00 0x00 0x00 0xf0 0x3f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      xmm2 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      xmm3 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      xmm4 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      xmm5 = {0x84 0x09 0xf5 0xcf 0xa3 0x85 0x62 0x12 0xf1 0xc0 0xa6 0xe7 0x63 0xce 0x08 0xfd}
      xmm6 = {0xc9 0xf3 0xc4 0x2a 0x9f 0x75 0x12 0x21 0x78 0x27 0x98 0x78 0xa2 0xa1 0xab 0x41}
      xmm7 = {0xad 0xb3 0x5d 0xb0 0xcf 0x93 0x85 0x87 0xef 0xe6 0x14 0xb2 0x70 0x3a 0x56 0xf5}
      xmm8 = {0x84 0xcd 0xe0 0xc7 0x34 0xbf 0xb5 0x3a 0x18 0x55 0xbf 0x80 0xb4 0x9b 0x87 0xeb}
      xmm9 = {0x3b 0xca 0xd8 0xe8 0x38 0x7b 0x00 0xb1 0xc5 0xb3 0x8b 0x48 0xbd 0x63 0x05 0x71}
     xmm10 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     xmm11 = {0xd6 0xc1 0x62 0xca 0xd6 0xc1 0x62 0xca 0xd6 0xc1 0x62 0xca 0xd6 0xc1 0x62 0xca}
     xmm12 = {0x7d 0x8d 0x8d 0x6a 0xd7 0x76 0x76 0x91 0x7d 0x8d 0x8d 0x6a 0xd7 0x76 0x76 0x91}
     xmm13 = {0x53 0x54 0xed 0xc1 0x5e 0x5b 0xe2 0x6d 0x31 0x37 0x8e 0xa2 0x3c 0x38 0x81 0x0e}
     xmm14 = {0x96 0x8a 0x81 0xc1 0x41 0xfc 0xf7 0x50 0x3c 0x71 0x7a 0x3a 0xeb 0x07 0x0c 0xab}
     xmm15 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x04}

Exception State Registers:
    trapno = 0x0000000e
       err = 0x00000004
  faultvaddr = 0x0000000000000050

(lldb) d
libdispatch.dylib`_dispatch_sync_f:
    0x7fff7773de37 <+0>:   movq   %rcx, %r9
->  0x7fff7773de3a <+3>:   movzwl 0x50(%rdi), %eax
    0x7fff7773de3e <+7>:   cmpl   $0x1, %eax
    0x7fff7773de41 <+10>:  jne    0x7fff7773de4b            ; <+20>
    0x7fff7773de43 <+12>:  movq   %r9, %rcx
    0x7fff7773de46 <+15>:  jmp    0x7fff7773dd5f            ; _dispatch_barrier_sync_f
    0x7fff7773de4b <+20>:  movq   (%rdi), %rax
    0x7fff7773de4e <+23>:  cmpb   $0x11, 0x28(%rax)
    0x7fff7773de52 <+27>:  jne    0x7fff7773dea6            ; <+111>
    0x7fff7773de54 <+29>:  cmpq   $0x0, 0x30(%rdi)
    0x7fff7773de59 <+34>:  jne    0x7fff7773de94            ; <+93>
    0x7fff7773de5b <+36>:  movq   0x38(%rdi), %rax
    0x7fff7773de5f <+40>:  movabsq $-0x3ffe8000000000, %rcx  ; imm = 0xFFC0018000000000 
    0x7fff7773de69 <+50>:  movabsq $0x20000000000, %r8       ; imm = 0x20000000000 
    0x7fff7773de73 <+60>:  testq  %rcx, %rax
    0x7fff7773de76 <+63>:  jne    0x7fff7773de94            ; <+93>
    0x7fff7773de78 <+65>:  leaq   (%rax,%r8), %r10
    0x7fff7773de7c <+69>:  lock   
    0x7fff7773de7d <+70>:  cmpxchgq %r10, 0x38(%rdi)
    0x7fff7773de82 <+75>:  jne    0x7fff7773de73            ; <+60>
    0x7fff7773de84 <+77>:  movq   0x18(%rdi), %rax
    0x7fff7773de88 <+81>:  cmpq   $0x0, 0x18(%rax)
    0x7fff7773de8d <+86>:  jne    0x7fff7773de9e            ; <+103>
    0x7fff7773de8f <+88>:  jmp    0x7fff77745f17            ; _dispatch_sync_invoke_and_complete
    0x7fff7773de94 <+93>:  xorl   %ecx, %ecx
    0x7fff7773de96 <+95>:  movq   %rdi, %r8
    0x7fff7773de99 <+98>:  jmp    0x7fff77745820            ; _dispatch_sync_f_slow
    0x7fff7773de9e <+103>: movq   %r9, %rcx
    0x7fff7773dea1 <+106>: jmp    0x7fff77745920            ; _dispatch_sync_recurse
    0x7fff7773dea6 <+111>: leaq   0x2ac72(%rip), %rcx       ; "BUG IN CLIENT OF LIBDISPATCH: Queue type doesn't support dispatch_sync"
    0x7fff7773dead <+118>: movq   %rcx, 0x320d30bc(%rip)    ; gCRAnnotations + 8
    0x7fff7773deb4 <+125>: ud2    
(lldb) 

from macinbox.

rickmark avatar rickmark commented on July 21, 2024

Workaround:

$ hdiutil attach macinbox.dmg -nomount -readonly
$ sudo dd if=/dev/diskN bs=1m of=~/macinbox.raw
$ qemu-img convert -O vmdk ~/macinbox.raw ~/macinbox.vmdk
$ "/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -t 0 -r ~/macinbox.vmdk ~/macinbox.sparse.vmdk

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024

@lfaraone, thank you for this report. As the README says, this tool has only been tested to work with VMware Fusion Pro 10.1.3.

I noticed a similar failure occur when using with Fusion 11, which I mentioned here: #11 (comment)

That failure was with vmware-rawdiskCreator. I granted that tool Full Disk Access and then saw the same crash that you observed.

@rickmark, thank you for the workaround suggestion.

I suppose I could make qemu-img an optional dependency (e.g. a --use-qemu-img option) to give people a built-in way to work around the rawDisk issues in Fusion 11, and I could document the need to use qemu-img with Fusion 11. What do you all think? Is that work worth it, or should we just wait and hope it gets fixed in an update to Fusion?

from macinbox.

rickmark avatar rickmark commented on July 21, 2024

@bacongravy - I have filed a ticket with VMware via our enterprise support. I'll let you know if they come back with a resolution on fixing the tool. (I mean, I find it worrying that something like that SEGFAULTS)

from macinbox.

yeahdongcn avatar yeahdongcn commented on July 21, 2024

@bacongravy - I have filed a ticket with VMware via our enterprise support. I'll let you know if they come back with a resolution on fixing the tool. (I mean, I find it worrying that something like that SEGFAULTS)

Yes, we have received this ticket and we are working on the fix now.

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024

I have confirmed that this failure still occurs with VMware Fusion 11.0.1.

from macinbox.

jokdbx avatar jokdbx commented on July 21, 2024

and 11.0.2

from macinbox.

rickmark avatar rickmark commented on July 21, 2024

Hey @bacongravy - Can we get an update or the ticket number so we can reach out to support about it?

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024

@rickmark I don't have a ticket number, but perhaps @yeahdongcn knows if a fix is forthcoming or if there are any workarounds we could try.

Perhaps it is time to consider integrating support for using qemu-img to create the vmdk, so that there is a supported workflow for VMWare Fusion 11 users.

from macinbox.

knuckolls avatar knuckolls commented on July 21, 2024

fwiw i did try hacking in the qemu-img fix by hand and didn't get it quite right. apple at bootup, then boot loop thereafter. fwiw, in lieu of the new fusion 11 point release if someone does have the process working it seems like a simple shim into the codebase. i'm not convinced i did the dd against the correct partition, for example. since these things run for awhile i lost interest and may return to it later. regardless, i'd vote for a patch or even just code in an open pr if someone has a working process.

https://docs.vmware.com/en/VMware-Fusion/11/rn/fusion-1102-release-notes.html

^^ this appears to be where the release notes go out and the most recent one is "22 NOV 2018 | Build 10952296". @yeahdongcn. is this being targeted for 11.0.3 specifically? thanks for the support on this thread btw.

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024

Thanks, @epackorigan! That sounds like it would work. You should be able to boot the created box with VMware Fusion 11; but you need to use the command-line tools from version 10 to create the box.

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024

@knuckolls Assuming you have the macinbox.dmg output file from the CreateImageFromInstaller action, you could try the following:

hdiutil convert -format UDZO -o macinbox-udzo.dmg macinbox.dmg
qemu-img convert -f dmg -O vmdk macinbox-udzo.dmg macinbox.vmdk

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024

With the changes in f9dff18 you can now pass a --with-qemu option which will cause macinbox to use qemu-img to create the VMDK. This avoids using vmware-rawdiskCreator and vmware-vdiskmanager and therefore should provide a workaround for people trying to use VMware Fusion 11.

This feature is expected to go out with the forthcoming v3.2.0 release. I'll leave this issue open until the next version of VMware Fusion 11 is released and I can verify that the workaround is no longer necessary.

from macinbox.

epackorigan avatar epackorigan commented on July 21, 2024

@yeahdongcn - any progress on your end about a fix in fusion?

from macinbox.

rickmark avatar rickmark commented on July 21, 2024

Woot

Thank you @yeahdongcn for the update

from macinbox.

yeahdongcn avatar yeahdongcn commented on July 21, 2024

Fusion 11.1.0 is ready.
Please @bacongravy help to review #36, thanks.

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024

Thank you @yeahdongcn, I'm looking now.

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024

After making some changes to eliminate the dependency on vmware-rawdiskCreator, I have confirmed that macinbox works with VMware Fusion 11.1.0, when the application is running. When it is not running, the following error is returned:

Creating disk 'macinbox.vmdk'
AppleXPC: Failed to connect to service com.vmware.DiskHelper
AppleXPC: Failed to connect to service com.vmware.DiskHelper
Failed to communicated with disk helper.
Failed to convert disk: Unknown error (0x1).

The solution provided in #36 is to have macinbox silently install the com.vmware.DiskHelper and com.vmware.MountHelper services into /Library/LaunchDaemons and start them manually before running the command. I haven't yet attempted to verify whether it works, but I'm concerned that the approach is fragile, as it is modifying the running system. The code in #36 does attempt to clean up after itself, but if the script were killed in the middle of running it could leave behind the services.

The PR appears to be an implementation of the workaround mentioned in this KB article, linked from the Fusion 11.1.0 release notes: https://kb.vmware.com/s/article/65163

The alternate workaround mentioned in that article is to have macinbox launch VMware Fusion before attempting to usevmware-vdiskmanager. I think I'm more inclined to implement that solution; people who can't launch the app for some reason can still use the qemu-img workaround.

@lfaraone @epackorigan @rickmark Would requiring VMware Fusion 11 to be running be acceptable? Would you want macinbox to launch the app automatically as needed, rather than just failing?

from macinbox.

epackorigan avatar epackorigan commented on July 21, 2024

It's not ideal to have to install/run those helpers (by hand or otherwise -- I totally share your concerns). We have 2 fallbacks (qemu, and install fusion 10 and 11 in parallel). We're hoping to get this running as part of some automation in the near future, so having to run fusion ahead of time might not be feasible (either from macinbox or otherwise), since we might be running on a machine where there is nobody logged in on the console...

from macinbox.

egandro avatar egandro commented on July 21, 2024

I suggest a simple solution: an enviornment variable.

Vagrant uses this a lot - for example:

export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS='1'

I have to use this when using vagrant in a Windows Subsystem for Linux - which I use a lot as developer. I have to put this variable - it protects stupid people doing stupid things.

Just "detect" the problem, show some docs where the user can read more, and suggest the qemu version.

I would love a variable - since i use a virtualized mac to create a new virtualized mac - I don't care if the "host" system is in a bad state.

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024

@rickmark yes, I think that sounds good. My plan is to have the tool check for the necessary running services, and to warn if they aren’t running, and provide the link to the KB article describing how to run them yourself. I’m reluctant to make it an upfront error since the issue doesn’t occur with all versions of Fusion.

from macinbox.

egandro avatar egandro commented on July 21, 2024

This is still an issue with 11.5 :(

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024

Here's my current thinking for how to resolve this issue:

  • When macinbox starts up, if the box format is set to vmware_desktop, and --use-qemu hasn't been specified, and the VMware version is 11 or later, and VMware is not running, and the workaround has not been applied, then execution will stop and a helpful error message referring the the KB article will be printed along with a suggestiong to use the --use-qemu option.
  • Print a more explanatory error if vmware-vdiskmanager fails to convert the image due to the XPC service not running. Include a link to the KB article describing how to run the services.

from macinbox.

bacongravy avatar bacongravy commented on July 21, 2024

I've addressed this with 26a80de. It will be in the upcoming v3.4.0 release.

from macinbox.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.