compute error
Message boards : Unix/Linux : compute error
Author | Message | |
---|---|---|
Hi everyone,
|
||
ID: 949 | Rating: 0 | rate: / | ||
I believe this is the same fault that plagues nearly all Linux distributions.
|
||
ID: 963 | Rating: 0 | rate: / | ||
> @ Andre, Memo and the Docking team.
|
||
ID: 1262 | Rating: 0 | rate: / | ||
> @ Andre, Memo and the Docking team. It sure helps. What distro are you running? I help a friend to do the fix on a quad processor xeon with hyper threading and we just did the usual without reboot and it worked. I wander if your situation is caused by the distro or the dual core opterons? Anyway thanks for the info. |
||
ID: 1263 | Rating: 0 | rate: / | ||
Thanks Memo, I am using Fedora Core 3.
|
||
ID: 1299 | Rating: 0 | rate: / | ||
Oh, for me it's strange to add something to the manager parameters, since the manager does nothing with the WUs. I added the ulimit command just before starting the client in the init script. Is your distribution requiring also the ulimit stack for the manager?
|
||
ID: 1314 | Rating: 0 | rate: / | ||
Oh, for me it's strange to add something to the manager parameters, since the manager does nothing with the WUs. I added the ulimit command just before starting the client in the init script. Is your distribution requiring also the ulimit stack for the manager? >> Hello daniele, When I started this project the 'fix' for getting Linux to work on most distros was to add the 'ulimit -s unlimited' parameter to the 'run_manager' file. This worked on my single core dual processor AMD 848 when I restarted Boinc and processed workunits fine. When I added the dual core dual processor AMD 275 machine this fix did not work, I can't recall if I rebooted the machine or not. Anyway it was suggested to me by another tester and I think Andre agreed, that I should also add the line to the 'run_client' file. I did this, made no difference so I rebooted the machine and then all started working. When I then upgraded the 848 machine (I only changed the cpus in the computer, so everything else was the same), I struct the same problem I had with the 275 machine, and by adding 'ulimit' to 'run_client' and a reboot got it working again. As for Fedora Core being a problem distro, I have had no problems with it. the only thing I run is Boinc on it and nothing else, so my Linux knowledge is not great as I just installed the distro and with a few tweaks everything works for what I need. If I knew how to upgrade the distro I would like to try FC5, but if it isn't broke why change it? Your knowledge of Linux of any type far surpasses what I know. ____________ |
||
ID: 1320 | Rating: 0 | rate: / | ||
When I started this project the 'fix' for getting Linux to work on most distros was to add the 'ulimit -s unlimited' parameter to the 'run_manager' file. Hi Conan :) Don't know why, probably it's a difference between debian package and Fedora's one. It's not rare for debian mantainers adding or removing something from packages, for example I don't have a run_manager script, and I run the client with the boinc user. Anyway, if you are happy with FC and I'm happy with a debian-based distro, we could be friends as well. :) I'm not saying FC is a bad distro, it's good indeed, but I prefer more dolid and coherent "system administration structures". It's not for nothing that tools like apt are spreading in many different, non debian-based distros. |
||
ID: 1327 | Rating: 0 | rate: / | ||
I crunched one result on debian via VMWare, and the result experienced 0x1 error.
|
||
ID: 1363 | Rating: 0 | rate: / | ||
I crunched one result on debian via VMWare, and the result experienced 0x1 error. Sure, I have never used VMWare, but if it sets up a virtual debian system in which you can move as if you were in the real one, then you have installed the .deb packages for the client and the manager and now the client starts automatically when you "boot" linux. Is it right? Or do you start the client manually? If it starts "at boot", then look for the file boinc-client in the directory /etc/init.d More concisely, the file is /etc/init.d/boinc-client Tell me if you want I write the commands to use the shell directly, or if you prefer the graphical way. In this file, which is a script executed at boot time with the addictional parameter "start", this way (or similar) ./etc/init.d/boinc-client start there's a function named START() Here it is mine, the line you have to add is the "highlighted" one start() { log_begin_msg "Starting $DESC: $NAME" if is_running; then log_progress_msg "already running" else ################################### ulimit -s unlimited ################################### start-stop-daemon --start --quiet --background --pidfile $PIDFILE --make-pidfile --user $BOINC_USER --chuid $BOINC_USER --chdir $BOINC_DIR --exec $BOINC_CLIENT -- $BOINC_OPTS fi log_end_msg 0 } This way you'll make the minimum change to the behaviour of the system, since it will apply only to the client process and not to all the process of the user. If you start the client in other ways, then you have to add the line in the script you use. If you are not using any scripts, tell me what you are doing :) But since it's debian, there should be no problems. What is `ulimit -s unlimited`? This command gives to the shell instance in which you type it the faculty to have an unlimited stack when executing code. This "permission" will apply only to that shell and to the processes started by that shell. Generally speaking, there are "different kinds" of shell, or better there are different ways to start one. When you execute a script, this is done in a separate shell, which is closed when the script stops. If you give the ulimit -s command in that script, then that shell will have unlimited stack. When the script start a new client, this new process has unlimited stack. But in little time the script will finish, and the shell will be closed, so the client would die with the father. To avoid this, there are many methods, one is to start the client as a daemon (a service running in background), which is fair 'cause it's exactly what we want to do with the client, with or without the unlimited stack :) So, as you can see in the start() function, the command stop-start-daemon is used. When the script stops, the client remains alive, with unlimited stack permission. Its sons, i.e. the apps launched for the projects, will have unlimited stack as well, and the client is a session manager (...). If you want to stop the client to make some experiments, you can type in a console ./etc/init.d/boinc-client stop or if you prefer ./etc/init.d/boinc-client restart This is why debian rules :) |
||
ID: 1366 | Rating: 0 | rate: / | ||
Thanks for informative reply, daniele:) I'd like to answer/ask by lines.
now the client starts automatically when you "boot" linux. Is it right? Or do you start the client manually? I start client manually by clicking executable file "run_client" on X Window. Tell me if you want I write the commands to use the shell directly, or if you prefer the graphical way. I prefer the graphical way. Almost forgot I how to command shell, though I learned it during the previous semester in the university:( In this file, which is a script executed at boot time with the addictional parameter "start", this way (or similar) At first I cannot find boinc-client out in the directory:( hmm... If you start the client in other ways, then you have to add the line in the script you use. If you are not using any scripts, tell me what you are doing :) As I mentioned above, I started BOINC Manager on X Window by clicking run_manager. So I suppose there doesn't appear any script. (Edit: Is this file itself script to start boinc?) What is `ulimit -s unlimited`? Then, doesn't ulimit -s command appear if no script is used in starting boinc (i.e doesn't graphical execute of boinc require concerning of ulimit -s command)? Or should I place the phrase into the run_client(script?) file? [Edit2: I'm now learning how to install... I'll be back after that] ____________ I'm a volunteer participant; my views are not necessarily those of Docking@Home or its participating institutions. |
||
ID: 1368 | Rating: 0 | rate: / | ||
Finally I finished setup and started crunching of one result.
|
||
ID: 1370 | Rating: 0 | rate: / | ||
I start client manually by clicking executable file "run_client" on X Window. So you are not using the debian package, but the standard one from boinc team. I suggest to use the first one if you are using debian. Anyway, if you prefer to use the one you are running now, the line goes in the run_client script, you are right :) As I said, you can't find those files because they have been created by debian mantainers to give the boinc client a coherent structure with other system services. |
||
ID: 1373 | Rating: 0 | rate: / | ||
Finally I finished setup and started crunching of one result. I'm sorry I can't examinate those scripts now, but if the ulimit command doesn't work it could be related to how the virtual machine runs. To be clearer, I don't know what the VM does when a process claims for unlimited stack. Would you paste the boinc-client.sh script here? |
||
ID: 1374 | Rating: 0 | rate: / | ||
I just added the highlighted line "ulimit -s unlimited" to boinc-client:( perhaps I should have config more carefully!
|
||
ID: 1375 | Rating: 0 | rate: / | ||
Message boards : Unix/Linux : compute error
Database Error: The MySQL server is running with the --read-only option so it cannot execute this statement
array(3) { [0]=> array(7) { ["file"]=> string(47) "/boinc/projects/docking/html_v2/inc/db_conn.inc" ["line"]=> int(97) ["function"]=> string(8) "do_query" ["class"]=> string(6) "DbConn" ["object"]=> object(DbConn)#20 (2) { ["db_conn"]=> resource(78) of type (mysql link persistent) ["db_name"]=> string(7) "docking" } ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> &string(50) "update DBNAME.thread set views=views+1 where id=78" } } [1]=> array(7) { ["file"]=> string(48) "/boinc/projects/docking/html_v2/inc/forum_db.inc" ["line"]=> int(60) ["function"]=> string(6) "update" ["class"]=> string(6) "DbConn" ["object"]=> object(DbConn)#20 (2) { ["db_conn"]=> resource(78) of type (mysql link persistent) ["db_name"]=> string(7) "docking" } ["type"]=> string(2) "->" ["args"]=> array(3) { [0]=> object(BoincThread)#3 (16) { ["id"]=> string(2) "78" ["forum"]=> string(1) "6" ["owner"]=> string(3) "163" ["status"]=> string(1) "0" ["title"]=> string(13) "compute error" ["timestamp"]=> string(10) "1163263517" ["views"]=> string(4) "1637" ["replies"]=> string(2) "14" ["activity"]=> string(20) "5.3995660984026e-128" ["sufferers"]=> string(1) "0" ["score"]=> string(1) "0" ["votes"]=> string(1) "0" ["create_time"]=> string(10) "1160520359" ["hidden"]=> string(1) "0" ["sticky"]=> string(1) "0" ["locked"]=> string(1) "0" } [1]=> &string(6) "thread" [2]=> &string(13) "views=views+1" } } [2]=> array(7) { ["file"]=> string(63) "/boinc/projects/docking/html_v2/user/community/forum/thread.php" ["line"]=> int(184) ["function"]=> string(6) "update" ["class"]=> string(11) "BoincThread" ["object"]=> object(BoincThread)#3 (16) { ["id"]=> string(2) "78" ["forum"]=> string(1) "6" ["owner"]=> string(3) "163" ["status"]=> string(1) "0" ["title"]=> string(13) "compute error" ["timestamp"]=> string(10) "1163263517" ["views"]=> string(4) "1637" ["replies"]=> string(2) "14" ["activity"]=> string(20) "5.3995660984026e-128" ["sufferers"]=> string(1) "0" ["score"]=> string(1) "0" ["votes"]=> string(1) "0" ["create_time"]=> string(10) "1160520359" ["hidden"]=> string(1) "0" ["sticky"]=> string(1) "0" ["locked"]=> string(1) "0" } ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> &string(13) "views=views+1" } } }query: update docking.thread set views=views+1 where id=78