Opened 15 years ago

Closed 15 years ago

Last modified 15 years ago

#772 closed Defect (fixed)

boinc client crashed at start

Reported by: AngieSoft Owned by: 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 (1)

BOINC.log (2.1 KB) - added by AngieSoft 15 years ago.
crashlog

Download all attachments as: .zip

Change History (5)

Changed 15 years ago by AngieSoft

Attachment: BOINC.log added

crashlog

comment:1 Changed 15 years ago by Nicolas

Component: BOINC - APIClient - Daemon
Owner: changed from Bruce Allen to davea

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.

comment:2 Changed 15 years ago 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

comment:3 Changed 15 years ago 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.

comment:4 Changed 15 years ago by davea

Resolution: fixed
Status: newclosed

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

Fixes #772

Note: See TracTickets for help on using tickets.