Opened 7 years ago

Closed 7 years ago

#10775 closed Bug Report - Crash (Fixed)

Segfault in mythbackend (libQtCore.so.4.7.4)

Reported by: ajm1@… Owned by: beirdo
Priority: minor Milestone: 0.26
Component: MythTV - MythSystem Version: 0.25-fixes
Severity: medium Keywords: mythbackend, segfault, libQtCore
Cc: Ticket locked: no

Description (last modified by sphery)

Can hit this about every two days, but only if not running within gbd. If running inside of gdb, was able to run 2 or more weeks without hitting.

dmesg:

[213700.275686] mythbackend[1279]: segfault at 48 ip 00007f28f63a8cbd sp 00007f28e6d5dcd0 error 4 in libQtCore.so.4.7.4[7f28f6229000+292000]
mythbackend --version:
Please attach all output as a file in bug reports.
MythTV Version : v0.25-94-gec51a97
MythTV Branch : fixes/0.25
Network Protocol : 72
Library API : 0.25.20120506-1
QT Version : 4.7.4
Options compiled in:
 linux profile use_hidesyms using_alsa using_pulse using_pulseoutput using_backend using_bindings_perl using_bindings_python using_bindings_php using_frontend using_hdhomerun using_ceton using_hdpvr using_libcrypto using_libxml2 using_lirc using_mheg using_opengl_video using_qtwebkit using_qtscript using_qtdbus using_v4l2 using_x11 using_xrandr using_xv using_bindings_perl using_bindings_python using_bindings_php using_mythtranscode using_opengl using_vaapi using_vdpau using_ffmpeg_threads using_mheg using_libxml2

backendlog at time of crash:

May 29 03:17:41 pvr mythbackend[1264]: I ProcessRequest mainserver.cpp:1362 (HandleAnnounce) adding: pvr as a client (events: 1)
May 29 03:18:43 pvr mythbackend[1264]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
May 29 03:23:47 pvr mythbackend[1264]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
May 29 03:24:28 pvr mythbackend[1264]: N Expire autoexpire.cpp:263 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 1.0 GB w/freq: 15 min
May 29 03:27:28 pvr mythbackend[1264]: I ProcessRequest mainserver.cpp:1360 (HandleAnnounce) MainServer::ANN Monitor
May 29 03:27:28 pvr mythbackend[1264]: I ProcessRequest mainserver.cpp:1362 (HandleAnnounce) adding: pvr as a client (events: 0)
May 29 03:27:28 pvr mythbackend[1264]: I ProcessRequest mainserver.cpp:1360 (HandleAnnounce) MainServer::ANN Monitor
May 29 03:27:28 pvr mythbackend[1264]: I ProcessRequest mainserver.cpp:1362 (HandleAnnounce) adding: pvr as a client (events: 1)
May 29 03:28:52 pvr mythbackend[1264]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
May 29 03:33:54 pvr mythbackend[1264]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
May 29 03:36:28 pvr mythbackend[1264]: I TVRecEvent tv_rec.cpp:1521 (HandlePendingRecordings) TVRec(8): ASK_RECORDING 8 20 0 0
May 29 03:36:49 pvr mythbackend[1264]: I TVRecEvent tv_rec.cpp:1014 (HandleStateChange) TVRec(8): Changing from None to RecordingOnly
May 29 03:36:49 pvr mythbackend[1264]: I TVRecEvent tv_rec.cpp:3459 (TuningCheckForHWChange) TVRec(8): HW Tuner: 8->8
May 29 03:36:49 pvr mythbackend[1264]: I TVRecEvent v4lchannel.cpp:661 (SetInputAndFormat) V4LChannel(/dev/video0): SetInputAndFormat(6, NTSC) (v4l v2) input_switch: 0 mode_switch: 0
May 29 03:36:49 pvr mythbackend[1264]: N Scheduler autoexpire.cpp:263 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 15 min
May 29 03:36:49 pvr mythbackend[1264]: I Scheduler scheduler.cpp:2460 (HandleRecordingStatusChange) Tuning recording: etalk: channel 3806 on cardid 8, sourceid 3

Attachments (3)

mythbackend-20110529.txt (20.1 KB) - added by anonymous 7 years ago.
mythbackend-20120613.txt (23.8 KB) - added by anonymous 7 years ago.
mythbackend-20120616.txt (25.7 KB) - added by anonymous 7 years ago.

Download all attachments as: .zip

Change History (20)

Changed 7 years ago by anonymous

Attachment: mythbackend-20110529.txt added

comment:1 Changed 7 years ago by sphery

Description: modified (diff)
Priority: majorminor
Severity: highmedium

Resetting defaults and formatting description

comment:2 Changed 7 years ago by beirdo

You will need to run with:

-v system --loglevel debug

Also, we'd need any and all errors that Qt spits out directly to the console/xterm where mythbackend was started from. This may mean running it manually rather than with a startup script.

Thanks

comment:3 Changed 7 years ago by beirdo

Status: newinfoneeded_new

comment:4 in reply to:  3 ; Changed 7 years ago by ajm1@…

Replying to beirdo:

I don't seem to hit the segfault when not running in daemon mode. What else can be done to capture the necessary output and still run in daemon mode?

comment:5 in reply to:  4 Changed 7 years ago by ajm1@…

Replying to ajm1@…:

Replying to beirdo:

I don't seem to hit the segfault when not running in daemon mode. What else can be done to capture the necessary output and still run in daemon mode?

Still having trouble hitting the segfault when not started from init script. Added "-v system --loglevel debug" to the initscript to see if sufficient information will be in the log to assist with tracking down the problem.

comment:6 Changed 7 years ago by ajm1@…

For reference: Here is the command line when run from the initscript (same command line was used when running from the terminal.

/mythtv/latest/bin/mythbackend --daemon --loglevel debug --syslog local7 --pidfile /var/run/mythtv/mythbackend.pid --noupnp -v system

comment:7 Changed 7 years ago by ajm1@…

Hit segfault again:

[727119.016694] mythbackend[23575]: segfault at 48 ip 00007f847e56acbd sp 00007f846ec56cd0 error 4 in libQtCore.so.4.7.4[7f847e3eb000+292000]

Not sure how much of the backend log is useful to you.

Jun 13 06:30:12 pvr mythbackend[23571]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
Jun 13 06:32:26 pvr mythbackend[23571]: N Expire autoexpire.cpp:263 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 7 min
Jun 13 06:35:12 pvr mythbackend[23571]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
Jun 13 06:37:01 pvr mythbackend[23571]: I SystemManager system-unix.cpp:342 (run) Managed child (PID: 26609) has exited! command=/mythtv/latest/bin/mythcommflag -j 12591 --noprogress --verbose general,system --loglevel debug --quiet --syslog local7, status=0, result=0
Jun 13 06:37:01 pvr mythbackend[23571]: D Commflag_12591 system-unix.cpp:632 (Fork) Launching: /mythtv/latest/bin/mythpreviewgen --size 0x0 --chanid 4054 --starttime 20120613054900 --verbose general,system --loglevel debug --quiet --syslog local7
Jun 13 06:37:01 pvr mythbackend[23571]: I Commflag_12591 system-unix.cpp:735 (Fork) Managed child (PID: 26904) has started! * command=/mythtv/latest/bin/mythpreviewgen --size 0x0 --chanid 4054 --starttime 20120613054900 --verbose general,system --loglevel debug --quiet --syslog local7, timeout=30
Jun 13 06:37:01 pvr mythbackend[23571]: I ProcessRequest mainserver.cpp:1360 (HandleAnnounce) MainServer::ANN Monitor
Jun 13 06:37:01 pvr mythbackend[23571]: I ProcessRequest mainserver.cpp:1362 (HandleAnnounce) adding: pvr as a client (events: 0)
Jun 13 06:37:01 pvr mythbackend[23571]: I ProcessRequest mainserver.cpp:1360 (HandleAnnounce) MainServer::ANN Monitor
Jun 13 06:37:01 pvr mythbackend[23571]: I ProcessRequest mainserver.cpp:1362 (HandleAnnounce) adding: pvr as a client (events: 1)
Jun 13 06:37:04 pvr mythbackend[23571]: I SystemManager system-unix.cpp:342 (run) Managed child (PID: 26904) has exited! command=/mythtv/latest/bin/mythpreviewgen --size 0x0 --chanid 4054 --starttime 20120613054900 --verbose general,system --loglevel debug --quiet --syslog local7, status=0, result=0
Jun 13 06:39:26 pvr mythbackend[23571]: N Expire autoexpire.cpp:263 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 7 min
Jun 13 06:40:18 pvr mythbackend[23571]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
Jun 13 06:45:25 pvr mythbackend[23571]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
Jun 13 06:46:26 pvr mythbackend[23571]: N Expire autoexpire.cpp:263 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 7 min
Jun 13 06:50:32 pvr mythbackend[23571]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
Jun 13 06:53:26 pvr mythbackend[23571]: N Expire autoexpire.cpp:263 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 7 min
Jun 13 06:55:38 pvr mythbackend[23571]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
Jun 13 06:59:29 pvr mythbackend[23571]: I TVRecEvent tv_rec.cpp:1521 (HandlePendingRecordings) TVRec(8): ASK_RECORDING 8 29 0 0
Jun 13 06:59:59 pvr mythbackend[23571]: I TVRecEvent tv_rec.cpp:1014 (HandleStateChange) TVRec(8): Changing from RecordingOnly to None
Jun 13 07:00:00 pvr mythbackend[23571]: E RecThread mpegrecorder.cpp:1017 (run) MPEGRec(/dev/video0): Device EOF detected
Jun 13 07:00:02 pvr mythbackend[23571]: D PreviewGenerator system-unix.cpp:632 (Fork) Launching: /mythtv/latest/bin/mythpreviewgen --size 0x0 --chanid 4054 --starttime 20120613062500 --verbose general,system --loglevel debug --quiet --syslog local7
Jun 13 07:00:02 pvr mythbackend[23571]: I PreviewGenerator system-unix.cpp:735 (Fork) Managed child (PID: 26927) has started! * command=/mythtv/latest/bin/mythpreviewgen --size 0x0 --chanid 4054 --starttime 20120613062500 --verbose general,system --loglevel debug --quiet --syslog local7, timeout=30
Jun 13 07:00:02 pvr mythbackend[23571]: I TVRecEvent recordinginfo.cpp:1113 (FinishedRecording) Finished recording CTV News: channel 4054
Jun 13 07:00:02 pvr mythbackend[23571]: I TVRecEvent tv_rec.cpp:1014 (HandleStateChange) TVRec(8): Changing from None to RecordingOnly
Jun 13 07:00:02 pvr mythbackend[23571]: I TVRecEvent tv_rec.cpp:3459 (TuningCheckForHWChange) TVRec(8): HW Tuner: 8->8
Jun 13 07:00:02 pvr mythbackend[23571]: I TVRecEvent v4lchannel.cpp:661 (SetInputAndFormat) V4LChannel(/dev/video0): SetInputAndFormat(6, NTSC) (v4l v2) input_switch: 0 mode_switch: 0
Jun 13 07:00:02 pvr mythbackend[23571]: D TVRecEvent system-unix.cpp:632 (Fork) Launching: /home/mythtv/bin/chchange.sh 804
Jun 13 07:00:02 pvr mythbackend[23571]: I TVRecEvent system-unix.cpp:735 (Fork) Managed child (PID: 26929) has started! *& command=/home/mythtv/bin/chchange.sh 804, timeout=0
Jun 13 07:00:02 pvr mythbackend[23571]: N Scheduler autoexpire.cpp:263 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 7 min
Jun 13 07:00:02 pvr mythbackend[23571]: I Scheduler scheduler.cpp:2460 (HandleRecordingStatusChange) Tuning recording: "CBC News Now": channel 3804 on cardid 8, sourceid 3
Jun 13 07:00:02 pvr mythbackend[23571]: I CoreContext scheduler.cpp:635 (UpdateRecStatus) Updating status for "CTV News" on cardid 8 (Recording => Recorded)
Jun 13 07:00:02 pvr mythbackend[23571]: I ProcessRequest mainserver.cpp:1360 (HandleAnnounce) MainServer::ANN Monitor
Jun 13 07:00:02 pvr mythbackend[23571]: I ProcessRequest mainserver.cpp:1362 (HandleAnnounce) adding: pvr as a client (events: 0)
Jun 13 07:00:02 pvr mythbackend[23571]: I ProcessRequest mainserver.cpp:1360 (HandleAnnounce) MainServer::ANN Monitor
Jun 13 07:00:02 pvr mythbackend[23571]: I ProcessRequest mainserver.cpp:1362 (HandleAnnounce) adding: pvr as a client (events: 1)
Jun 13 07:00:05 pvr mythbackend[23571]: I SystemManager system-unix.cpp:342 (run) Managed child (PID: 26927) has exited! command=/mythtv/latest/bin/mythpreviewgen --size 0x0 --chanid 4054 --starttime 20120613062500 --verbose general,system --loglevel debug --quiet --syslog local7, status=0, result=0
Jun 13 07:00:07 pvr mythbackend[23571]: I SystemManager system-unix.cpp:342 (run) Managed child (PID: 26929) has exited! command=/home/mythtv/bin/chchange.sh 804, status=0, result=0

Another backtrace is attached. (mythbackend-20120613.txt)

Changed 7 years ago by anonymous

Attachment: mythbackend-20120613.txt added

comment:8 Changed 7 years ago by Phil Davidov <davidovp@…>

Are you by any chance running any slave back-ends?

I was also segfaulting a few seconds after start-up and noticed there was an 0.24 slave back-end trying to connect which was causing my 0.25 mythbackend to segfault in libQtCore.

comment:9 in reply to:  8 Changed 7 years ago by ajm1@…

Replying to Phil Davidov <davidovp@…>:

Are you by any chance running any slave back-ends?

I was also segfaulting a few seconds after start-up and noticed there was an 0.24 slave back-end trying to connect which was causing my 0.25 mythbackend to segfault in libQtCore.

No, there are no slave backends, and the fault happens after a couple of days, but only when the backend is started from an initscript. Running from a normal shell command line or within GDB does not cause the fault (of course)

comment:10 Changed 7 years ago by ajm1@…

Hit segfault again. Should I keep adding additional faults to this ticket?

[111916.814043] mythbackend[23409]: segfault at 48 ip 00007f4f44d94f2f sp 00007f4f35481c20 error 4 in libQtCore.so.4.7.4[7f4f44c16000+292000]
Jun 16 04:49:28 pvr mythbackend[23405]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
Jun 16 04:53:46 pvr mythbackend[23405]: N Expire autoexpire.cpp:263 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 7 min
Jun 16 04:54:28 pvr mythbackend[23405]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
Jun 16 04:59:29 pvr mythbackend[23405]: I TVRecEvent tv_rec.cpp:1521 (HandlePendingRecordings) TVRec(6): ASK_RECORDING 6 29 0 0
Jun 16 04:59:29 pvr mythbackend[23405]: I TVRecEvent tv_rec.cpp:1521 (HandlePendingRecordings) TVRec(8): ASK_RECORDING 8 29 0 0
Jun 16 04:59:31 pvr mythbackend[23405]: I HouseKeeping housekeeper.cpp:225 (RunHouseKeeping) Running housekeeping thread
Jun 16 04:59:59 pvr mythbackend[23405]: I TVRecEvent tv_rec.cpp:1014 (HandleStateChange) TVRec(8): Changing from RecordingOnly to None
Jun 16 04:59:59 pvr mythbackend[23405]: E RecThread mpegrecorder.cpp:1017 (run) MPEGRec(/dev/video0): Device EOF detected
Jun 16 04:59:59 pvr mythbackend[23405]: I TVRecEvent recordinginfo.cpp:1113 (FinishedRecording) Finished recording How It's Made: channel 4602
Jun 16 04:59:59 pvr mythbackend[23405]: D PreviewGenerator system-unix.cpp:632 (Fork) Launching: /mythtv/latest/bin/mythpreviewgen --size 0x0 --chanid 4602 --starttime 20120616043000 --verbose general,system --loglevel debug --quiet --syslog local7
Jun 16 04:59:59 pvr mythbackend[23405]: I PreviewGenerator system-unix.cpp:735 (Fork) Managed child (PID: 16786) has started! * command=/mythtv/latest/bin/mythpreviewgen --size 0x0 --chanid 4602 --starttime 20120616043000 --verbose general,system --loglevel debug --quiet --syslog local7, timeout=30
Jun 16 05:00:00 pvr mythbackend[23405]: I TVRecEvent tv_rec.cpp:1014 (HandleStateChange) TVRec(8): Changing from None to RecordingOnly
Jun 16 05:00:00 pvr mythbackend[23405]: I TVRecEvent tv_rec.cpp:3459 (TuningCheckForHWChange) TVRec(8): HW Tuner: 8->8
Jun 16 05:00:00 pvr mythbackend[23405]: I TVRecEvent v4lchannel.cpp:661 (SetInputAndFormat) V4LChannel(/dev/video0): SetInputAndFormat(6, NTSC) (v4l v2) input_switch: 0 mode_switch: 0
Jun 16 05:00:00 pvr mythbackend[23405]: D TVRecEvent system-unix.cpp:632 (Fork) Launching: /home/mythtv/bin/chchange.sh 607
Jun 16 05:00:00 pvr mythbackend[23405]: I TVRecEvent system-unix.cpp:735 (Fork) Managed child (PID: 16788) has started! *& command=/home/mythtv/bin/chchange.sh 607, timeout=0
Jun 16 05:00:00 pvr mythbackend[23405]: N Scheduler autoexpire.cpp:263 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 7 min
Jun 16 05:00:00 pvr mythbackend[23405]: I Scheduler scheduler.cpp:2460 (HandleRecordingStatusChange) Tuning recording: "Disaster DIY":"Kitchen Attack": channel 3607 on cardid 8, sourceid 3
Jun 16 05:00:00 pvr mythbackend[23405]: D PreviewGenerator system-unix.cpp:632 (Fork) Launching: /mythtv/latest/bin/mythpreviewgen --size 0x0 --chanid 2511 --starttime 20120616040000 --verbose general,system --loglevel debug --quiet --syslog local7
Jun 16 05:00:00 pvr mythbackend[23405]: I PreviewGenerator system-unix.cpp:735 (Fork) Managed child (PID: 16795) has started! * command=/mythtv/latest/bin/mythpreviewgen --size 0x0 --chanid 2511 --starttime 20120616040000 --verbose general,system --loglevel debug --quiet --syslog local7, timeout=30
Jun 16 05:00:03 pvr mythbackend[23405]: W Scheduler ThreadedFileWriter.cpp:301 (Flush) TFW(/storage/2511_20120616040000.mpg:34): Taking a long time to flush.. buffer size 0
Jun 16 05:00:03 pvr mythbackend[23405]: N Scheduler autoexpire.cpp:263 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 7 min
Jun 16 05:00:03 pvr mythbackend[23405]: I Scheduler scheduler.cpp:2460 (HandleRecordingStatusChange) Started recording: CityLine: channel 2511 on cardid 6, sourceid 2
Jun 16 05:00:03 pvr mythbackend[23405]: I CoreContext scheduler.cpp:635 (UpdateRecStatus) Updating status for "How It's Made" on cardid 8 (Recording => Recorded)
Jun 16 05:00:03 pvr mythbackend[23405]: I ProcessRequest mainserver.cpp:1360 (HandleAnnounce) MainServer::ANN Monitor
Jun 16 05:00:03 pvr mythbackend[23405]: I ProcessRequest mainserver.cpp:1362 (HandleAnnounce) adding: pvr as a client (events: 0)
Jun 16 05:00:03 pvr mythbackend[23405]: I ProcessRequest mainserver.cpp:1360 (HandleAnnounce) MainServer::ANN Monitor
Jun 16 05:00:03 pvr mythbackend[23405]: I ProcessRequest mainserver.cpp:1362 (HandleAnnounce) adding: pvr as a client (events: 0)
Jun 16 05:00:03 pvr mythbackend[23405]: I ProcessRequest mainserver.cpp:1360 (HandleAnnounce) MainServer::ANN Monitor
Jun 16 05:00:03 pvr mythbackend[23405]: I ProcessRequest mainserver.cpp:1362 (HandleAnnounce) adding: pvr as a client (events: 1)
Jun 16 05:00:03 pvr mythbackend[23405]: I ProcessRequest mainserver.cpp:1360 (HandleAnnounce) MainServer::ANN Monitor
Jun 16 05:00:03 pvr mythbackend[23405]: I ProcessRequest mainserver.cpp:1362 (HandleAnnounce) adding: pvr as a client (events: 1)
Jun 16 05:00:03 pvr mythbackend[23405]: I HDHRStreamHandler mythdbcon.cpp:395 (PurgeIdleConnections) New DB connection, total: 11
Jun 16 05:00:03 pvr mythbackend[23405]: I HDHRStreamHandler tv_rec.cpp:3256 (RingBufferChanged) TVRec(6): RingBufferChanged()
Jun 16 05:00:03 pvr mythbackend[23405]: I CoreContext scheduler.cpp:635 (UpdateRecStatus) Updating status for CityLine on cardid 6 (Recording => Recorded)
Jun 16 05:00:03 pvr mythbackend[23405]: E CoreContext mainserver.cpp:871 (customEvent) MainServer: PREVIEW_SUCCESS but no receivers.
Jun 16 05:00:03 pvr mythbackend[23405]: I HDHRStreamHandler recordinginfo.cpp:1113 (FinishedRecording) Finished recording CityLine: channel 2511
Jun 16 05:00:04 pvr mythbackend[23405]: I SystemManager system-unix.cpp:342 (run) Managed child (PID: 16795) has exited! command=/mythtv/latest/bin/mythpreviewgen --size 0x0 --chanid 2511 --starttime 20120616040000 --verbose general,system --loglevel debug --quiet --syslog local7, status=0, result=0

Changed 7 years ago by anonymous

Attachment: mythbackend-20120616.txt added

comment:11 Changed 7 years ago by ajm1@…

Forgot to note in the above update that I checked out the latest version and recompiled. So the 20120616 backtrace is from:

root@pvr:~# mythbackend --version
Please attach all output as a file in bug reports.
MythTV Version : v0.25.1-30-g56fd9e2
MythTV Branch : fixes/0.25
Network Protocol : 72
Library API : 0.25.20120506-1
QT Version : 4.7.4
Options compiled in:
 linux profile use_hidesyms using_alsa using_pulse using_pulseoutput using_backend using_bindings_perl using_bindings_python using_bindings_php using_frontend using_hdhomerun using_ceton using_hdpvr using_libcrypto using_libxml2 using_lirc using_mheg using_opengl_video using_qtwebkit using_qtscript using_qtdbus using_v4l2 using_x11 using_xrandr using_xv using_bindings_perl using_bindings_python using_bindings_php using_mythtranscode using_opengl using_vaapi using_vdpau using_ffmpeg_threads using_mheg using_libxml2

comment:12 Changed 7 years ago by ajm1@…

An additional observation to share. As noted before the segfault is only hit when the backend is started with an initscript. If the backend is started from a shell or within GDB, I am unable to hit the segfault.

The command line given when starting the backend from a shell matches the command line used within the initscript - with the exception of the start-stop-daemon. Could this be related???

To test this theory, I did invoke the backend once from a shell using the start-stop-daemon command line and I did hit the segfault

Invocation from command line:

/mythtv/latest/bin/mythbackend --daemon --loglevel debug -v system --syslog local7 --pidfile /var/run/mythtv/mythbackend.pid --noupnp

Invocation from initscript:

start-stop-daemon --start --pidfile /var/run/mythtv/mythbackend.pid--chuid mythtv --nicelevel 0 --exec /mythtv/latest/bin/mythbackend -- --daemon --loglevel debug -v system --syslog local7 --pidfile /var/run/mythtv/mythbackend.pid --noupnp

comment:13 Changed 7 years ago by beirdo

Owner: set to beirdo

comment:14 Changed 7 years ago by beirdo

Component: MythTV - GeneralMythTV - MythSystem
Status: infoneeded_newnew

comment:15 Changed 7 years ago by Gavin Hurlbut <ghurlbut@…>

In 24da25f3f2be46f5b029c0d28a502f9cb0048cdc/mythtv:

Convert the MythSystemPrivate? classes to use RefCounters?

We were getting some odd race conditions caused by the timing of deletion of
the MythSystemPrivate? data (MythSystemUnix? in particular on Linux and OSX).
As we now have a common ReferenceCounter? class to use, I have converted this
over to use ReferenceCounter? to control the deletion. One reference is made
on creation, and a second when it is added to the process map. The second
reference is decremented when the MythSystemSignalThread? is done shutting it
down cleanly.

NOTE: I may have missed some dependency on the parent item which may have
been deleted already. If this happens, please let me know. It would most
likely crash hard in this case. I'll take another look over it in a bit.

Refs #10775. Refs #10889.

comment:16 Changed 7 years ago by beirdo

Milestone: unknown0.26
Status: newinfoneeded_new

Please retest with the current code and let me know if it reoccurs. Unfortunately, this fix can not be easily backported to 0.25.

comment:17 Changed 7 years ago by beirdo

Resolution: Fixed
Status: infoneeded_newclosed

Closing this as fixed. Please reopen if it's still occurring with current (0.26-alpha) code.

Note: See TracTickets for help on using tickets.