Message boards : Questions and problems : Running BOINC server on arm64 machine
Message board moderation
Author | Message |
---|---|
Send message Joined: 14 Mar 18 Posts: 5 ![]() |
Hello everyone! I'm having a problem with setting up BOINC server on arm64 machine (armbian nightly 5.41.180312 OS Is used). I've created a new project, added platforms, workunits, etc., but when I tried to connect to the server to get tasks I got 500 error. I looked it up at the server and found out that something was wrong with executing 'cgi-bin/cgi' file. To define the error, I copied a scheduler request xml file from client to server and tried to run cgi manually with that file as input, and, surprisingly, it stopped with SIGSEGV somewhere in libc.so.6. So. here is the output and the backtrace: $ gdb cgi GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1 Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "aarch64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from cgi...done. (gdb) r < req.xml Starting program: /home/boincadm/projects/bnb/cgi-bin/cgi < req.xml [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x0000ffffbed1c83c in ?? () from /lib/aarch64-linux-gnu/libc.so.6 (gdb) bt #0 0x0000ffffbed1c83c in ?? () from /lib/aarch64-linux-gnu/libc.so.6 #1 0x0000fffffff671c0 in ?? () #2 0x6572656877207265 in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) Therefore, the question is: is it possible to fix it somehow? I've also tried to run it all as root and got the same result. Thank you! |
Send message Joined: 20 Nov 12 Posts: 801 ![]() |
Well, that stacktrace isn't going to help much so you need to resort to printf-debugging. Sprinkle fprintf(stderr, "I'm here\n"); calls here and there and see how far the program runs. Start with main() in sched_main.cpp. If the code survives past line 474 you can change the setvbuf() call to setvbuf(stderr, NULL, _IONBF, 0); to disable buffering sched log. That should make debugging a bit faster. |
Send message Joined: 14 Mar 18 Posts: 5 ![]() |
Thank you! I managed to find where the problem was. |
Send message Joined: 20 Nov 12 Posts: 801 ![]() |
Was it something that should be fixed in BOINC? |
Send message Joined: 14 Mar 18 Posts: 5 ![]() |
No, it was up to MySQL. After some debugging, SIGSEGV turned out to be caused by request to the 'user' table in the project DB. I readded my user and the problem was all gone. |
Copyright © 2025 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.