Opened 3 years ago

Closed 3 years ago

Last modified 20 months ago

#12917 closed Bug Report - General (fixed)

mythfrontend.real crashes since Ubuntu 16.10 upgrade

Reported by: heynnema@… Owned by: Peter Bennett
Priority: critical Milestone: 0.28.1
Component: MythTV - General Version: 0.28.0
Severity: high Keywords: mythfrontend stack smashing
Cc: Peter Bennett Ticket locked: no

Description

My MythTV worked fine in Ubuntu 16.04.1. Then I upgraded to Ubuntu 16.10, and now the mythfrontend won't start. It errors with a "* stack smashing detected *: /usr/bin/mythfrontend.real terminated" error.

Here's the full startup...

$ mythfrontend

2016-11-04 18:05:12.279618 I Setup Interrupt handler

2016-11-04 18:05:12.279635 I Setup Terminated handler

2016-11-04 18:05:12.279643 I Setup Segmentation fault handler

2016-11-04 18:05:12.279647 I Setup Aborted handler

2016-11-04 18:05:12.279656 I Setup Bus error handler

2016-11-04 18:05:12.279661 I Setup Floating point exception handler

2016-11-04 18:05:12.279666 I Setup Illegal instruction handler

2016-11-04 18:05:12.279671 I Setup Real-time signal 0 handler

2016-11-04 18:05:12.279677 I Setup User defined signal 1 handler

2016-11-04 18:05:12.279681 I Setup User defined signal 2 handler

2016-11-04 18:05:12.279686 I Setup Hangup handler

2016-11-04 18:05:12.279769 C mythfrontend version: fixes/0.28 [v0.28-76-g7f8f168] www.mythtv.org

2016-11-04 18:05:12.279774 C Qt version: compile: 5.5.1, runtime: 5.6.1

2016-11-04 18:05:12.279778 N Enabled verbose msgs: general

2016-11-04 18:05:12.279788 N Setting Log Level to LOG_INFO

2016-11-04 18:05:12.290564 N Using runtime prefix = /usr

2016-11-04 18:05:12.290574 N Using configuration directory = /home/alheynneman/.mythtv

2016-11-04 18:05:12.290635 I Added logging to the console

2016-11-04 18:05:12.290679 I Assumed character encoding: en_US.UTF-8

2016-11-04 18:05:12.291530 N Empty LocalHostName?.

2016-11-04 18:05:12.291538 I Using localhost value of Satellite-E55

2016-11-04 18:05:12.298361 N Setting QT default locale to EN_US

2016-11-04 18:05:12.298372 I Current locale EN_US

2016-11-04 18:05:12.298411 N Reading locale defaults from /usr/share/mythtvlocales/en_us.xml

2016-11-04 18:05:12.304742 I ScreenSaverDBus: Created for DBus service: org.freedesktop.ScreenSaver?

2016-11-04 18:05:12.307625 I ScreenSaverDBus: Created for DBus service: org.gnome.SessionManager?

2016-11-04 18:05:12.308425 I Starting process manager

2016-11-04 18:05:12.308486 I Starting process signal handler

2016-11-04 18:05:12.308513 I Starting IO manager (write)

2016-11-04 18:05:12.309883 I Starting IO manager (read)

2016-11-04 18:05:12.359549 I ScreenSaverX11Private: DPMS is active.

2016-11-04 18:05:12.386370 N Desktop video mode: 1920x1080 60.060 Hz

2016-11-04 18:05:12.391094 I Added syslogging

2016-11-04 18:05:13.051946 I Listening on TCP 127.0.0.1:6547

2016-11-04 18:05:13.051991 I Listening on TCP 192.168.0.100:6547

2016-11-04 18:05:13.052171 I Listening on TCP [::1]:6547

2016-11-04 18:05:13.052305 I Listening on TCP [fe80::221a:6ff:fed8:65ae%eth0]:6547

2016-11-04 18:05:14.343496 I Loading en_us translation for module mythfrontend

2016-11-04 18:05:14.359089 I LIRC: Successfully initialized '/var/run/lirc/lircd' using '/home/alheynneman/.mythtv/lircrc' config

2016-11-04 18:05:14.359183 I No joystick configuration found, not enabling joystick control

* stack smashing detected *: /usr/bin/mythfrontend.real terminated

2016-11-04 18:05:14.455746 E CECAdapter: Failed to find any CEC devices. Handling Aborted Aborted (core dumped)

Attachments (4)

gdb-mythfrontend-11867.txt (17.3 KB) - added by Bill Meek <keemllib@…> 3 years ago.
mythfrontend.20161107223307.11867.log (30.4 KB) - added by Bill Meek <keemllib@…> 3 years ago.
gdb-mythfrontend-25942.txt (20.1 KB) - added by Bill Meek <keemllib@…> 3 years ago.
mythfrontend.20161111173054.25942.log (49.8 KB) - added by Bill Meek <keemllib@…> 3 years ago.

Download all attachments as: .zip

Change History (47)

comment:1 Changed 3 years ago by heynnema@…

The Nov 6, 2016 update solved the stack smashing crash. And Mythfrontend new works, but it seg faults on exit.

comment:2 Changed 3 years ago by Peter Bennett

The Nov 6 update did not do anything to address stack smashing. The change was to the On Screen Display during playback. So unless you were getting stack smashing during playback, this did not affect it.

If you are still affected by seg faults or stack smashing errors, please get a backtrace and attach it here. It will be helpful if you install the debug package so that the backtrace is more useful.

comment:3 Changed 3 years ago by heynnema@…

Funny enough... I was stack smashing before the Nov 6 update, and I'm not stack smashing now... but I am seg faulting on exiting the mythfrontend. I reported this latest crash at https://bugs.launchpad.net/bugs/1639590 and I think that all of the logs might be there that you need. If not, please instruct me on how to get the backtrace. I've installed the debug package. Please advise.

comment:4 Changed 3 years ago by heynnema@…

In Ubuntu 16.10, MythTV frontend crashed with "stack smashing" error until this release. Now it runs, but got this crash on quitting the frontend. Ubuntu 16.10.

ProblemType: Crash
DistroRelease: Ubuntu 16.10
Package: mythtv-frontend 2:0.28.0+fixes.20161106.1434df8-0ubuntu0mythbuntu2 [origin: LP-PPA-mythbuntu-0.28]
ProcVersionSignature: Ubuntu 4.8.0-26.28-generic 4.8.0
Uname: Linux 4.8.0-26-generic x86_64
NonfreeKernelModules: wl
.var.log.mythtv.mythmediaserver.log:

ApportVersion: 2.20.3-0ubuntu8
Architecture: amd64
CrashCounter: 1
CrashDB: mythbuntu
CurrentDesktop: Unity
Date: Sun Nov 6 07:45:39 2016
ExecutablePath: /usr/bin/mythfrontend.real
InstallationDate: Installed on 2014-05-10 (911 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
Installed_mythtv_dbg: 0.0
ProcCmdline: /usr/bin/mythfrontend.real --syslog local7
Signal: 11
SourcePackage: mythtv
StacktraceTop:
 QNetworkConfiguration::~QNetworkConfiguration() () from /usr/lib/x86_64-linux-gnu/libQt5Network.so.5
 ?? () from /usr/lib/x86_64-linux-gnu/libQt5Network.so.5
 ?? () from /usr/lib/x86_64-linux-gnu/libQt5Network.so.5
 QObject::~QObject() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
 QNetworkAccessManager::~QNetworkAccessManager() () from /usr/lib/x86_64-linux-gnu/libQt5Network.so.5
Title: mythfrontend.real crashed with SIGSEGV in QNetworkConfiguration::~QNetworkConfiguration()
UpgradeStatus: Upgraded to yakkety on 2016-10-31 (5 days ago)
UserGroups: adm audio cdrom dialout dip fax fuse kismet lpadmin mythtv netdev plugdev sambashare scanner sudo vboxusers video wireshark

comment:5 Changed 3 years ago by Peter Bennett

  1. Turn on core dumps by running this
    ulimit -c unlimited
    
  2. Run mythfrontend from your home directory by running mythfrontend.real from a command prompt in the home directory
  1. After it crashes there should be a file called core in your home directory. run this
cd
gdb /usr/bin/mythfrontend.real core
bt

If the executable or the core file is in a different place substitute the correct executable or core file name and path.

comment:6 Changed 3 years ago by heynnema@…

I did a man ulimit to see what the -c option does, and there's no description. How can I check what it's set to now, so I can set it back later. I don't want a core dump everytime.

In step 3, what is the bt command do? I don't see a man page for that at all.

Were you able to look at all of the files that got uploaded at https://bugs.launchpad.net/bugs/1639590?

Thanks for your help!

comment:7 Changed 3 years ago by Peter Bennett

ulimit is a subcommand of bash. To see a description use "man bash" and search for ulimit.

ulimit only takes effect for one session. As soon as you log out of the command prompt it resets.

ubuntu normally sets the limit for coredumps to 0. If you type "ulimit -c" before you set it to unlimited, it will tell you the current setting.

bt is a subcommand of gdb. To find out about it run "gdb" then type "help bt"

Instead of running bt, it would be better to run

thread apply all bt

This will give the backtrace for all threads,

That bugs.launchpad link you supplied gives me "page not found".

comment:8 Changed 3 years ago by jacob@…

I am working with the same version of mythtv on Ubuntu 16.04 and this started with a recent update to a dependency. I'm currently working to narrow it down. My backtrace:

Function "qFatal" not defined.
Breakpoint 1 (qFatal) pending.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffd9b2c700 (LWP 22110)]
[New Thread 0x7fffcccff700 (LWP 22112)]
[New Thread 0x7fffcc4fe700 (LWP 22113)]
[New Thread 0x7fffcbcfd700 (LWP 22114)]
[New Thread 0x7fffcb4fc700 (LWP 22115)]
[New Thread 0x7fffcacfb700 (LWP 22116)]
[New Thread 0x7fffca4fa700 (LWP 22117)]
[New Thread 0x7fffc94d7700 (LWP 22126)]
[New Thread 0x7fffc8cd6700 (LWP 22127)]
[New Thread 0x7fffabfff700 (LWP 22128)]
[New Thread 0x7fffab7fe700 (LWP 22129)]
[New Thread 0x7fffaaffd700 (LWP 22132)]
[New Thread 0x7fffaa3ec700 (LWP 22133)]
[New Thread 0x7fffa9beb700 (LWP 22135)]
[New Thread 0x7fffa93ea700 (LWP 22136)]
[New Thread 0x7fffa8be9700 (LWP 22137)]
[New Thread 0x7fff0ffff700 (LWP 22138)]

Thread 1 "mythfrontend.re" received signal SIGSEGV, Segmentation fault.
0x00007fffecb6af29 in QGLFormat::openGLVersionFlags() () from /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5

Thread 18 (Thread 0x7fff0ffff700 (LWP 22138)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
No locals.
#1  0x00007ffff42fc996 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#2  0x00007ffff678d3f9 in MythSignalingTimer::run (this=0xca9cf0) at mythsignalingtimer.cpp:84
        locker = {val = 13278497}
#3  0x00007ffff6753e70 in MThreadInternal::run (this=0xa830a0) at mthread.cpp:79
No locals.
#4  0x00007ffff42fb7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff404070a in start_thread (arg=0x7fff0ffff700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fff0ffff700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140733461821184, -3446743742818391560, 0, 140737488344127, 140733461821888, 13272432, 3446567820366866936, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 17 (Thread 0x7fffa8be9700 (LWP 22137)):
#0  0x00007ffff34cb9e3 in select () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007ffff6449009 in LIRC::run (this=0xbe8de0) at lirc.cpp:462
        readfds = {fds_bits = {70368744177664, 0 <repeats 15 times>}}
        timeout = {tv_sec = 0, tv_usec = 307902}
        ret = 32767
        codes = {<QListSpecialMethods<QByteArray>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x25}, d = 0x25}}
        __FUNCTION__ = "run"
#2  0x00007ffff6753e70 in MThreadInternal::run (this=0xcadab0) at mthread.cpp:79
No locals.
#3  0x00007ffff42fb7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#4  0x00007ffff404070a in start_thread (arg=0x7fffa8be9700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffa8be9700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736024450816, -3446743742818391560, 0, 140737488343871, 140736024451520, 13577440, 3446913628584962552, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#5  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 16 (Thread 0x7fffa93ea700 (LWP 22136)):
#0  0x00007ffff404956d in read () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007fffed3b9d87 in ?? () from /usr/lib/x86_64-linux-gnu/libdns_sd.so.1
No symbol table info available.
#2  0x00007fffed3b9ecb in ?? () from /usr/lib/x86_64-linux-gnu/libdns_sd.so.1
No symbol table info available.
#3  0x00007ffff404070a in start_thread (arg=0x7fffa93ea700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffa93ea700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736032843520, -3446743742818391560, 0, 140737488344223, 140736032844224, 13293224, 3446914728633461240, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#4  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 15 (Thread 0x7fffa9beb700 (LWP 22135)):
#0  0x00007ffff4049c6d in nanosleep () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007ffff43abbfd in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#2  0x00007ffff42fabb8 in QThread::msleep(unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#3  0x00007ffff6753f5d in MThreadInternal::MSleep (time=100) at mthread.cpp:92
No locals.
#4  0x00007ffff67535a8 in MThread::msleep (time=100) at mthread.cpp:342
No locals.
#5  0x00007ffff6b6ea96 in TaskQueue::run (this=0xce6120) at taskqueue.cpp:150
        ttNow = {tv_sec = 1478481543, tv_usec = 807613}
        pTask = 0xce2960
        __FUNCTION__ = "run"
#6  0x00007ffff6753e70 in MThreadInternal::run (this=0xce6250) at mthread.cpp:79
No locals.
#7  0x00007ffff42fb7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#8  0x00007ffff404070a in start_thread (arg=0x7fffa9beb700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffa9beb700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736041236224, -3446743742818391560, 0, 140737488342959, 140736041236928, 13525536, 3446915826534476280, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#9  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 14 (Thread 0x7fffaa3ec700 (LWP 22133)):
#0  0x00007ffff34cb9e3 in select () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007ffff6b68742 in SSDP::run (this=0xce5030) at ssdp.cpp:298
        nMaxSocket = 38
        count = 0
        read_set = {fds_bits = {446676598784, 0 <repeats 15 times>}}
        timeout = {tv_sec = 0, tv_usec = 983672}
        __FUNCTION__ = "run"
#2  0x00007ffff6753e70 in MThreadInternal::run (this=0xce28c0) at mthread.cpp:79
No locals.
#3  0x00007ffff42fb7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#4  0x00007ffff404070a in start_thread (arg=0x7fffaa3ec700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffaa3ec700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736049628928, -3446743742818391560, 0, 140737488343087, 140736049629632, 13539600, 3446908130489952760, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#5  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 13 (Thread 0x7fffaaffd700 (LWP 22132)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1  0x00007ffff4926bd4 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
No symbol table info available.
#2  0x00007ffff4926c19 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
No symbol table info available.
#3  0x00007ffff404070a in start_thread (arg=0x7fffaaffd700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffaaffd700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736062281472, -3446743742818391560, 0, 140737488343103, 140736062282176, 13538384, 3446908670045219320, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#4  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 12 (Thread 0x7fffab7fe700 (LWP 22129)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1  0x00007ffff42fca5b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#2  0x00007ffff688df9d in MythSystemLegacyIOHandler::run (this=0xc2bc70) at mythsystemunix.cpp:102
        locker = {val = 12762257}
        __FUNCTION__ = "run"
#3  0x00007ffff6753e70 in MThreadInternal::run (this=0xbf28f0) at mthread.cpp:79
No locals.
#4  0x00007ffff42fb7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff404070a in start_thread (arg=0x7fffab7fe700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffab7fe700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736070674176, -3446743742818391560, 0, 140737488342735, 140736070674880, 12828192, 3446909770093718008, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 11 (Thread 0x7fffabfff700 (LWP 22128)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1  0x00007ffff42fca5b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#2  0x00007ffff688df9d in MythSystemLegacyIOHandler::run (this=0xc1b7b0) at mythsystemunix.cpp:102
        locker = {val = 12695505}
        __FUNCTION__ = "run"
#3  0x00007ffff6753e70 in MThreadInternal::run (this=0xbf06d0) at mthread.cpp:79
No locals.
#4  0x00007ffff42fb7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff404070a in start_thread (arg=0x7fffabfff700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffabfff700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736079066880, -3446743742818391560, 0, 140737488342735, 140736079067584, 12761360, 3446910867994733048, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 10 (Thread 0x7fffc8cd6700 (LWP 22127)):
#0  0x00007ffff4049c6d in nanosleep () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007ffff68914d7 in MythSystemLegacySignalManager::run (this=0xbfc250) at mythsystemunix.cpp:515
        ts = {tv_sec = 0, tv_nsec = 50000000}
        __FUNCTION__ = "run"
#2  0x00007ffff6753e70 in MThreadInternal::run (this=0xbef9b0) at mthread.cpp:79
No locals.
#3  0x00007ffff42fb7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#4  0x00007ffff404070a in start_thread (arg=0x7fffc8cd6700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffc8cd6700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736562292480, -3446743742818391560, 0, 140737488342735, 140736562293184, 12694832, 3446702086950119928, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#5  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 9 (Thread 0x7fffc94d7700 (LWP 22126)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
No locals.
#1  0x00007ffff42fc996 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#2  0x00007ffff688f23a in MythSystemLegacyManager::run (this=0xc108b0) at mythsystemunix.cpp:283
        ms = 0xc13320
        pid = -1
        status = 32512
        i = {i = 0xc3c5e8}
        next = {i = 0x0}
        now = 1478481542
        __FUNCTION__ = "run"
#3  0x00007ffff6753e70 in MThreadInternal::run (this=0xbf1850) at mthread.cpp:79
No locals.
#4  0x00007ffff42fb7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff404070a in start_thread (arg=0x7fffc94d7700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffc94d7700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736570685184, -3446743742818391560, 0, 140737488342735, 140736570685888, 12567680, 3446703184851134968, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 8 (Thread 0x7fffca4fa700 (LWP 22117)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
No locals.
#1  0x00007ffff42fc996 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#2  0x00007ffff6827f8e in LoggerThread::run (this=0xbff7b0) at logging.cpp:399
        item = 0xccbba0
        __FUNCTION__ = "run"
        dieNow = false
        qLock = {val = 140737332206393}
#3  0x00007ffff6753e70 in MThreadInternal::run (this=0xbf3920) at mthread.cpp:79
No locals.
#4  0x00007ffff42fb7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff404070a in start_thread (arg=0x7fffca4fa700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffca4fa700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736587605760, -3446743742818391560, 0, 140737488343855, 140736587606464, 12581280, 3446696604424366584, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 7 (Thread 0x7fffcacfb700 (LWP 22116)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
No locals.
#1  0x00007ffff42fc996 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#2  0x00007ffff6835d0f in LogForwardThread::run (this=0x7fffb4003280) at loggingserver.cpp:1173
        lock = {val = 140737332206569}
        processed = 1
        loggers = {<QListSpecialMethods<LoggerBase*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffcacfad50}, d = 0x7fffcacfad50}}
#3  0x00007ffff6753e70 in MThreadInternal::run (this=0x7fffb4003530) at mthread.cpp:79
No locals.
#4  0x00007ffff42fb7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff404070a in start_thread (arg=0x7fffcacfb700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffcacfb700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736595998464, -3446743742818391560, 0, 140736604388111, 140736595999168, 140736213300704, 3446697702325381624, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 6 (Thread 0x7fffcb4fc700 (LWP 22115)):
#0  0x00007ffff34c9b5d in poll () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007fffe91b539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007fffe91b54ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007ffff45327eb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#4  0x00007ffff44d9b4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff42f6834 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#6  0x00007ffff6753ec6 in MThreadInternal::exec (this=0xbf3610) at mthread.cpp:85
        ph = {<QObject> = {<No data fields>}, purgeTimer = 1}
#7  0x00007ffff6753554 in MThread::exec (this=0xbf26a0) at mthread.cpp:327
No locals.
#8  0x00007ffff68351f1 in LogServerThread::run (this=0xbf2690) at loggingserver.cpp:865
        locker = {val = 140737332206504}
        abortThread = false
#9  0x00007ffff6753e70 in MThreadInternal::run (this=0xbf3610) at mthread.cpp:79
No locals.
#10 0x00007ffff42fb7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#11 0x00007ffff404070a in start_thread (arg=0x7fffcb4fc700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffcb4fc700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736604391168, -3446743742818391560, 0, 140737488343535, 140736604391872, 12582144, 3446698802373880312, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#12 0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 5 (Thread 0x7fffcbcfd700 (LWP 22114)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
No locals.
#1  0x00007fffe91f9d4a in g_cond_wait_until () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007fffe9189999 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007fffe9189fbb in g_async_queue_timeout_pop () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#4  0x00007fffe91dc61a in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#5  0x00007fffe91dbbc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#6  0x00007ffff404070a in start_thread (arg=0x7fffcbcfd700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffcbcfd700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736612783872, -3446743742818391560, 0, 140737488341631, 140736612784576, 12244768, 3446699900274895352, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#7  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 4 (Thread 0x7fffcc4fe700 (LWP 22113)):
#0  0x00007ffff34c9b5d in poll () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007fffe91b539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007fffe91b5722 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007fffd33f4916 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
No symbol table info available.
#4  0x00007fffe91dbbc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#5  0x00007ffff404070a in start_thread (arg=0x7fffcc4fe700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffcc4fe700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736621176576, -3446743742818391560, 0, 140737488339007, 140736621177280, 12251360, 3446709796416416248, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 3 (Thread 0x7fffcccff700 (LWP 22112)):
#0  0x00007ffff34c9b5d in poll () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007fffe91b539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007fffe91b54ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007fffe91b54e9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#4  0x00007fffe91dbbc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#5  0x00007ffff404070a in start_thread (arg=0x7fffcccff700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffcccff700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736629569280, -3446743742818391560, 0, 140737488338655, 140736629569984, 0, 3446710894317431288, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 2 (Thread 0x7fffd9b2c700 (LWP 22110)):
#0  0x00007ffff34c9b5d in poll () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007fffe6379c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
No symbol table info available.
#2  0x00007fffe637b8d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
No symbol table info available.
#3  0x00007fffdc247629 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
No symbol table info available.
#4  0x00007ffff42fb7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff404070a in start_thread (arg=0x7fffd9b2c700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffd9b2c700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736845760256, -3446743742818391560, 0, 140737488343183, 140736845760960, 10740304, 3446669570826463736, 3446763189047945720}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff34d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 1 (Thread 0x7fffdc645900 (LWP 22087)):
#0  0x00007fffecb6af29 in QGLFormat::openGLVersionFlags() () from /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
No symbol table info available.
#1  0x00007ffff645ebc3 in MythRenderOpenGL::Create (painter=..., device=0x0) at mythrender_opengl.cpp:114
        format = {d = 0xaa9b80}
        setswapinterval = false
        synctovblank = 1
        __FUNCTION__ = "Create"
        dummy = 0xcba660
        qglFormat = {d = 0xccbd30}
        openGLVersionFlags = 32767
#2  0x00007ffff62c919d in MythMainWindow::Init (this=0xcf2370, forcedpainter=...) at mythmainwindow.cpp:1160
        gl = 0x7fffffffd6c0
        flags = {i = 2049}
        inwindow = false
        fullscreen = true
        __FUNCTION__ = "Init"
        painter = {static null = {<No data fields>}, d = 0xcb8800}
#3  0x000000000046f619 in main (argc=5, argv=0x7fffffffe108) at main.cpp:1886
        bPromptForBackend = false
        bBypassAutoDiscovery = false
        cmdline = {<MythCommandLineParser> = {_vptr.MythCommandLineParser = 0x9b2ca8 <vtable for MythFrontendCommandLineParser+16>, m_appname = {static null = {<No data fields>}, d = 0xa18580}, m_optionedArgs = {d = 0xa18c00}, m_namedArgs = {d = 0xa18b70}, m_passthroughActive = false, m_overridesImported = true, m_verbose = false}, <No data fields>}
        callCleanup = {m_cleanFunction = 0x461961 <(anonymous namespace)::cleanup()>}
        signallist = {<QListSpecialMethods<int>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0xbedbd0}, d = 0xbedbd0}}
        retval = 0
        ResetSettings = false
        __FUNCTION__ = "main"
        fileprefix = {static null = {<No data fields>}, d = 0xc00f70}
        dir = {d_ptr = {d = 0xce3ce0}}
        bonjour = {d = 0xce63c0}
        themename = {static null = {<No data fields>}, d = 0xcfc310}
        themedir = {static null = {<No data fields>}, d = 0xbe7930}
        mainWindow = 0xcf2370
        mon = 0x9b0708
        networkControl = 0x724093
        themeUpdateChecker = 0x7ffff453a8f9
        sysEventHandler = 0x7ffff4390182 <QString::fromUtf8_helper(char const*, int)+34>
        bcm = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7ffff471cb00 <QObject::staticMetaObject>, stringdata = 0x71e780 <qt_meta_stringdata_BackendConnectionManager>, data = 0x71e800 <qt_meta_data_BackendConnectionManager>, static_metacall = 0x6da830 <BackendConnectionManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_reconnecting = 0x9b0708, m_reconnect_timer = 0x6def94 <__static_initialization_and_destruction_0(int, int)+74>, m_reconnect_again = 80}
        housekeeping = 0xa160c0
        ret = 0

comment:9 Changed 3 years ago by anonymousheynnema@…

my backtrace for mythfrontend.real crashing on exit

$ gdb /usr/bin/mythfrontend.real core
GNU gdb (Ubuntu 7.11.90.20161005-0ubuntu1) 7.11.90.20161005-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/mythfrontend.real...Reading symbols from /usr/lib/debug/.build-id/9b/d64c118e069acb003619323e8a49774041b906.debug...done.
done.

warning: core file may not match specified executable file.
[New LWP 17462]
[New LWP 17465]
[New LWP 17466]
[New LWP 17479]
[New LWP 17495]
[New LWP 17499]
[New LWP 17501]
[New LWP 17500]
[New LWP 17502]
[New LWP 17464]
[New LWP 17467]
[New LWP 17503]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `mythfrontend.real'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007efc54c285df in QNetworkConfiguration::~QNetworkConfiguration() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Network.so.5
[Current thread is 1 (Thread 0x7efc3a684500 (LWP 17462))]
(gdb)  thread apply all bt

Thread 12 (Thread 0x7efb077fc700 (LWP 17503)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007efc47ec03c4 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007efc47ec061a in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007efc48fc7591 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#4  0x00007efc50d2f70a in start_thread (arg=0x7efb077fc700)
    at pthread_create.c:333
#5  0x00007efc501c10af in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 11 (Thread 0x7efc2cf02700 (LWP 17467)):
#0  0x00007efc501b50bd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007efc45f099d6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007efc45f09aec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007efc5122148f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007efc511c90fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>---Type <return> to continue, or q <return> to quit---
) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007efc50feed43 in QThread::exec() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007efc51433575 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007efc50ff3c68 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007efc50d2f70a in start_thread (arg=0x7efc2cf02700)
    at pthread_create.c:333
#9  0x00007efc501c10af in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 10 (Thread 0x7efc2e705700 (LWP 17464)):
#0  0x00007efc501b50bd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007efc45f099d6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007efc45f09aec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007efc2e70d46d in ?? ()
   from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007efc45f31305 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007efc50d2f70a in start_thread (arg=0x7efc2e705700)
    at pthread_create.c:333
#6  0x00007efc501c10af in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

---Type <return> to continue, or q <return> to quit---
Thread 9 (Thread 0x7efb07ffd700 (LWP 17502)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007efc48ca6da3 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007efc48fc7591 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007efc50d2f70a in start_thread (arg=0x7efb07ffd700)
    at pthread_create.c:333
#4  0x00007efc501c10af in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 8 (Thread 0x7efb517fa700 (LWP 17500)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007efc48ca6da3 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007efc48fc7591 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007efc50d2f70a in start_thread (arg=0x7efb517fa700)
    at pthread_create.c:333
#4  0x00007efc501c10af in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105
---Type <return> to continue, or q <return> to quit---

Thread 7 (Thread 0x7efb50ff9700 (LWP 17501)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007efc48ca6da3 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007efc48fc7591 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007efc50d2f70a in start_thread (arg=0x7efb50ff9700)
    at pthread_create.c:333
#4  0x00007efc501c10af in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 6 (Thread 0x7efb51ffb700 (LWP 17499)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007efc48ca5d74 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007efc48fc7591 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007efc50d2f70a in start_thread (arg=0x7efb51ffb700)
    at pthread_create.c:333
#4  0x00007efc501c10af in clone ()
---Type <return> to continue, or q <return> to quit---
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 5 (Thread 0x7efb537fe700 (LWP 17495)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007efc48f9796b in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007efc48f979a9 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007efc50d2f70a in start_thread (arg=0x7efb537fe700)
    at pthread_create.c:333
#4  0x00007efc501c10af in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 4 (Thread 0x7efc17fff700 (LWP 17479)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007efc51625574 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007efc516255b9 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007efc50d2f70a in start_thread (arg=0x7efc17fff700)
    at pthread_create.c:333
---Type <return> to continue, or q <return> to quit---
#4  0x00007efc501c10af in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 3 (Thread 0x7efc2d703700 (LWP 17466)):
#0  0x00007efc501b50bd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007efc45f099d6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007efc45f09d62 in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007efc359b94e6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007efc45f31305 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007efc50d2f70a in start_thread (arg=0x7efc2d703700)
    at pthread_create.c:333
#6  0x00007efc501c10af in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 2 (Thread 0x7efc2df04700 (LWP 17465)):
#0  0x00007efc501b50bd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007efc45f099d6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007efc45f09aec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007efc45f09b31 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007efc45f31305 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007efc50d2f70a in start_thread (arg=0x7efc2df04700)
---Type <return> to continue, or q <return> to quit---
    at pthread_create.c:333
#6  0x00007efc501c10af in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 1 (Thread 0x7efc3a684500 (LWP 17462)):
#0  0x00007efc54c285df in QNetworkConfiguration::~QNetworkConfiguration() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Network.so.5
#1  0x00007efc54bf3340 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5Network.so.5
#2  0x00007efc54bf3489 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5Network.so.5
#3  0x00007efc512002c7 in QObject::~QObject() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007efc54bee2fa in QNetworkAccessManager::~QNetworkAccessManager() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Network.so.5
#5  0x00007efc531c2467 in MythNetworkAccessManager::~MythNetworkAccessManager (
    this=0x561c0225c1b0, __in_chrg=<optimized out>) at mythuiwebbrowser.h:58
#6  0x00007efc531c2484 in MythNetworkAccessManager::~MythNetworkAccessManager (
    this=0x561c0225c1b0, __in_chrg=<optimized out>) at mythuiwebbrowser.h:58
#7  0x00007efc5313669f in DestroyNetworkAccessManager ()
    at mythuiwebbrowser.cpp:100
#8  0x00007efc500f32e0 in __run_exit_handlers (status=0, 
    listp=0x7efc5047a5d8 <__exit_funcs>, 
---Type <return> to continue, or q <return> to quit---
    run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true)
    at exit.c:83
#9  0x00007efc500f333a in __GI_exit (status=<optimized out>) at exit.c:105
#10 0x00007efc500d93f8 in __libc_start_main (
    main=0x561c002fb95d <main(int, char**)>, argc=1, argv=0x7ffd7a127f28, 
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
    stack_end=0x7ffd7a127f18) at ../csu/libc-start.c:325
#11 0x0000561c002ee80a in _start ()
(gdb) quit

comment:10 in reply to:  8 Changed 3 years ago by Peter Bennett

Replying to jacob@…:

I am working with the same version of mythtv on Ubuntu 16.04 and this started with a recent update to a dependency. I'm currently working to narrow it down. My backtrace:

This is a different problem from the one in this ticket. Your problem may be related to the Nvidia drivers (version 304.132) recently released. Problems with it were reported in the mailing list. See http://www.gossamer-threads.com/lists/mythtv/users/604163#604163 Check if you have that version and if so try to downgrade to the prior version.

This should be on a separate ticket.

comment:11 Changed 3 years ago by Peter Bennett

Cc: Peter Bennett added

If anybody else has the problem with frontend crashing on startup with Ubuntu 16.10 please add a comment here. It may be an anomaly with just one user's installation.

comment:12 Changed 3 years ago by heynnema@…

The stack smashing error on mythfrontend startup seemingly went away with the Nov 6 release. I'm still concerned about the crash on exit now. Did my backtrace give you any clues? Thanks for any help!

comment:13 Changed 3 years ago by Peter Bennett

It is failing in QNetworkConfiguration::~QNetworkConfiguration. This is a QT provided function, and it is not clear why that would crash. I do not have 16.10 installed and had not intended to installl it. I want to find out if anybody else has this so that I know if there will be any chance of recreating the error on my system.

comment:14 Changed 3 years ago by heynnema@…

I don't know if testing in a VirtualBox? environment running a 16.10 guest would show the error? At least it wouldn't disrupt your current system.

comment:15 Changed 3 years ago by Roger Siddons

Spurious segfaults from QNetworkConfiguration can occur due to using cached files from a previous Qt version. When changing Qt versions ensure you clean out ~/.mythtv/cache to avoid chasing ghosts.

comment:16 Changed 3 years ago by heynnema@…

I renamed ~/.mythtv/cache to ~/.mythtv/cache.HOLD and started Mythfrontend. Then I exited and got the same crash.

comment:17 in reply to:  13 ; Changed 3 years ago by Bill Meek <keemllib@…>

Replying to pbennett:

It is failing in QNetworkConfiguration::~QNetworkConfiguration. This is a QT provided function, and it is not clear why that would crash. I do not have 16.10 installed and had not intended to installl it. I want to find out if anybody else has this so that I know if there will be any chance of recreating the error on my system.

Peter, I have one backtrace from 11/7 that's in QNetworkConfiguration::~QNetworkConfiguration(). I haven't been able to duplicate it at will.

And I'm running 16.10 (not in a VM.) Also, no "stack smashing detected" in the FE log.

In my single case, it doesn't appear to be a problem at startup. BT and FE log attached.

Changed 3 years ago by Bill Meek <keemllib@…>

Attachment: gdb-mythfrontend-11867.txt added

Changed 3 years ago by Bill Meek <keemllib@…>

comment:18 in reply to:  17 ; Changed 3 years ago by Stuart Auchterlonie

Status: newinfoneeded_new

Replying to Bill Meek <keemllib@…>:

Replying to pbennett:

It is failing in QNetworkConfiguration::~QNetworkConfiguration. This is a QT provided function, and it is not clear why that would crash. I do not have 16.10 installed and had not intended to installl it. I want to find out if anybody else has this so that I know if there will be any chance of recreating the error on my system.

Peter, I have one backtrace from 11/7 that's in QNetworkConfiguration::~QNetworkConfiguration(). I haven't been able to duplicate it at will.

And I'm running 16.10 (not in a VM.) Also, no "stack smashing detected" in the FE log.

In my single case, it doesn't appear to be a problem at startup. BT and FE log attached.

Bill, if you have the core file for that crash and are able to re-run gdb on it, can you first install all the debug information for Qt. That way the stack traces will be more informative in the Qt code.

Regards Stuart

comment:19 Changed 3 years ago by heynnema@…

If you tell me specifically which additional debug file to install, I'll be glad to do another BT for you.

Recall, that with the Nov 6 release, the stack smashing crash is gone, but now it crashes in QNetworkConfiguration::~QNetworkConfiguration() on exit, right after it shuts down sysloging.

comment:20 in reply to:  18 Changed 3 years ago by Bill Meek <keemllib@…>

Replying to stuarta:

Bill, if you have the core file for that crash and are able to re-run gdb on it, can you first install all the debug information for Qt. That way the stack traces will be more informative in the Qt code.

Didn't have the original core,but another one fired. Attached new gdb and log. sudo apt-get install qtbase5-dbg for anyone else needing the symbols.

Changed 3 years ago by Bill Meek <keemllib@…>

Attachment: gdb-mythfrontend-25942.txt added

Changed 3 years ago by Bill Meek <keemllib@…>

comment:21 Changed 3 years ago by heynnema@…

Oh good. It looks like you're seeing the segfault crash on exiting the FE. Let me know if you need another BT from me.

comment:22 Changed 3 years ago by Peter Bennett

Owner: set to Peter Bennett
Status: infoneeded_newassigned

I am able to recreate this. With a yakkety chroot, frontend crashes with this segfault every time you exit. This is even if you do nothing, just start the frontend, and immediately exit. I will trace this and see what I can find.

I did try clearing out the ~/.mythtv directory in case a left over cache was causing this, that made no difference.

comment:23 Changed 3 years ago by heynnema@…

Glad you see the problem.

Thanks again for helping @pbennett

comment:24 Changed 3 years ago by Peter Bennett

QT 5.6.1 seg fault in ~QNetworkConfiguration during exit from program.

According to the QT Documentation QNetworkAccessManager uses by default the QNetworkConfiguration returned by QNetworkConfigurationManager::defaultConfiguration(). It is not clear which QNetworkConfigurationManager object that method is called on as it is not a static method. It seems possible that by default the same configuration object is used by different QNetworkAccessManager objects. When the QNetworkAccessManager in mythuiwebbrowser is deleted, there is a segfault in the destructor ~QNetworkConfiguration. I assume this is because the QNetworkConfiguration has already been deleted by another QNetworkAccessManager. This seems a failure in QT to make sure the configuration is no longer in use before deleting it. I changed mythuiwebbrowser to make a copy of the QNetworkConfiguration in its QNetworkAccessManager, and now the seg fault no longer happens. There are 3 or 4 other places in MythTV where QNetworkAccessManager is used and if my analysis is correct they should also be changed otherwise unpredictable things could happen when the QNetworkAccessManager is deleted.

QT documentation says you only need one QNetworkAccessManager in an application. It does not tell you that if you have more than one it will fail.

comment:25 Changed 3 years ago by Peter Bennett <pbennett@…>

Resolution: fixed
Status: assignedclosed

In 89bc8e7c2673ed6e4002ccffd1805bd6ea5ee5b2/mythtv:

Fix QT 5.6.1 seg fault in ~QNetworkConfiguration during exit from program.

Make a copy of the QNetworkConfiguration in the QNetworkAccessManager object
in mythuiwebbrowser, in case the default QNetworkConfiguration object is
already deleted when the QNetworkAccessManager is deleted.

Fixes #12917

comment:26 Changed 3 years ago by Peter Bennett <pbennett@…>

In 43fcdd92737f70fcc1e45467c7ba78bcd0e5a9ab/mythtv:

Fix QT 5.6.1 seg fault in ~QNetworkConfiguration during exit from program.

Make a copy of the QNetworkConfiguration in the QNetworkAccessManager object
in mythuiwebbrowser, in case the default QNetworkConfiguration object is
already deleted when the QNetworkAccessManager is deleted.

Fixes #12917

(cherry picked from commit 89bc8e7c2673ed6e4002ccffd1805bd6ea5ee5b2)

comment:27 Changed 3 years ago by heynnema@…

How/when will I get the fix? Next Software Update?

comment:28 Changed 3 years ago by Peter Bennett

You can get the fix from the mythbuntu PPA. It should be there tomorrow.

comment:29 in reply to:  24 Changed 3 years ago by Stuart Auchterlonie

Replying to pbennett:

QT 5.6.1 seg fault in ~QNetworkConfiguration during exit from program.

According to the QT Documentation QNetworkAccessManager uses by default the QNetworkConfiguration returned by QNetworkConfigurationManager::defaultConfiguration(). It is not clear which QNetworkConfigurationManager object that method is called on as it is not a static method. It seems possible that by default the same configuration object is used by different QNetworkAccessManager objects. When the QNetworkAccessManager in mythuiwebbrowser is deleted, there is a segfault in the destructor ~QNetworkConfiguration. I assume this is because the QNetworkConfiguration has already been deleted by another QNetworkAccessManager. This seems a failure in QT to make sure the configuration is no longer in use before deleting it. I changed mythuiwebbrowser to make a copy of the QNetworkConfiguration in its QNetworkAccessManager, and now the seg fault no longer happens. There are 3 or 4 other places in MythTV where QNetworkAccessManager is used and if my analysis is correct they should also be changed otherwise unpredictable things could happen when the QNetworkAccessManager is deleted.

QT documentation says you only need one QNetworkAccessManager in an application. It does not tell you that if you have more than one it will fail.

Previously when we have had to fix stuff like this, we've wrapped it in our own class which does the ref counting and cleans up correctly when it's done.

Regards Stuart

comment:30 Changed 3 years ago by Peter Bennett

The problem with ref counting is that the QNetworkAccessManager deletes the QNetworkConfiguration internally, so we cannot make it call the decrease reference method instead of calling delete.

If this fix is OK, I should go to the other QNetworkAccessManager instances in the system and make them use their own QNetworkConfiguration instances, so that each one has its own configuration object and they can safely be deleted.

comment:31 Changed 3 years ago by JYA

this code is leaking a QNetworkConfiguration (object is allocated but never freed)

comment:32 Changed 3 years ago by JYA

why not allocate the QNetworkConfiguration on the stack instead: like: QNetworkConfiguration newConf(currConf); networkManager->setConfiguration(newConf);

comment:33 Changed 3 years ago by JYA

actually, this would be the equivalent of doing something as simple as: networkManager->setConfiguration(networkManager->configuration());

though, I can't make much sense on this fix however, maybe it only works because of the leak...

comment:34 Changed 3 years ago by Peter Bennett

Is that leak since my fix? Do you have a tool that detects leaks?

I tried first allocating it on the stack but I get a compile error that you cannot take the address of an object on the stack. It made sense because as soon as you end the method where it is allocated it is no longer valid (will be overwritten in the stack), so the QNetworkConfiguration will be pointing to invalid data.

Maybe something else is going on here that I do not understand, however this fix does cure the seg fault and the leak of one small object is preferable to the seg fault.

comment:35 Changed 3 years ago by Peter Bennett

If you know of a better solution or have better insight into the problem please feel free to reverse what I did and change the code. The problem only happened on ubuntu 16.10 (yakkety) and if you have something better but cannot test it, I can test it.

Do you think I should try networkManager->setConfiguration(networkManager->configuration()); ? It seems that this would have no effect, just setting it to the same object it already uses.

comment:36 in reply to:  34 ; Changed 3 years ago by JYA

Replying to pbennett:

Is that leak since my fix? Do you have a tool that detects leaks?

No, I just read C++ :)

The object is allocated, it is then passed by value. The pointer returned by new is never deleted.

That will leak, guaranteed..

I tried first allocating it on the stack but I get a compile error that you cannot take the address of an object on the stack. It made sense because as soon as you end the method where it is allocated it is no longer valid (will be overwritten in the stack), so the QNetworkConfiguration will be pointing to invalid data.

I just upgraded my laptop to 16.10 last night, will give it a try. .

comment:37 in reply to:  36 Changed 3 years ago by Peter Bennett

Replying to jyavenard:

The object is allocated, it is then passed by value. The pointer returned by new is never deleted.

That will leak, guaranteed..

Well - not really. The original seg fault was caused by the fact that the destructor of QNetworkAccessManager is deleting the QNetworkConfiguration object that it is using. The seg fault is in the destructor of QNetworkConfiguration. My theory is that it was being deleted more than once, by different QNetworkAccessManager objects. That theory may be wrong ...

comment:38 Changed 3 years ago by JYA

you pass the data by value, not via a pointer.

You allocate via new, there's no associated delete of that pointer. It *will* leak.

As the data is passed by value, there's no reason to allocate a new one on the heap.

I'm not referring to why it was crashing before. Just looking at the code as it is now.

If you don't see why it would be leaking, well, I can't explain it any better

comment:39 Changed 3 years ago by Peter Bennett

I confirmed from the QT source that QT makes a copy of the QNetworkConfiguration in QNetworkAccessManager. Replacing my original fix with the following also works (i.e. prevents the seg fault):

    networkManager->setConfiguration(networkManager->configuration());

This is preferable because it is simpler and does not cause a leak.

I have no explanation of why the seg fault occurs or why this fixes it.

The seg fault occurs in QNetworkConfiguration::~QNetworkConfiguration() per the back trace. Looking at the QT source, I see that is an empty method. I cannot see a reason for it to seg fault. If there was a failure destroying one of its internal fields I would expect to see the seg fault in that destructor.

comment:40 Changed 3 years ago by Peter Bennett <pbennett@…>

In bf571d2b07a286df5419c857517dd8789c49fe27/mythtv:

Fix small memory leak caused by commit 89bc8e7

Refs #12917

(cherry picked from commit 169fc9b39c2b7ad94dcb02702796e6a9c9bbf012)

comment:41 Changed 3 years ago by Peter Bennett <pbennett@…>

In 169fc9b39c2b7ad94dcb02702796e6a9c9bbf012/mythtv:

Fix small memory leak caused by commit 89bc8e7

Refs #12917

comment:42 Changed 3 years ago by Stuart Auchterlonie

Milestone: unknown0.28.1

comment:43 Changed 20 months ago by Peter Bennett

Owner: changed from Peter Bennett to Peter Bennett
Note: See TracTickets for help on using tickets.