Opened 15 years ago

Closed 15 years ago

#1568 closed defect (fixed)

backend crash when opening mythweb recordings screen (seeking related problem)

Reported by: visit0r Owned by: Isaac Richards
Priority: major Milestone: unknown
Component: mythtv Version: 0.19
Severity: high Keywords:
Cc: Ticket locked: no


The backend segfaults when I open the recordings screen in mythweb. It seems to be connected to seeking, as I get also a frontend crash when I try to fast forward the video. Playing the video in normal fashion does not crash anything. I haven't tried the HEAD yet, but the last time I tried (a week ago or so) the crash was occuring there too.

I can provide a piece of the test video if requested (copyrighted stuff).

Here's the interesting portion of the backtrace:

Thread 1 (process 2770):
---Type <return> to continue, or q <return> to quit---
#0  0xb74386f9 in mpeg_field_start (s=0x81e4bf0) at mpeg12.c:2494
#1  0xb743a031 in mpeg_decode_frame (avctx=0x81adcc0, data=0xaf62bb88, data_size=0xaf62bc88, buf=0xadaae008 "",
    buf_size=146540) at mpeg12.c:3207
#2  0xb7379c73 in avcodec_decode_video (avctx=0x81adcc0, picture=0x8189e2c, got_picture_ptr=0xaf62bc88,
    buf=0x8189e2c " \220Œ­ À­ LÄ­\201\vëÆÀ\002", buf_size=146540) at utils.c:947
#3  0xb7aabc6f in AvFormatDecoder::GetFrame (this=0x818dff8, onlyvideo=1) at avformatdecoder.cpp:2514
#4  0xb7a71d95 in NuppelVideoPlayer::GetFrameNormal (this=0x8206ee8, onlyvideo=135831084) at NuppelVideoPlayer.cpp:979
#5  0xb7a72195 in NuppelVideoPlayer::GetFrame (this=0x8206ee8, onlyvideo=135831084, unsafe=false)
    at NuppelVideoPlayer.cpp:1057
#6  0xb7a7ec45 in NuppelVideoPlayer::GetScreenGrab (this=0x8206ee8, secondsin=240, bufflen=@0xaf62c160, vw=@0xaf62c15c,
    vh=@0xaf62c158, ar=@0xaf62c154) at NuppelVideoPlayer.cpp:4221
#7  0xb7d40845 in PreviewGenerator::GetScreenGrab (pginfo=0x8189e2c, filename=@0xaf62c164, secondsin=135831084,
    bufferlen=@0xaf62c160, video_width=@0x8189e2c, video_height=@0x8189e2c, video_aspect=@0x8189e2c)
    at previewgenerator.cpp:399
#8  0x080649bb in EncoderLink::GetScreenGrab (this=0x8189e2c, pginfo=0x8189e2c, filename=@0x8189e2c, secondsin=135831084,
    bufferlen=@0x8189e2c, video_width=@0x8189e2c, video_height=@0x8189e2c, video_aspect=@0x8189e2c) at encoderlink.cpp:903
#9  0x08090208 in MainServer::HandleGenPreviewPixmap (this=0x81473c8, slist=@0x8189e2c, pbs=0x8189e2c)
    at mainserver.cpp:3151
#10 0x0809ad4d in MainServer::ProcessRequestWork (this=0x81473c8, sock=0x818fd78) at mainserver.cpp:437
#11 0x080a0f83 in ProcessRequestThread::run (this=0x8146d20) at mainserver.cpp:256
#12 0xb6841806 in QThreadInstance::start () from /usr/lib/
#13 0xb64ae341 in start_thread () from /lib/tls/i686/cmov/
#14 0xb634252e in clone () from /lib/tls/i686/cmov/

Other threads were sleeping in a syscall, for example:

Thread 2 (process 2769):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb64b0c76 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/

Here's the backend log (default logging switches used, ask if you need some specific ones) before crashing:

2006-03-22 12:26:10.494 Using runtime prefix = /usr/local/stow/mythtv-0.19-fixes
2006-03-22 12:26:10.653 New DB connection, total: 1
2006-03-22 12:26:10.750 Connected to database 'mythconverg' at host: localhost
2006-03-22 12:26:10.757 Current Schema Version: 1128
2006-03-22 12:26:10.758 Newest Schema Version : 1123
2006-03-22 12:26:10.759 New DB connection, total: 2
2006-03-22 12:26:10.761 Connected to database 'mythconverg' at host: localhost
2006-03-22 12:26:10.762 Setting Lock for Database Schema upgrade. If you see a long pause here it means the Schema is already locked and is being upgraded by another Myth process.
2006-03-22 12:26:10.764 New DB connection, total: 3
2006-03-22 12:26:10.765 Connected to database 'mythconverg' at host: localhost
2006-03-22 12:26:10.766 Database Schema upgrade complete, unlocking.
Starting up as the master server.
2006-03-22 12:26:10.857 DVB#0 Using DVB card 0, with frontend 'VLSI VES1820 DVB-C'.
2006-03-22 12:26:10.948 DVB#1 Using DVB card 1, with frontend 'VLSI VES1820 DVB-C'.
2006-03-22 12:26:10.953 New DB scheduler connection
2006-03-22 12:26:10.954 Connected to database 'mythconverg' at host: localhost
2006-03-22 12:26:11.059 mythbackend version: 0.19.20060121-2
2006-03-22 12:26:11.059 Enabled verbose msgs:  important general
2006-03-22 12:26:11.059 AutoExpire: Found 2 recorders w/max rate of 277 MiB/min
2006-03-22 12:26:11.060 AutoExpire: Required Free Space: 2.2 GB w/freq: 5 min
2006-03-22 12:26:13.056 Reschedule requested for id -1.
2006-03-22 12:26:13.682 Scheduled 20 items in 0.6 = 0.16 match + 0.46 place
2006-03-22 12:26:13.687 Seem to be woken up by USER
2006-03-22 12:26:19.208 MainServer::HandleAnnounce Monitor
2006-03-22 12:26:19.208 adding: aslanov as a client (events: 0)
2006-03-22 12:26:21.638 MainServer::HandleAnnounce Monitor
2006-03-22 12:26:21.638 adding: aslanov as a client (events: 0)
0: start_time: 5472.197 duration: 177.872
1: start_time: 5472.149 duration: 177.885
2: start_time: 5472.149 duration: 177.921
3: start_time: 5472.149 duration: 177.921
stream: start_time: 60801.653 duration: 1976.899 bitrate=4118 kb/s
2006-03-22 12:26:22.529 AFD: Opened codec 0x81adcc0, id(MPEG2VIDEO) type(Video)
2006-03-22 12:26:22.553 AFD: Opened codec 0x820db90, id(MP3) type(Audio)
2006-03-22 12:26:22.553 AFD: Opened codec 0x818f4e0, id(DVB_SUBTITLE) type(Subtitle)
2006-03-22 12:26:22.553 AFD: Opened codec 0x81e3440, id(DVB_SUBTITLE) type(Subtitle)
Segmentation fault (core dumped)

It seems to detect the stream properties incorrectly, as the channel that sends the program in question does not support DVB subtitles, AFAIK.

Attached is a log when ran it under valgrind.

I'm available at and through e-mail pekka.jaaskelainen gmail com, if you have ideas for fixes to try out.

Attachments (1)

backend_crash_valgrind_log.2.txt (53.9 KB) - added by visit0r 15 years ago.
valgrind log of the backend

Download all attachments as: .zip

Change History (2)

Changed 15 years ago by visit0r

valgrind log of the backend

comment:1 Changed 15 years ago by Isaac Richards

Resolution: fixed
Status: newclosed

(In [9581]) Make sure libavcodec resets more stuff after a seek.

Closes #1568.

Note: See TracTickets for help on using tickets.