[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Strange bug in Qt program after build with gcc 4.7



Hi everyone,

I have strange problem with my package eiskaltdcpp-qt.

When I compile this binary file using gcc 4.6 program works fine.
But when I compile it using gcc 4.7 program crashes at launch time.

Full backtrace from gdb shows that segmentation fault is in Qt library [1].
Bug was also confirmed in Fedora and Arch Linux.

C++11 is actively used in eiskaltdcpp-qt. Could it causes the bug?

I have tried to make minimum reproducible example but without success.

Could anyone look on my package? Any suggestions are welcome.

Package can be found on m.d.n [2][3]. Or you could get sources directly from
upstream [4]. Problem exists in all last releases since 2.2.5 (I have not
checked earlier versions).

Also what mailing list is relevant for such bugs?
Maybe debian-devel or another one?

Best regards,
Boris

PS: I use Debian Sid with all recent updates.

[1] See eiskaltdcpp-qt.gdb.bt_full.log in attachment
[2] http://mentors.debian.net/package/eiskaltdcpp
[3] http://mentors.debian.net/debian/pool/main/e/eiskaltdcpp/eiskaltdcpp_2.2.6-4.dsc
[4] https://github.com/negativ/eiskaltdcpp
$ gdb eiskaltdcpp-qt 
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 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 "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/eiskaltdcpp-qt...done.
(gdb) run
Starting program: /usr/bin/eiskaltdcpp-qt 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
Installing handler for: Segmentation fault
Installing handler for: Aborted
Installing handler for: Bus error
Installing handler for: Terminated
Signal handlers installed.
[New Thread 0xb2d09b70 (LWP 2935)]
[New Thread 0xb2508b70 (LWP 2936)]
Loading: Hash database
[New Thread 0xb1bcfb70 (LWP 2937)]
[Thread 0xb2508b70 (LWP 2936) exited]
Loading: Shared Files
[New Thread 0xb2508b70 (LWP 2941)]
Loading: Download Queue
Loading: Users
[New Thread 0xb13ceb70 (LWP 2942)]
UserList icons has been loaded
Application icons has been loaded
[New Thread 0xb0024b70 (LWP 2943)]
[New Thread 0xaf823b70 (LWP 2944)]
[New Thread 0xaf022b70 (LWP 2945)]
[New Thread 0xae821b70 (LWP 2946)]
[New Thread 0xae020b70 (LWP 2947)]

Program received signal SIGSEGV, Segmentation fault.
__strlen_sse2_bsf () at ../sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S:52
52      ../sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: No such file or directory.
(gdb) bt full
#0  __strlen_sse2_bsf () at ../sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S:52
No locals.
#1  0xb5c414e5 in XSetCommand () from /usr/lib/i386-linux-gnu/libX11.so.6
No symbol table info available.
#2  0xb5c45ee3 in XSetWMProperties () from /usr/lib/i386-linux-gnu/libX11.so.6
No symbol table info available.
#3  0xb70ab646 in QWidgetPrivate::create_sys(unsigned long, bool, bool) ()
   from /usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#4  0xb705582f in QWidget::create(unsigned long, bool, bool) ()
   from /usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#5  0xb7724c77 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#6  0xb7725a91 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#7  0xb7725bea in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#8  0xb770dac8 in QSystemTrayIcon::setVisible(bool) ()
   from /usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#9  0x0827519a in show (this=<optimized out>)
    at /usr/include/qt4/QtGui/qsystemtrayicon.h:108
No locals.
#10 Notification::enableTray (this=this@entry=0x972dbd0, enable=true)
    at ../../eiskaltdcpp-qt/src/Notification.cpp:136
        menuAdditional = 0x97836d0
        actSupressTxt = 0x8e27838
        menu = 0x978fbb0
        actSupressSnd = 0x8e29160
        show_hide = <optimized out>
        setup_speed_lim = 0x97b1910
        close_app = 0x97736d0
        sep = 0x8e29fd8
#11 0x08275590 in Notification::Notification (this=0x972dbd0, parent=0x0)
    at ../../eiskaltdcpp-qt/src/Notification.cpp:41
No locals.
#12 0x08178fda in dcpp::Singleton<Notification>::newInstance ()
    at ../../dcpp/Singleton.h:47
No locals.
#13 0x080d8bfc in main (argc=1, argv=0xbffff1a4) at ../../eiskaltdcpp-qt/src/main.cpp:172
        app = {<QtSingleCoreApplication> = {<QApplication> = {<No data fields>}, 
            static staticMetaObject = {d = {superdata = 0x83db330, 
                stringdata = 0x834e2a0 "QtSingleCoreApplication", data = 0x834e320, 
---Type <return> to continue, or q <return> to quit---
                extradata = 0x834e290}}, static staticMetaObjectExtraData = {
              objects = 0x0, 
              static_metacall = 0x8198200 <QtSingleCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>}, _isRunning = false, 
            sharedMemory = <incomplete type>}, static staticMetaObject = {d = {
              superdata = 0x834e280, stringdata = 0x83486ac "EiskaltApp", 
              data = 0x83486c0, extradata = 0x8348670}}, 
          static staticMetaObjectExtraData = {objects = 0x0, 
            static_metacall = 0x81931a0 <EiskaltApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>}, ef = {<QObject> = {<No data fields>}, 
            static staticMetaObject = {d = {superdata = 0x83db418, 
                stringdata = 0x8348690 "EiskaltEventFilter", data = 0x8348700, 
                extradata = 0x8348688}}, static staticMetaObjectExtraData = {
              objects = 0x0, 
              static_metacall = 0x8193330 <EiskaltEventFilter::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>}, timer = <incomplete type>, counter = 0, 
            has_activity = false}}
        ret = 0
(gdb) 

Reply to: