Version 15 (modified by 15 years ago) ( diff ) | ,
---|
How to create a core dump on Linux
A core dump is very helpful for helping us tracking down crashes of VirtualBox. To create a core dump, start VirtualBox from a command line (e.g. xterm):
$ ulimit -c unlimited $ VirtualBox
or better start the VM directly:
$ ulimit -c unlimited $ /usr/lib/virtualbox/VirtualBox -startvm VM_NAME
Ensure that no startup script (~/.bashrc
, ~/.bash_profile
, ~/.profile
) contains an instruction like ulimit -c 0
as the limit cannot be increased once it was set to zero.
Starting with version 2.0.0, the VirtualBox processes are started suid root
. Therefore do
$ sudo su $ echo -n 1 > /proc/sys/fs/suid_dumpable $ exit
before starting the VM/GUI (note that sudo echo
will sometimes not work).
When VirtualBox crashes, a file core.<pid> is created in the current directory. Be aware that core dumps can be very huge. Please compress the file before submitting it to a bug report. Or better don't attach the file to a report. Note that this core dump can contain a memory dump of your guest which can include sensitive information. Send it to frank _dot_ mehnert at sun _dot_ com if the compressed file is smaller than 5MB. Contact me directly otherwise.
Forcing VirtualBox to terminate with a core dump
Sometimes it is required to force a VirtualBox process to terminate, for example, a VM hangs for some unknown reason. This can be done as follows:
$ ulimit -c unlimited $ sudo echo -n 1 > /proc/sys/fs/suid_dumpable $ /usr/lib/virtualbox/VirtualBox -startvm VM_NAME & $ pidof VirtualBox 7145 $ kill -4 7145
Passing the signal number 4 (SIGILL
) is essential! The same applies to the alternative frontends VBoxHeadless
and VBoxSDL
.
How to create dumps on Mac OS X
To create a core dump on Mac OS X, start VirtualBox from a command line:
$ ulimit -c unlimited $ VirtualBox
or better start the VM directly:
$ ulimit -c unlimited $ /Applications/VirtualBox.app/Contents/MacOS/VirtualBox -startvm VM_NAME
Ensure that no startup script (~/.bashrc
, ~/.bash_profile
, ~/.profile
) contains an instruction like ulimit -c 0
as the limit cannot be increased once it was set to zero.
The core files can be found in the /cores folder.