Travis Desell wrote on 06/05/2012 20:33:
> Is there any thing that would cause the BOINC client to repeatedly restart 
> jobs that error out?
>
> We had a bunch of workunits error out in this if condition (for the whole 
> program see 
> https://github.com/travisdesell/Subset-Sum/blob/master/client/subset_sum_main.cpp
>  ):
>
>          if (max_set_value<  subset_size) {
>              fprintf(stderr, "Error max_set_value<  subset_size. 
> Quitting.\n");
>              exit(0);
>          }
>
> And the BOINC client kept restarting the workunits (in what seemed like an 
> infinite loop).  Are we doing something wrong here, and is there any fix for 
> this?

To exit an application you should call boinc_finish() instead of exit(). 
  You should also use a positive non-zero exit status for error conditions.

As things stand the BOINC API will restart the application after 
generating the stderr message

Task <name> exited with zero status but no 'finished' file

This will continue happening until you get 100 consecutive failures 
without making a checkpoint.

-- 
Ian
_______________________________________________
boinc_dev mailing list
[email protected]
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