= 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/kernel/core_uses_pid # 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/kernel/core_uses_pid # 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`, that is, with permissions to do things that "normal" applications cannot. This is the reason for the {{{ $ sudo su $ echo -n 1 > /proc/sys/fs/suid_dumpable $ exit }}} before starting the VM/GUI (note that `sudo echo` will not do what we want here). When !VirtualBox or one of its processes crashes, a file core. 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_ oracle _dot_ com if the compressed file is smaller than 5MB. Contact me directly otherwise. If several core files are created, you can check which process created them using the command {{{ $ file core. }}} to be sure of the right one to send. = 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 run the following command as root {{{ # coreadm -g /var/cores/core.%f.%p -i core.%f.%p -e global -e process -e global-setid -e proc-setid -e log }}} The cores will now be placed in /var/cores/ folder with the global dumps will go into /var/crash/ = 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 [http://support.microsoft.com/kb/315263 Microsoft site] for more details about minidumps[[BR]] Please visit the [http://blogs.technet.com/askperf/archive/2007/06/15/capturing-application-crash-dumps.aspx Microsoft Performance Team blog] for more details about Application crash dumps