El Jue 11 Jun 2009 11:04:13 Kathryn Marks escribió: > On Thu, Jun 11, 2009 at 10:37 PM, Jorden van der Elst <els...@gmail.com>wrote: > > Hi Rom, > > > > Why did all of the 6.6.36 versions go out as recommended versions > > without even testing them? > > Now we're getting reports in that BOINC Manager won't start the client > > when you run the boinc-manager script, plus an apparent key library > > file is missing on starting BM on 32bit Linux. it works correctly on > > 64bit Linux. > > I'm on 64 bit Fedora 10 currently. The run_manager script starts the > manager but the manager fails to start the client. This is in a clean > install in ~/kathryn/BOINC (directory created by the .sh).
Almost two months later, still no new 6.6 with this fixed. I guess PTP and ATI are more important (or hyped) than getting Linux BOINC to *work at all*. Code to detect if the client is running, for non-Windows: sprintf(path, "%s/%s", (char *)wxGetApp().GetDataDirectory().char_str(), LOCK_FILE_NAME); if (file_lock.lock(path)) { running = true; } else { file_lock.unlock(path); } file_lock.lock() tries to open() the file and then lock it with fcntl(). If that fails, then the client is assumed to be running and locking the file exclusively. Even if the failure is not actually because of exclusive locking by another process. Nobody ever looks at errno. Here's the code that fills in the variable later returned by GetDataDirectory, on Linux (that is, after removing Win-only and Mac-only code): void CBOINCGUIApp::DetectDataDirectory() { } The string is initialized to wxEmptyString, so after this code (or lack thereof), it will stay empty. Empty string + "/lockfile" = "/lockfile", which is a file in the filesystem root. I have confirmed with strace that this is the path the manager is trying to open(). Since the manager doesn't run as root (at least I'd hope nobody is that stupid), it cannot open() a file in the filesystem root. Since FILE_LOCK::lock fails, the client is assumed to be running, and it's not started again. And then this happens: <maelcum> hi. i just upgraded from 6.4.something to the latest version and now the manager doesn't show any projects anymore. <maelcum> it's as if i didn't have any accounts. <maelcum> this is on linux. <maelcum> what can i do? [...] <PovAddict> go to Messages <PovAddict> look for a line starting with "Data directory:" <maelcum> messages is 100% empty <PovAddict> o_o <PovAddict> then it's not running at all, I'd say... <maelcum> okay, that's a start This was "fixed" in r18420 by first checking if the lockfile exists, but citing a "rare race condition". (Obviously committed before even testing if it compiled, since r18421 added a missing parenthesis). It was then ported to the 6.8 branch, but not to 6.6. Can we now have a working 6.6 for Linux please? _______________________________________________ boinc_dev mailing list boinc_dev@ssl.berkeley.edu http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address.