Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vboxwrapper (Mac): fix startup failure on Mac #6016

Merged
merged 1 commit into from
Jan 21, 2025
Merged

Conversation

davidpanderson
Copy link
Contributor

The VBox home dir (where it keeps its files) is
"/Library/Application Support/BOINC Data/.VirtualBox/",
not ~/.Virtualbox (the latter may be inaccessible)

Fixes #6015

The VBox home dir (where it keeps its files) is
"/Library/Application Support/BOINC Data/.VirtualBox/",
not ~/.Virtualbox (the latter may be inaccessible)
@AenBleidd AenBleidd requested a review from Copilot January 21, 2025 05:49

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.

Files not reviewed (1)
  • samples/vboxwrapper/vbox_vboxmanage.cpp: Language not supported
@AenBleidd AenBleidd merged commit df43b3f into master Jan 21, 2025
153 checks passed
@AenBleidd AenBleidd deleted the dpa_vbox_mac branch January 21, 2025 09:32
@CharlieFenton
Copy link
Contributor

Why is it .VirtualBox a hidden directory (starting with a period) on the Mac? I can understand making it hidden in the user's home directory because they might be puzzled to see a directory named VirtualBox there , but it seems that it would be better for debugging and tech support not to have hidden files or directories in the BOINC Data folder.

@computezrmle
Copy link
Contributor

This is what the VirtualBox manual states here:
https://www.virtualbox.org/manual/topics/TechnicalBackground.html#vboxconfigdata-global

Global Settings

In addition to the files for the virtual machines, Oracle VirtualBox maintains global configuration data in the following directory:

    Linux and Oracle Solaris:$HOME/.config/VirtualBox.

    Windows:$HOME/.VirtualBox.

    macOS:$HOME/Library/VirtualBox.

Oracle VirtualBox creates this configuration directory automatically, if necessary. You can specify an alternate configuration directory by either setting the VBOX_USER_HOME environment variable, or on Linux or Oracle Solaris by using the standard XDG_CONFIG_HOME variable. Since the global VirtualBox.xml settings file points to all other configuration files, this enables switching between several Oracle VirtualBox configurations.

In this configuration directory, Oracle VirtualBox stores its global settings file, an XML file called VirtualBox.xml. This file includes global configuration options and a list of registered virtual machines with pointers to their XML settings files.

@NenTech
Copy link

NenTech commented Jan 21, 2025

Can someone compile it for me? I don't have Xcode at the moment. Then I can try to test it.

@AenBleidd
Copy link
Member

@NenTech
Copy link

NenTech commented Jan 21, 2025

Thanks!

The wrapper is replaced immediately with the version of the server. (LHC Theory) Is it possible to force the wrapper in the app_config.xml? I could not find it in the documentation.

EDIT: Force successful with the <dont_check_file_sizes>1</dont_check_file_sizes> option in cc_config.xml.

Running now tasks of LHC.

@computezrmle
Copy link
Contributor

@NenTech
See here:
https://lhcathome.cern.ch/lhcathome/forum_thread.php?id=6277&postid=51433

And it would be nice if you could post your test results at the LHC@home forum including a link to the task/computer to check the logs.

@NenTech
Copy link

NenTech commented Jan 21, 2025

The tasks are running now with the new wrapper. I cannot find the directory at '/Library/Application Support/BOINC Data'
I cannot find the files anywhere else on my Mac as well..

@NenTech
Copy link

NenTech commented Jan 21, 2025

Tasks are running over 1 hour. I don't see any activity. I still cannot find the .VirtualBox folder or the VBoxSVC.log file.

image

The task is running but the VM and the vboxwrapper are not running. When I start the vboxwrapper manual via the CLI from the slot path, the VM is booting and failing due to communication error with the servers.
https://lhcathome.cern.ch/lhcathome/result.php?resultid=418983172
image

@CharlieFenton
Copy link
Contributor

As I pointed out here, the directory is hidden because its name starts with a period. You can see hidden files and directories using Terminal with the command ls -al. Have you tried that?

Also, please make sure you ran the Mac_SA_Secure.sh script after replacing VBoxWrapper to fix its ownership and permissions, thus:

cd /Library/Application\ Support/BOINC\ Data 
sudo /Volumes/DEV/BOINC_GIT/boinc_trunk/mac_build/Mac_SA_Secure.sh

Finally, It's possible that the .VirtualBox/ directory and its contents may need to have their group set to boinc_project, which would require additional code in Mac_SA_Secure.sh and perhaps also the Mac installer and BOINC client. But I doubt that is needed since it worked with the .VirtualBox/ directory inside the projects directory (until the BOINC client was restarted and deleted it there.)

@NenTech
Copy link

NenTech commented Jan 22, 2025

Yes I tried that. And to narrow the issues I tried the following:

  • Changed the VBoxwrapper with the new version
  • Tasks started running in BOINC. No checkpoints made, no VM started, VBoxWrapper is not started either.
  • Added manually .VirtualBox in ~/ and /Library/Application\ Data/BOINC\ Data/
  • No changes in behaviour
  • Started manual vboxwrapper in the slots folder via terminal
  • VM starts and runs but fails due to problems with contact of internet servers
  • Changed back to 26208 gives the same failures and behaviour. I cannot get to crash the task instantly again.

I think another change between 26207 and 26208 causes issues now. The 26206b wrapper gives the same issues on the VM. (No connection) I still need to test if the VM will start when the 26206b wrapper is used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Merged
Development

Successfully merging this pull request may close these issues.

All BOINC tasks using vboxwrapper 26208 on MacOS fail
5 participants