VirtualBox

Ticket #382 (closed defect: fixed)

Opened 7 years ago

Last modified 6 years ago

VBoxManage clonevdi Command does not work

Reported by: dose Owned by:
Priority: minor Component: other
Version: VirtualBox 1.4.0 Keywords: VBoxManage clonevdi
Cc: Guest type: other
Host type: other

Description

If I try to clone an exististing VDI Image the following Error message appears

lnxsystem:/VM/VirtualBox/VDI# VBoxManage clonevdi vista.vdi /home/asdf.vdi VirtualBox Command Line Management Interface Version 1.4.0 (C) 2005-2007 innotek GmbH All rights reserved.

[!] FAILED calling hardDisk->CloneToImage(Bstr(argv[1]), vdiOut.asOutParam(), progress.asOutParam()) at line 2322! [!] Primary RC = 0x80004004 [!] Full error info present: false, basic error info present: false gatesrv:/p2pshare/VM/VirtualBox/VDI#

Attachments

LOG.gz Download (52.2 KB) - added by airman99 7 years ago.
Log file generated byrequested strace command
strace-output-dose.txt Download (64.1 KB) - added by dose 7 years ago.

Change History

comment:1 follow-up: ↓ 4 Changed 7 years ago by frank

I assume that you are using the Linux version of VirtualBox, is that right? The error code 0x80004004 mean NS_ERROR_ABORT which most probably means that the communication with the VBoxSVC process aborted somehow.

Please could you execute the following:

strace -f -o ~/LOG -s512 VBoxManage clonevdi vista.vdi /home/asdf.vdi

and compress the file ~/LOG and attach it to this report?

comment:2 Changed 7 years ago by airman99

I am receiving the same error running Gentoo, kernel 2.6.17-gentoo-r8 as a host. I'll do the strace and post it back here.

comment:3 follow-up: ↓ 5 Changed 7 years ago by klaus

We got feedback from someone who solved this problem (probably the original bug reporter): installing libdbus, libxalan-c and libxerces-c solved the issue there. The latter two packages are only required on distributions where our packages use the system-provided xalan/xerces libraries.

Changed 7 years ago by airman99

Log file generated byrequested strace command

comment:4 in reply to: ↑ 1 Changed 7 years ago by airman99

Here is the output of the above strace command. The LOG.gz is attached elsewhere.

VDI $ strace -f -o ~/LOG -s512 vboxmanage clonevdi Gentoo.vdi Gentoo1.vdi
umovestr: Input/output error
umovestr: Input/output error
ptrace: umoven: Input/output error
umovestr: Input/output error
ptrace: umoven: Input/output error
umovestr: Input/output error
umovestr: Input/output error
ptrace: umoven: Input/output error
umovestr: Input/output error
ptrace: umoven: Input/output error
umovestr: Input/output error
ptrace: umoven: Input/output error
umovestr: Input/output error
umovestr: Input/output error
ptrace: umoven: Input/output error
VirtualBox Command Line Management Interface Version 1.4.0
(C) 2005-2007 innotek GmbH
All rights reserved.

umovestr: Input/output error
ptrace: umoven: Input/output error
umovestr: Input/output error
ptrace: umoven: Input/output error
umovestr: Input/output error
ptrace: umoven: Input/output error
umovestr: Input/output error
ptrace: umoven: Input/output error
umovestr: Input/output error
ptrace: umoven: Input/output error
PANIC: handle_group_exit: 7838 leader 7828
PANIC: handle_group_exit: 7849 leader 7828
PANIC: handle_group_exit: 7833 leader 7828
PANIC: handle_group_exit: 7840 leader 7828
PANIC: handle_group_exit: 7848 leader 7828
PANIC: handle_group_exit: 7850 leader 7828
[!] FAILED calling hardDisk->CloneToImage(Bstr(argv[1]), vdiOut.asOutParam(), progress.asOutParam()) at line 2322!
[!] Primary RC  = 0x80004004
[!] Full error info present: false, basic error info present: false
VDI $

comment:5 in reply to: ↑ 3 Changed 7 years ago by airman99

Replying to klaus:

We got feedback from someone who solved this problem (probably the original bug reporter): installing libdbus, libxalan-c and libxerces-c solved the issue there. The latter two packages are only required on distributions where our packages use the system-provided xalan/xerces libraries.

How does one determine if one is using a distribution that requires the xalan/xerces libraries?

comment:6 Changed 7 years ago by airman99

I get the same error even though the above-mentioned 3 libraries do exist on my system:

d1 ~ # slocate libdbus
/usr/lib/libdbus-glib-1.la
/usr/lib/libdbus-glib-1.so
/usr/lib/libdbus-glib-1.a
/usr/lib/libdbus-glib-1.so.2
/usr/lib/libdbus-qt-1.so.1
/usr/lib/libdbus-glib-1.so.2.1.0
/usr/lib/libdbus-qt-1.so.1.0.0
/usr/lib/libdbus-qt-1.la
/usr/lib/libdbus-qt-1.so
/usr/lib/libdbus-1.la
/usr/lib/libdbus-1.so
/usr/lib/libdbus-qt-1.a
/usr/lib/libdbus-1.so.3
/usr/lib/libdbus-1.so.3.2.0
/usr/lib/libdbus-1.a
d1 ~ #
d1 ~ # slocate libxalan-c
/usr/lib/libxalan-c.so
/usr/lib/libxalan-c.so.110
/usr/lib/libxalan-c.so.110.0
d1 ~ #
d1 ~ # slocate libxerces-c
/usr/lib/libxerces-c.so.27
/usr/lib/libxerces-c.so.27.0
/usr/lib/libxerces-c.so
d1 ~ #

comment:7 follow-up: ↓ 9 Changed 7 years ago by frank

Your VBoxSVC server segfaults for unknown reason. Did you compile VBox yourself or did you use our prebuilt binary?

comment:8 Changed 7 years ago by dose

Hello, I'm the opener ;-) I also see a segfault of VBoxSVC:

grsec: From x.x.x.x: signal 11 sent to /opt/VirtualBox-1.4.0/VBoxSVC[VBoxSVC:25556] uid/euid:0/0 gid/egid:0/0, parent /sbin/init[init:1] uid/euid:0/0 gid/egid:0/0

I attatch my strace output as reference, I think we have exatly the same problems. As you cann see in the log, the libararys should be also available.

Changed 7 years ago by dose

comment:9 in reply to: ↑ 7 Changed 7 years ago by airman99

Replying to frank:

Your VBoxSVC server segfaults for unknown reason. Did you compile VBox yourself or did you use our prebuilt binary?

I used the prebuilt binary package offered by Gentoo. I had no problems installing the software, nor have I had any problems running it with Linux and Windows XP guests OSes. The only problem I've had (besides problems of my own making) is this one that we're discussing.

comment:10 follow-up: ↓ 11 Changed 7 years ago by frank

airman99: Moment: Gentoo offered a prebuilt binary? Doesn't a Gentoo user build his own binaries? dose: Thanks for your strace but you forgot the -f switch. Is it possible that the problem is grsec-related? Which Linux distribution do you exactly use?

comment:11 in reply to: ↑ 10 Changed 7 years ago by airman99

Replying to frank:

airman99: Moment: Gentoo offered a prebuilt binary? Doesn't a Gentoo user build his own binaries? dose: Thanks for your strace but you forgot the -f switch. Is it possible that the problem is grsec-related? Which Linux distribution do you exactly use?

Gentoo is indeed a predominantly source-based distribution. However, in cases where the compile time would be extraordinarly long (OpenOffice, etc.) sometimes a binary distribution of the same software is offered. Also, in cases where the source is not released (VirtualBox 1.4.0 binary version), a binary distribution is the only option. The open-source version of VirtualBox is also available as a Gentoo ebuild, but I wanted the full feature set, so chose the binary version.

BTW, this same problem occurrs on another of my Gentoo boxes. Maybe something is wrong with Gentoo's binary ebuild. I should try to install the build from the VirtualBox site. Does the install script offer an uninstall option?

comment:12 Changed 7 years ago by frank

Hmm, I don't know the Gentoo package but our VirtualBox.run package provides the 'uninstall' command:

sh VirtualBox_1.4.0_Linux_x86.run uninstall

comment:13 Changed 7 years ago by airman99

OK, I'll uninstall the Gentoo binary package and install the package from your website. I'll post the results here.

comment:14 Changed 7 years ago by airman99

After installing the binary from your site, I ran the VBoxManage clonevdi command. Same exact error.

comment:15 Changed 7 years ago by codewizard

I get the same error when I try to clone an existing VDI:

vboxmanage clonevdi windows-2000-base.vdi windows-2000-work.vdi

[!] FAILED calling hardDisk->CloneToImage(Bstr(argv[1]), vdiOut.asOutParam(), progress.asOutParam()) at line 2255! [!] Primary RC = 0x80004004 [!] Full error info present: false, basic error info present: false

I tried with both VirtualBox 1.3.8 and 1.4.0 binary editions on Gentoo Linux. When I use VirtualBox OSE 1.4.0, it works fine. But as airman99, I'd rather use the binary edition because I want to have the non-OSE features (especially shared folders).

comment:16 follow-up: ↓ 17 Changed 7 years ago by frank

Just a shot into the dark: Could you please provide the output of

cd <directory with VirtualBox binaries>
LD_LIBRARY_PATH=. ldd ./VBoxSVC
LD_LIBRARY_PATH=. ldd ./VBoxManage

comment:17 in reply to: ↑ 16 Changed 7 years ago by airman99

Replying to frank:

Just a shot into the dark: Could you please provide the output of

cd <directory with VirtualBox binaries>
LD_LIBRARY_PATH=. ldd ./VBoxSVC
LD_LIBRARY_PATH=. ldd ./VBoxManage
@d1 /usr/bin $ LD_LIBRARY_PATH=. ldd ./vboxmanage
        not a dynamic executable
@d1 /usr/bin $

"vboxsvc" isn't found on my system. "vbox*" files are "vboxmanage", "vboxvrdp", and "vboxsdl".

comment:18 follow-up: ↓ 19 Changed 7 years ago by frank

Please change to /opt/VirtualBox-1.4.0 and try again. /usr/bin contains symbolic links to this directory.

comment:19 in reply to: ↑ 18 Changed 7 years ago by airman99

Replying to frank:

Please change to /opt/VirtualBox-1.4.0 and try again. /usr/bin contains symbolic links to this directory.

OK, here you go...

d1 /opt/VirtualBox $ LD_LiBRARY_PATH=. ldd ./VBoxSVC
        linux-gate.so.1 =>  (0xb7fa4000)
        VBoxDDU.so => not found
        VBoxXML.so => not found
        VBoxXPCOM.so => not found
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7f70000)
        librt.so.1 => /lib/librt.so.1 (0xb7f66000)
        libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5 (0xb7eb1000)
        libm.so.6 => /lib/libm.so.6 (0xb7e8d000)
        libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 (0xb7e83000)
        libc.so.6 => /lib/libc.so.6 (0xb7d62000)
        /lib/ld-linux.so.2 (0xb7fa5000)
        VBoxRT.so => not found
d1 /opt/VirtualBox $ LD_LiBRARY_PATH=. ldd ./VBoxManage
        linux-gate.so.1 =>  (0xb7f51000)
        VBoxDDU.so => not found
        VBoxXML.so => not found
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7f1d000)
        librt.so.1 => /lib/librt.so.1 (0xb7f14000)
        VBoxXPCOM.so => not found
        VBoxRT.so => not found
        libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5 (0xb7e5e000)
        libm.so.6 => /lib/libm.so.6 (0xb7e3a000)
        libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 (0xb7e30000)
        libc.so.6 => /lib/libc.so.6 (0xb7d0e000)
        /lib/ld-linux.so.2 (0xb7f52000)
d1 /opt/VirtualBox $

comment:20 Changed 7 years ago by frank

Hmm, you wrote LD_LiBRARY_PATH instead of LD_LIBRARY_PATH, therefore these missing libs ('not found').

comment:21 Changed 7 years ago by airman99

Sorry about that. Computers perform faithfully what you TELL them to do, not necessarily what you WANT them to do. :-)

d1 VirtualBox # LD_LIBRARY_PATH=. ldd ./VBoxSVC
        linux-gate.so.1 =>  (0xb7f8b000)
        VBoxDDU.so => ./VBoxDDU.so (0xb7f76000)
        VBoxXML.so => ./VBoxXML.so (0xb7905000)
        VBoxXPCOM.so => ./VBoxXPCOM.so (0xb77fa000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb77c7000)
        librt.so.1 => /lib/librt.so.1 (0xb77bd000)
        libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5 (0xb7708000)
        libm.so.6 => /lib/libm.so.6 (0xb76e4000)
        libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 (0xb76da000)
        libc.so.6 => /lib/libc.so.6 (0xb75b9000)
        VBoxRT.so => ./VBoxRT.so (0xb7560000)
        libdl.so.2 => /lib/libdl.so.2 (0xb755c000)
        /lib/ld-linux.so.2 (0xb7f8c000)
d1 VirtualBox # LD_LIBRARY_PATH=. ldd ./VBoxManage
        linux-gate.so.1 =>  (0xb7efa000)
        VBoxDDU.so => ./VBoxDDU.so (0xb7ee5000)
        VBoxXML.so => ./VBoxXML.so (0xb7874000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7841000)
        librt.so.1 => /lib/librt.so.1 (0xb7838000)
        VBoxXPCOM.so => ./VBoxXPCOM.so (0xb772c000)
        VBoxRT.so => ./VBoxRT.so (0xb76d4000)
        libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5 (0xb761f000)
        libm.so.6 => /lib/libm.so.6 (0xb75fb000)
        libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 (0xb75f1000)
        libc.so.6 => /lib/libc.so.6 (0xb74cf000)
        libdl.so.2 => /lib/libdl.so.2 (0xb74cb000)
        /lib/ld-linux.so.2 (0xb7efb000)
d1 VirtualBox # pwd
/opt/VirtualBox
d1 VirtualBox #

comment:22 follow-up: ↓ 23 Changed 7 years ago by frank

Yes, exactly :) Thanks. Please enter

cd /opt/VirtualBox
LD_LIBRARY_PATH=. ldd ./VBoxXML.so
LD_LIBRARY_PATH=. ldd ./VBoxXPCOM.so
LD_LIBRARY_PATH=. ldd ./VBoxRT.so

comment:23 in reply to: ↑ 22 Changed 7 years ago by airman99

Replying to frank:

d1 VirtualBox # pwd
/opt/VirtualBox
d1 VirtualBox # LD_LIBRARY_PATH=. ldd ./VBoxXML.so
ldd: warning: you do not have execution permission for `./VBoxXML.so'
        linux-gate.so.1 =>  (0xb7f90000)
        VBoxXPCOM.so => ./VBoxXPCOM.so (0xb7813000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb77e0000)
        librt.so.1 => /lib/librt.so.1 (0xb77d7000)
        libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5 (0xb7722000)
        libm.so.6 => /lib/libm.so.6 (0xb76fd000)
        libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 (0xb76f3000)
        libc.so.6 => /lib/libc.so.6 (0xb75d2000)
        libdl.so.2 => /lib/libdl.so.2 (0xb75ce000)
        /lib/ld-linux.so.2 (0x80000000)
d1 VirtualBox # LD_LIBRARY_PATH=. ldd ./VBoxXPCOM.so
ldd: warning: you do not have execution permission for `./VBoxXPCOM.so'
        linux-gate.so.1 =>  (0xb7f69000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7e2a000)
        librt.so.1 => /lib/librt.so.1 (0xb7e21000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7e1d000)
        libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5 (0xb7d68000)
        libm.so.6 => /lib/libm.so.6 (0xb7d43000)
        libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 (0xb7d39000)
        libc.so.6 => /lib/libc.so.6 (0xb7c18000)
        /lib/ld-linux.so.2 (0x80000000)
d1 VirtualBox # LD_LIBRARY_PATH=. ldd ./VBoxRT.so
ldd: warning: you do not have execution permission for `./VBoxRT.so'
        linux-gate.so.1 =>  (0xb7fba000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7f2e000)
        librt.so.1 => /lib/librt.so.1 (0xb7f25000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7f21000)
        libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5 (0xb7e6c000)
        libm.so.6 => /lib/libm.so.6 (0xb7e47000)
        libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 (0xb7e3d000)
        libc.so.6 => /lib/libc.so.6 (0xb7d1c000)
        /lib/ld-linux.so.2 (0x80000000)
d1 VirtualBox #

comment:24 Changed 7 years ago by frank

Thanks, everything looks right. My intension was that your binaries use both the (incompatible) libstdc++5 and libstdc++6 mixed somehow. No further idea for the moment. :/

comment:25 Changed 6 years ago by lnxus

This is also happening to me with the 1.5.2 binaries. I don't see any output to libstdc++6 either. Any ideas?

comment:26 Changed 6 years ago by lnxus

I hoped the "Linux host: script fixes for ArchLinux?" from the 1.5.4 Changelog would have fixed it, but I'm here to report that it hasn't. Same error, still looks to be a SIGSEGV. Can run debug commands if you tell me what you need to get this fixed.

comment:27 Changed 6 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

We believe that we fixed this problem. Please try VirtualBox 1.5.6.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use