VirtualBox

Investigating drag and drop (DnD) problems

Handling drag and drop operations across various host and guest OS combinations is a difficult and time sensitive topic. To diagnose your problem further we need you to run your VirtualBox installation with several adjustments being made. The adjustments affect the host operating system as well as the guest you want to use for this drag and drop operation.

First note: Drag and drop support only is available for VirtualBox 5.0 and newer. Older versions of VirtualBox only had experimental support and therefore are not supported.

Second note: The guest needs to have the VirtualBox Guest Additions installed in order to perform drag and drop operations from/to the host. Without Guest Additions drag and drop will not work!

Third note: Drag and drop is disabled by default on newly created VMs. To enable drag and drop support, go to the VM's "Devices" menu, open "Drag and drop" and select the appropriate mode you want to use.

Please also be aware that drag and drop (DnD) support at the moment only is available for the official "VirtualBox Manager" frontend. If you do use other frontends (such as VBoxHeadless or VBoxSDL) then this guide will not work for you.

Collecting information from the host

As always when it comes to diagnosing problems with VirtualBox the appropriate VBox.log is useful to have. To gather more verbose information about the actual drag an drop operation, please do the following:

  • Shut down all VM instances and VirtualBox programs, including VBoxSVC.
  • Run VirtualBox from the command line with the environment variable
    VBOX_RELEASE_LOG=guest_dnd.e.l.l2.l3.f
    
    set (see the description of the logging facility for more background). On Windows you can use
    setx VBOX_RELEASE_LOG "guest_dnd.e.l.l2.l3.f" /M
    
    on an Administrator command prompt to set this on a system-wide level (required). On POSIX-enabled systems like Linux, Unix or OS X you can add the following to file /etc/profile:
    export VBOX_RELEASE_LOG=guest_dnd.e.l.l2.l3.f
    
  • Reboot the host.
  • Start the VirtualBox Manager and start the VM you want to diagnose drag and drop for.
  • Perform and reproduce the faulty drag and drop operation (from host to guest or guest to host).

The resulting VBox.log of the VM you reproduced the drag and drop issue should now contain a lot more logging statements beginning with

DnD: <More logging comes here>

This is all what it takes to gather drag and drop debug information from the host. Sometimes, however, the error does not occur on the host but on the running guest itself. For that to diagnose please read the next section.

Collecting information from the guest

Collecting drag and drop debug information on the guest is similar to collecting it on the host. For that also system-wide environment variables need to be set on the guest (not on the host!).

For Linux, BSD or Solaris guests, do the following:

  • Make sure you at least have the VirtualBox Guest Additions 5.0 or higher installed.
  • As root, open the file /usr/bin/VBoxClient-all and change the line
    /usr/bin/VBoxClient --draganddrop
    
    to
    VBOX_RELEASE_LOG_DEST="file=/tmp/VBoxClient.log" VBOX_RELEASE_LOG_FLAGS="time tid thread" VBOX_RELEASE_LOG="all.e.l.l2.l3.f" /usr/bin/VBoxClient --draganddrop
    

  • Save the file /usr/bin/VBoxClient-all
  • Do the same editing as above with the file /etc/X11/Xsession.d/98vboxadd-xclient
  • Save the file /etc/X11/Xsession.d/98vboxadd-xclient
  • Reboot the guest.
  • Perform and reproduce the faulty drag and drop operation (from host to guest or guest to host).

The resulting logfile in "/tmp/VBoxClient.log" on the guest drop issue should now contain a lot more logging statements beginning with

DnD: <More logging comes here>

For Windows guests, do the following:

  • Make sure you at least have the VirtualBox Guest Additions 5.0 or higher installed.
  • Create the directory "C:\Temp" on the guest if it does not exist yet.
  • Open an command line prompt as Administrator and execute:
    setx VBOXTRAY_RELEASE_LOG_FLAGS "time tid thread" /M
    setx VBOXTRAY_RELEASE_LOG "guest_dnd.e.l.l2.l3.f" /M
    setx VBOXTRAY_RELEASE_LOG_DEST "file=C:\Temp\VBoxTray.log" /M
    
  • Reboot the guest.
  • Perform and reproduce the faulty drag and drop operation (from host to guest or guest to host).

The resulting logfile in "C:\Temp\VBoxTray.log" on the guest drop issue should now contain a lot more logging statements beginning with

DnD: <More logging comes here>

Troubleshooting

Question Answer
The command setx does not work on my Windows guest or host. What to do? Older Windows operating systems (such as Windows XP) don't have the command setx available. You have to install the "Windows XP Support Tools" first:  Download

Ok, all done! What now?

Please collect the VBox.log from the host and the guest (either VBoxClient.log or VBoxTray.log, depending on which guest you are running), pack those (ZIP, RAR) into an archive and submit that archive as part of a new bug report at our public bug tracker.

So in short, submit these logs:

  • Host: VBox.log
  • Windows guests: C:\Temp\VBoxTray.log
  • Linux/Unix guests: /tmp/VBoxClient.log

Note: Without the host and guest logs we cannot diagnose your issue, so please make sure to always attach those. Thank you.

www.oracle.com
ContactPrivacy policyTerms of Use