#350 closed Defect (fixed)
Bad executables can cause infinite loop
Reported by: | charlief | Owned by: | davea |
---|---|---|---|
Priority: | Major | Milestone: | Undetermined |
Component: | Client - Daemon | Version: | |
Keywords: | Cc: |
Description (last modified by )
If a defective project application always exits with code 0, the BOINC Client will restart it forever and will never contact the server. The message window does show "If this happns repeatedly, you may need to reset the project" but many users may not notice this, and some won't follow the instructions even though they do see it.
Suggestion: If the Client detects this happening N times within M minutes, abort the task.
This happened with setiathome-5.21.powerpc-apple-darwin. All the associated files had the executable set, so the BOINC Client tried to execute the setiathome-5.21_AUTHORS file instead of the application.
At 2:21 PM -0700 7/19/07, Jeff Cobb wrote:
The underlying problem is that the executable name is different than the directory name: setiathome_5.21_powerpc-apple-darwin/ setiathome-5.21.powerpc-apple-darwin When the name match fails, the boinc client may resort to using the executable flag.
So another possibility might be to create an error condition when there is no match, ideally at the server.
I'm not sure what directory Jeff means here, as the application file is in the "BOINC Data/projects/setiathome.berkeley.edu/" directory on my Mac; there is no directory with a name like the one Jeff mentions. Perhaps he is talking about a directory on the BOINC server, but it's unclear to me how that would affect the BOINC Client's choice of executables.
Change History (4)
comment:1 Changed 17 years ago by
Owner: | changed from DaveA to davea |
---|
comment:2 Changed 17 years ago by
Description: | modified (diff) |
---|
comment:3 Changed 17 years ago by
It is indeed a server directory. The problem with that filename is the directory has an underscore between version and platform, and the executable has a period. I find it surprising that update_versions searches for the first executable file to mark as <main_file/> (that flag is sent to client) if filename match fails... Shouldn't it just give an error?
comment:4 Changed 17 years ago by
Component: | Client - Scheduler Policy → Client - Daemon |
---|---|
Resolution: | → fixed |
Status: | new → closed |
fix typo on description