Opened 14 years ago

Closed 14 years ago

Last modified 13 years ago

#88 closed defect (fixed)

null pointer dereferencing / segfault (reproducible)

Reported by: hp-mythtv.org@… Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: mythtv Version: head
Severity: high Keywords:
Cc: Ticket locked: no

Description

current cvs mythtv segfaults when beginning to record.

a) manually scheduling through mythweb: backend segfaults at scheduledrecording.cpp:84 (type is 0x0)

b) manually scheduling through frontend: frontend segfaults with one-liner complaining about the empty type

No errors when compiling. Please instruct me for further information gathering, as I just learned how to "backtrace" with gdb (hence the line 84 above :) )

Attachments (3)

bt.bz2 (97.6 KB) - added by hp-mythtv.org@… 14 years ago.
backtrace according to instructions
output.bz2 (1.3 KB) - added by hp-mythtv.org@… 14 years ago.
gdb console output up until crash
bt-per-thread.bz2 (8.4 KB) - added by hp-mythtv.org@… 14 years ago.
bt full per thread

Download all attachments as: .zip

Change History (8)

comment:1 Changed 14 years ago by Isaac Richards

This will be marked as invalid unless a backtrace as specified in the docs is attached.

http://www.mythtv.org/docs/mythtv-HOWTO-21.html#ss21.2

comment:2 Changed 14 years ago by hp-mythtv.org@…

I did the following:

a) start mythbackend b) get on mythweb to schedule_manually.php c) select an immediate, two minute recording on any FTA-DVB-Channel d) backend segfaults

I will add: a) output of gdb b) backtrace according to instructions

ATTENTION: backtrace might be "corrupted", because after about 80'000 zero lines, gdb crashes.

Changed 14 years ago by hp-mythtv.org@…

Attachment: bt.bz2 added

backtrace according to instructions

Changed 14 years ago by hp-mythtv.org@…

Attachment: output.bz2 added

gdb console output up until crash

comment:3 Changed 14 years ago by Isaac Richards

Since your gdb appears broken, you need to switch threads manually and get a backtrace for each one. 'info threads' and 'thread X' to switch.

Changed 14 years ago by hp-mythtv.org@…

Attachment: bt-per-thread.bz2 added

bt full per thread

comment:4 Changed 14 years ago by hp-mythtv.org@…

I added a backtrace of all 14 threads. I found that those five threads being stopped in pthread_cond_wait have an indefinitely long backtrace and several others end in "Previous frame inner to this frame (corrupt stack)?".

I'm using stock Mandriva Linux 2005 on Athlon64. I really hope, the development tools are ok.

comment:5 Changed 14 years ago by Isaac Richards

Resolution: fixed
Status: newclosed

(In [6802]) Add the sr_* stuff to the backend-only build (gui items can still be used on the backend, since they're accessors for the data as well as the ui item). Fixes #88. Use pointers, not references in sr_* stuff.

Note: See TracTickets for help on using tickets.