-
Notifications
You must be signed in to change notification settings - Fork 461
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
make_project keeps aborting due to a mysql error #2618
Comments
You could try https://github.com/marius311/boinc-server-docker/ which might be easier as the whole server is packaged up inside a Docker container. |
Thanks for the reply. I tried out the docker approach but still facing some issues. This is the sequence of commands I am currently trying out.
The yml version was changed from 3 to 2 in one of the intermediate steps to get around this error
Great if you could take a look. The server is a GCP VM with Debian 9. |
I think you missed a Also, changing the version from 3 to 2 definitely is not a workaround, that message is misleading; you should leave it as it was originaly. I'm guessing somehow an older version of docker-compose is being used than the one you downloaded. What's the output of |
Thanks. I have been able to make a lot of progress. Resolving the sudo issue indeed helped complete the installation, and turns out to be much simpler than other approaches. Documenting the full sequence of commands I have used this time.
This was the output of
|
Glad to hear!
So from the computer running the server you can access http://127.0.0.1/boincserver from a browser, is that correct? But from another computer you can't access http://a.b.c.d/boincserver, where a.b.c.d is the IP of the first computer, is that right? Can you ping the first computer from the second? Sounds like a connectivity thing.
You don't need to re-build to have the environment variables take effect, you just have to redo a |
Great. I have a newfound appreciation for the intricacies of sudo :) Thanks again. Just to update you on the context, we are trying to set up Boinc for a computational math project, https://github.com/km-git-acc/dbn_upper_bound. |
Great to hear its working. For info on how to make changes persistent, this section basically deals with that: https://github.com/marius311/boinc-server-docker/blob/master/docs/cookbook.md#creating-your-own-project And sounds like a cool project, I'm curious to hear how it goes. I see part of it is written in Julia, of which I'm a huge fan :) |
@marius311 I have been able to make a lot of progress. Have been able to permanently copy files and entire libraries as needed, and start the server (using COPY commands). Was able to edit files like project.inc and index.php and make the edits permanent again using the COPY command. Have also checked that the computation works within the docker shell. It seems starting a real server is now not far away. Do you suggest the issue to be closed? Although I would personally recommend using the docker approach, if someone wants to still try the initial approach they may come across the same issue which should be ideally addressed as well. |
Glad this approach is working well. Don't hesitate to ask any further questions. I'll close this, lets use #2140 to track the original issue, which from what I can tell is a duplicate. |
@marius311 Firstly, I created a docker repository of the math application and uploaded it to Dockerhub (dbnupperbound/arbcalc:v1). Then i started the Boinc server and to test it submitted two jobs.
Post this i downloaded the Boinc+VB installer on my local Windows machine and attached the project. The two workunits with replicas downloaded and started running. Till this step everything seems ok. However, what I expected to be very quick (under a second) tests seem to take a long time. The Hello Boinc command has been running for over 2 hours and the progress keeps on getting slower. The custom command also progresses slowly but gets stuck in between (with the advanced view showing waiting for memory). |
Some debug ideas:
Minor note, but you don't need the image on the Docker hub, you only need it locally on the machine running the server. And fyi, a normal overhead for the BOINC client launching the job and the VM / Docker booting up might be ~30 seconds, so definitely the 2hrs you're seeing means something is wrong. |
Oh sorry, missed this. This could mean BOINC is suspending your job due to thinking it needs more memory, so its not running at all. Can you check your client settings? Also when you did the |
@marius311
I had uploaded the image to Dockerhub so other collaborators could also use docker for all the commands even during the normal course of their work (since it can be somewhat messy to install the required libraries). But on running the create_work script for the first time I saw that it had downloaded the repository before creating the workunit. On running the second time now, it says 'Image already imported into Boinc. Reading existing info'. EDIT: I used the memory parameter (setting it to 100 MB) and submitted additional jobs. The client downloaded them and ran it for 10 minutes giving an error at the end. I think the highlight of the error was that the virtualbox VM took some time to start and then stopped after another 5 min and gave this error
After enabling virtualization in the BIOS (which i felt should have been by default), I again reset the server and submitted some jobs but now they are in unsent mode and do not get sent to my windows client. |
Maybe your client is stuck thinking extensions are disabled? Does the solution here help? https://www.cosmologyathome.org/faq.php#i-enabled-vt-xamd-v-but-i-still-dont-receive-jobs |
@marius311 Post that, I restarted the server and submitted some jobs which the client then downloaded and started executing. But here the issue remains that the job progress gets slower with time, and after about 1.75 hours, the job exists with an error and there is some output in the corresponding stderr file on the project website. Attaching the stderr output file |
From the log:
Can you change the memory back to leave it at its default? The jobs generally need about 3 to 4 * the size of the unzipped Docker image at the moment. Another option is can you try reducing the number of CPUs per job? You should just be able to edit the plan_class_spec.xml file on the server and set max_threads to 2 or even 1. (You should do so before creating the jobs, it may be best to wipe the server clean / reconnect the client and then do this for it to take effect). Sorry you're running into all these problem, this is a good case study of how far we still have to go to make setting up a server truly "easy". |
@marius311 I think the documentation is 95% there, and once a troubleshooting section is added like about editing the required xml files, taking certain precautions, etc. it will be much easier to get right the first time. Do let me know if you need any help with that. |
@marius311 |
I don't think I know what the best way is, but what I do for Cosmology@Home is putting the following in a which then allows a backup via My version of docker doesn't seem to have /var/lib/docker/overlay2, what version are you on / what is it filling up with? |
@marius311
which worked as well. My docker version is 18.06.0-ce (should be close to the latest). The /var/lib/docker/overlay2 folder is found in the host environment. It seems to contain information related to past and current volumes and has a lot of directories with long names. Also atleast when docker build commands are used it tends to fill up more. |
Nice, glad the backup/restore worked out. |
Thanks. Also, one thing we have noticed is that sometimes when the environment changes, or a user removes and adds the project back again, all the files except the vmcontext iso and vboxwrapper get downloaded (observed on both windows and Mac machines). Those two however remain stuck and the event log shows a message like, |
Can you file an issue for this over at https://github.com/marius311/boinc-server-docker/? Also, when you do, do you have any instruction where you can reproduce 100% of the time? Just tried, I don't see anything like this e.g. on project detach/reattach. |
@marius311
while for submitting jobs, I use commands like the below in a loop
In initial tests, we ran about 50 such jobs successfully. |
I am a first time Boinc user. Have been trying to set up a Boinc project on a Ubuntu server but it keeps aborting at the make project stage due to a mysql incompatibility.
OperationalError: (1071, 'Specified key was too long; max key length is 767 bytes')
The issue has also been discussed here but there seems to be no reply on it in the past few months.
#2140
It seems the older versions of mysql used to work well but so far it has proved too tricky to install older versions.
The Boinc installation guide I have been trying to use is https://wiki.debian.org/BOINC/ServerGuide/Initialisation
which mentions this issue at the end but the recommended solution hasn't worked. This guide also uses php5 so I assume it's a bit old. Is there a updated guide using php7 and the latest mysql on similar lines? I have tried the server maker approach as well but the documentation for that too doesn't seem to work on the latest Ubuntu.
Also, is this the preferred way to set up Boinc on a server? If there is an easier way, please share that as well.
The text was updated successfully, but these errors were encountered: