OtterBrowser / otter-browser

Otter Browser aims to recreate the best aspects of the classic Opera (12.x) UI using Qt5
https://otter-browser.org
GNU General Public License v3.0
1.8k stars 277 forks source link

Segmentation Fault on exit #889

Closed Ilya87 closed 8 years ago

Ilya87 commented 9 years ago

I click cross button of window to close and get SEGFAULT:

Program received signal SIGSEGV, Segmentation fault. 0x00007ffff3459f78 in QIcon::~QIcon() () from /usr/lib/libQt5Gui.so.5 (gdb) backtrace

0 0x00007ffff3459f78 in QIcon::~QIcon() () from /usr/lib/libQt5Gui.so.5

1 0x00007ffff3463458 in ?? () from /usr/lib/libQt5Gui.so.5

2 0x00007ffff345d7fe in ?? () from /usr/lib/libQt5Gui.so.5

3 0x00007ffff3459faa in QIcon::~QIcon() () from /usr/lib/libQt5Gui.so.5

4 0x0000000000506e41 in Otter::ActionDefinition::~ActionDefinition (this=0xe176d0)

at /home/ilya/build/Otter/src/otter/src/core/../ui/toolbars/../../core/ActionsManager.h:30

5 0x00000000005088dc in QVectorOtter::ActionDefinition::destruct (

this=0xb4aef0 <Otter::ActionsManager::m_definitions>, from=0xe176f8, to=0xe18648)
at /usr/include/qt/QtCore/qvector.h:316

6 0x000000000050897c in QVectorOtter::ActionDefinition::freeData (

this=0xb4aef0 <Otter::ActionsManager::m_definitions>, x=0xe16ce0)
at /usr/include/qt/QtCore/qvector.h:491

7 0x0000000000506c16 in QVectorOtter::ActionDefinition::~QVector (

this=0xb4aef0 <Otter::ActionsManager::m_definitions>)
at /usr/include/qt/QtCore/qvector.h:68

8 0x00007ffff22d8e78 in __run_exit_handlers () from /usr/lib/libc.so.6

9 0x00007ffff22d8ec5 in exit () from /usr/lib/libc.so.6

10 0x00007ffff22c3797 in __libc_start_main () from /usr/lib/libc.so.6

11 0x00000000004f4919 in _start ()

(gdb)

0 0x00007ffff3459f78 in QIcon::~QIcon() () from /usr/lib/libQt5Gui.so.5

1 0x00007ffff3463458 in ?? () from /usr/lib/libQt5Gui.so.5

2 0x00007ffff345d7fe in ?? () from /usr/lib/libQt5Gui.so.5

3 0x00007ffff3459faa in QIcon::~QIcon() () from /usr/lib/libQt5Gui.so.5

4 0x0000000000506e41 in Otter::ActionDefinition::~ActionDefinition (this=0xe176d0)

at /home/ilya/build/Otter/src/otter/src/core/../ui/toolbars/../../core/ActionsManager.h:30

5 0x00000000005088dc in QVectorOtter::ActionDefinition::destruct (

this=0xb4aef0 <Otter::ActionsManager::m_definitions>, from=0xe176f8, to=0xe18648)
at /usr/include/qt/QtCore/qvector.h:316

6 0x000000000050897c in QVectorOtter::ActionDefinition::freeData (

this=0xb4aef0 <Otter::ActionsManager::m_definitions>, x=0xe16ce0)
at /usr/include/qt/QtCore/qvector.h:491

7 0x0000000000506c16 in QVectorOtter::ActionDefinition::~QVector (

this=0xb4aef0 <Otter::ActionsManager::m_definitions>)
at /usr/include/qt/QtCore/qvector.h:68

8 0x00007ffff22d8e78 in __run_exit_handlers () from /usr/lib/libc.so.6

9 0x00007ffff22d8ec5 in exit () from /usr/lib/libc.so.6

10 0x00007ffff22c3797 in __libc_start_main () from /usr/lib/libc.so.6

11 0x00000000004f4919 in _start ()

(gdb)

0 0x00007ffff3459f78 in QIcon::~QIcon() () from /usr/lib/libQt5Gui.so.5

1 0x00007ffff3463458 in ?? () from /usr/lib/libQt5Gui.so.5

2 0x00007ffff345d7fe in ?? () from /usr/lib/libQt5Gui.so.5

3 0x00007ffff3459faa in QIcon::~QIcon() () from /usr/lib/libQt5Gui.so.5

4 0x0000000000506e41 in Otter::ActionDefinition::~ActionDefinition (this=0xe176d0)

at /home/ilya/build/Otter/src/otter/src/core/../ui/toolbars/../../core/ActionsManager.h:30

5 0x00000000005088dc in QVectorOtter::ActionDefinition::destruct (

this=0xb4aef0 <Otter::ActionsManager::m_definitions>, from=0xe176f8, to=0xe18648)
at /usr/include/qt/QtCore/qvector.h:316

6 0x000000000050897c in QVectorOtter::ActionDefinition::freeData (

this=0xb4aef0 <Otter::ActionsManager::m_definitions>, x=0xe16ce0)
at /usr/include/qt/QtCore/qvector.h:491

7 0x0000000000506c16 in QVectorOtter::ActionDefinition::~QVector (

this=0xb4aef0 <Otter::ActionsManager::m_definitions>)
at /usr/include/qt/QtCore/qvector.h:68

8 0x00007ffff22d8e78 in __run_exit_handlers () from /usr/lib/libc.so.6

9 0x00007ffff22d8ec5 in exit () from /usr/lib/libc.so.6

10 0x00007ffff22c3797 in __libc_start_main () from /usr/lib/libc.so.6

11 0x00000000004f4919 in _start ()

Emdek commented 9 years ago

This backtrace is odd, which Qt version are you using? It seems to crash when destroying QIcon (Qt built-in type) from list of action definitions.

Ilya87 commented 9 years ago

Qt 5.5 (Arch Linux x86_64)

Emdek commented 9 years ago

@Ilya87, does it happen every time? Which icon theme are you using in your desktop environment?

Ilya87 commented 9 years ago

My theme is Elementary Xfce - https://github.com/shimmerproject/elementary-xfce And yes, this segfault appears every time I exit.

Emdek commented 9 years ago

@Ilya87, could you please check if this happens after temporarily switching to some different icon theme? This is blind guess, I'm out of ideas.

Ilya87 commented 9 years ago

With Adwaita theme I have no error message.

Emdek commented 9 years ago

@Ilya87, thanks, it's very odd, especially that it happens on exit and not when loading icon from theme... I can later try to prepare some test case which could help in identifying files that cause this crash.

tsujan commented 8 years ago

@Emdek Was this a Qt bug? Do you know of any Qt bug tracker link?

tsujan commented 8 years ago

Found it: https://bugreports.qt.io/browse/QTBUG-50829

Emdek commented 8 years ago

@tsujan, thanks for locating this one, I've added it to list on wiki.