Ticket #772 (closed Defect: fixed)

Opened 1 year ago

Last modified 3 months ago

boinc client crashed at start

Reported by: AngieSoft Assigned to: davea
Priority: Critical Milestone: Undetermined
Component: Client - Daemon Version: 6.2.15
Keywords: crash Cc:

Description

the client crashed after computing astropulse 4.36 after restart with the follow protocol

Attachments

BOINC.log (2.1 kB) - added by AngieSoft on 11/10/08 15:49:56.
crashlog

Change History

11/10/08 15:49:56 changed by AngieSoft

  • attachment BOINC.log added.

crashlog

11/10/08 16:19:13 changed by Nicolas

  • owner changed from ballen to davea.
  • component changed from BOINC - API to Client - Daemon.

Looks like it closed an invalid or already-closed FILE* (fclose is mentioned in stack trace). I'll try to decode the other stacktrace items.

11/10/08 17:13:40 changed by Nicolas

./boinc[0x446c82] TIME_STATS::get_log_after(double, MIOFILE&)    /home/boincadm/src/boinc_6.2/client/time_stats.C:144
./boinc[0x42925d] CLIENT_STATE::make_scheduler_request(PROJECT*) /home/boincadm/src/boinc_6.2/client/cs_scheduler.C:274
./boinc[0x43dcad] SCHEDULER_OP::init_op_project(PROJECT*, int)   /home/boincadm/src/boinc_6.2/client/scheduler_op.C:135
./boinc[0x428a02] CLIENT_STATE::scheduler_rpc_poll()             /home/boincadm/src/boinc_6.2/client/cs_scheduler.C:347
./boinc[0x41699b] CLIENT_STATE::poll_slow_events()               /home/boincadm/src/boinc_6.2/client/client_state.C:588
./boinc[0x43b71d] boinc_main_loop()                              /home/boincadm/src/boinc_6.2/client/main.C:472

11/10/08 17:19:26 changed by Nicolas

It's all in the TIME_STATS class.

If the fopen call in the start() method fails, the error is silently ignored, leaving time_stats_log set to NULL. log_append() checks if the pointer is valid before trying to call fprintf, so that method doesn't crash. However, get_log_after() doesn't do any check, it calls fclose on a potentially-NULL pointer.

11/11/08 15:07:38 changed by davea

  • status changed from new to closed.
  • resolution set to fixed.

(In [16478]) - client: don't fclose() time_stats_log if it's NULL

Fixes #772


If this page is incomplete or incorrect, please edit it or add it to the wiki to-do list. To do this, you must be logged in; click Login or Register above.