El Sáb 22 Ago 2009 17:54:07 Nicolás Alvarez escribió:
> 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?

Yet another user on IRC having the same problem, 6.6 manager not starting 
client.

He asks if manager auto-starting client is a dropped feature.

-- 
Nicolas
_______________________________________________
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.

Reply via email to