Version 25 (modified by 14 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 $ sudo su # echo -n 1 > /proc/sys/fs/suid_dumpable # exit $ VirtualBox
or better start the VM directly:
$ ulimit -c unlimited $ sudo su # echo -n 1 > /proc/sys/fs/suid_dumpable # exit $ /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.
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.
How to create dumps on OpenSolaris
To get core on OpenSolaris host create coreadm.conf file
# cat /etc/coreadm.conf COREADM_GLOB_PATTERN=/tmp/cores/core.%f.%p COREADM_GLOB_CONTENT=all COREADM_INIT_PATTERN=%f.%p COREADM_INIT_CONTENT=all COREADM_GLOB_ENABLED=yes COREADM_PROC_ENABLED=yes COREADM_GLOB_SETID_ENABLED=yes COREADM_PROC_SETID_ENABLED=yes COREADM_GLOB_LOG_ENABLED=yes
then enforce coreadm(1) to read configuration from file
# coreadm -U # pfexec svcs | grep coreadm online 20:40:11 svc:/system/coreadm:default # pfexec svcadm restart coreadm # pfexec svcs | grep coreadm online 5:30:22 svc:/system/coreadm:default # ulimit -c unlimited
After mentioned above manipulations core files will appear in /var/cores folder
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. On Linux, 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
As an alternative to kill you can do
$ pidof VirtualBox 7145 $ gcore 7145
On Mac OS X:
$ ulimit -c unlimited $ /Applications/VirtualBox.app/Contents/MacOS/VirtualBox -startvm VM_NAME & $ ps aux|grep VirtualBox ... 7145 ... VirtualBox ... $ kill -4 7145
On !Solaris:
# ulimit -c unlimited # /opt/VirtualBox/amd64/bin/VirtualBox -startvm VM_NAME & # ps -ef|grep VirtualBox ... 7145 ... VirtualBox ... # kill -4 7145
You can find result core file according location specified in coreadm
# coreadm
Passing the signal number 4 (SIGILL
) is essential! The same applies to the alternative frontends VBoxHeadless
and VBoxSDL
.
Minidumps on Windows
Please visit this Microsoft site for more details about minidumps
Please visit the Microsoft Performance Team blog for more details about Application crash dumps