Opened 8 years ago

Closed 8 years ago

#10418 closed Bug Report - Crash (Fixed)

Commit 293175a breaks mythfrontend

Reported by: yiannividalis@… Owned by: Raymond Wagner
Priority: minor Milestone: 0.25
Component: MythTV - General Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Hi,

I updated mythtv and realised that mythfrontend exits (I check through ssh - not at home) at this commit. The previous one (63555a65) is ok.

MythTV Version : v0.25-beta-51-g293175a
MythTV Branch : exported
Network Protocol : 72
Library API : 0.25.20120307-2
QT Version : 4.7.2
Options compiled in:
 linux profile use_hidesyms using_alsa using_oss using_pulse using_pulseoutput using_backend using_bindings_perl using_bindings_python using_bindings_php using_dvb using_frontend using_hdpvr using_iptv using_ivtv using_libcrypto using_libfftw3 using_libxml2 using_libudf using_lirc using_mheg using_opengl_video using_qtwebkit using_qtscript using_qtdbus using_v4l2 using_v4l1 using_x11 using_xrandr using_bindings_perl using_bindings_python using_bindings_php using_mythtranscode using_opengl using_vdpau using_ffmpeg_threads using_live using_mheg using_libxml2 using_libudf

The mythfrontend log is:

2012-03-08 14:38:21.727657 C [14794/14794] thread_unknown mythcommandlineparser.cpp:2492 (ConfigureLogging) - mythfrontend version: exported [v0.25-beta-51-g293175a] www.mythtv.org
2012-03-08 14:38:21.727699 N [14794/14794] thread_unknown mythcommandlineparser.cpp:2494 (ConfigureLogging) - Enabled verbose msgs:  general
2012-03-08 14:38:21.727855 N [14794/14794] thread_unknown logging.cpp:1156 (logStart) - Setting Log Level to LOG_INFO
2012-03-08 14:38:21.727926 I [14794/14794] thread_unknown logging.cpp:229 (FileLogger) - Added logging to the console
2012-03-08 14:38:21.728005 I [14794/14794] thread_unknown logging.cpp:238 (FileLogger) - Added logging to /var/log/mythtv/mythfrontend.20120308143821.14794.log
2012-03-08 14:38:21.728010 N [14794/14794] thread_unknown logging.cpp:1195 (logStart) - Setting up SIGHUP handler
2012-03-08 14:38:21.728377 N [14794/14794] thread_unknown mythdirs.cpp:51 (InitializeMythDirs) - Using runtime prefix = /usr
2012-03-08 14:38:21.728403 N [14794/14794] thread_unknown mythdirs.cpp:64 (InitializeMythDirs) - Using configuration directory = /home/mythtv/.mythtv
2012-03-08 14:38:21.729413 I [14794/14794] CoreContext mythcontext.cpp:481 (LoadDatabaseSettings) - Using localhost value of al2kpro
2012-03-08 14:38:21.729607 I [14794/14794] CoreContext mythcontext.cpp:608 (TestDBconnection) - Testing network connectivity to '192.168.13.100'
2012-03-08 14:38:21.731718 I [14794/14799] SystemIOHandlerW system-unix.cpp:90 (run) - Starting IO manager (write)
2012-03-08 14:38:21.731732 I [14794/14796] SystemManager system-unix.cpp:263 (run) - Starting process manager
2012-03-08 14:38:21.731795 I [14794/14798] SystemIOHandlerR system-unix.cpp:90 (run) - Starting IO manager (read)
2012-03-08 14:38:21.731841 I [14794/14797] SystemSignalManager system-unix.cpp:485 (run) - Starting process signal handler
2012-03-08 14:38:21.851213 I [14794/14794] CoreContext mythdbcon.cpp:75 (MSqlDatabase) - Database connection created: DBManager0
2012-03-08 14:38:21.851323 I [14794/14794] CoreContext mythdbcon.cpp:298 (popConnection) - New DB connection, total: 1
2012-03-08 14:38:21.859699 I [14794/14794] CoreContext mythdbcon.cpp:179 (OpenDatabase) - Connected to database 'mythconverg' at host: 192.168.13.100
2012-03-08 14:38:21.863954 I [14794/14794] CoreContext mythdbcon.cpp:453 (CloseDatabases) - Closing DB connection named 'DBManager0'
2012-03-08 14:38:21.864613 I [14794/14794] CoreContext mythdbcon.cpp:75 (MSqlDatabase) - Database connection created: DBManager1
2012-03-08 14:38:21.864677 I [14794/14794] CoreContext mythdbcon.cpp:298 (popConnection) - New DB connection, total: 1
2012-03-08 14:38:21.865757 I [14794/14794] CoreContext mythdbcon.cpp:179 (OpenDatabase) - Connected to database 'mythconverg' at host: 192.168.13.100
2012-03-08 14:38:21.868908 I [14794/14794] CoreContext mythcorecontext.cpp:1272 (SaveLocaleDefaults) - Current locale el_GR
2012-03-08 14:38:21.869054 E [14794/14794] CoreContext mythlocale.cpp:97 (LoadDefaultsFromXML) - No locale defaults file for el_GR, skipping
2012-03-08 14:38:21.936407 I [14794/14794] CoreContext screensaver-x11.cpp:80 (ScreenSaverX11Private) - ScreenSaverX11Private: DPMS is active.
2012-03-08 14:38:21.986110 N [14794/14794] CoreContext DisplayRes.cpp:64 (Initialize) - Desktop video mode: 1920x1080 60.000 Hz
2012-03-08 14:38:22.010580 I [14794/14794] CoreContext serverpool.cpp:306 (listen) - Listening on TCP 127.0.0.1:6547
2012-03-08 14:38:22.010653 I [14794/14794] CoreContext serverpool.cpp:306 (listen) - Listening on TCP 192.168.13.65:6547
2012-03-08 14:38:22.010736 I [14794/14794] CoreContext serverpool.cpp:306 (listen) - Listening on TCP [0:0:0:0:0:0:0:1]:6547

The system that has the problem is on openSuSE 11.4, a SB. The MB runs mythfrontend ok. Could it be something similar to the 10405 ticket? (which can be closed as fixed, by the way)

Best regards,

Yianni

Change History (6)

comment:1 Changed 8 years ago by danielk

Milestone: unknown0.25
Owner: set to Raymond Wagner
Status: newassigned

comment:2 Changed 8 years ago by danielk

It looks like m_udpSend is not initialised to anything in the constructor.

comment:3 Changed 8 years ago by Github

Add NULL initializer to m_udpSend in ServerPool? class.

Refs #10418.

Branch: master Changeset: fa6fb4420565509dbbd004b86e0324f14a0a6396

comment:4 Changed 8 years ago by Raymond Wagner

Resolution: Duplicate
Status: assignedclosed

There are only two potential ways this could cause a crash. That socket is only ever used in a single place in the code, in RAOP to request a resend from a client, which would occur if there is too much line traffic and UDP data was lost. There is nothing in the logs to indicate you have RAOP enabled, and it's highly unlikely you were able to set up a connection and flood the link to trigger the bug before the asynchronous logger has a chance to indicate such.

That leaves the second way, where instead of NULL, m_udpSend was left as some random value. As the frontend shut itself down, it tried to delete an object at that random address, and was terminated with a segmentation fault. This is the same problem you were having in #10405, and the reason I left that ticket open when you claimed it was resolved. MythTV is still shutting itself down for some reason, but because the logger is asynchronous, the application segfaults before the logger has a chance to actually record what went wrong.

If MythTV is no longer crashing, but instead cleanly closing, please paste new logs to #10405, so we can attempt to figure out why it is closing itself on startup in the first place.

comment:5 Changed 8 years ago by Raymond Wagner

Resolution: Duplicate
Status: closednew

comment:6 Changed 8 years ago by Raymond Wagner

Resolution: Fixed
Status: newclosed
Note: See TracTickets for help on using tickets.