Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nullptr when dmp-client thinks server is still playing, but isn't #30

Open
NickNick opened this issue Nov 26, 2014 · 2 comments
Open

nullptr when dmp-client thinks server is still playing, but isn't #30

NickNick opened this issue Nov 26, 2014 · 2 comments

Comments

@NickNick
Copy link
Collaborator

Reproduce

  • Setup client
  • Create a radio
  • Queue a song on that radio
  • Tunein on that radio
  • Tuneout
  • Wait for the song to finish
  • Tunein, client will think is still playing
  • Press play/pause twice.

Stacktrace

ASAN:SIGSEGV
=================================================================
==29063==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x000000abb4e7 bp 0x7fffe9848810 sp 0x7fffe98486e0 T0)
    #0 0xabb4e6 in DmpClientGui::PlayPauseToggled(bool) /tmp/../qt-client/dmp_client_gui.cpp:206:3
    #1 0xb9c066 in DmpClientGui::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /tmp/qt-client/moc_dmp_client_gui.cpp:96:17
    #2 0x7f4054be240c in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/libQt5Core.so.5+0x2b840c)
    #3 0x7f4055863711 in QAction::triggered(bool) (/usr/lib/libQt5Widgets.so.5+0x137711)
    #4 0x7f4055865d97 in QAction::activate(QAction::ActionEvent) (/usr/lib/libQt5Widgets.so.5+0x139d97)
    #5 0x7f405596646c (/usr/lib/libQt5Widgets.so.5+0x23a46c)
    #6 0x7f4055966683 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) (/usr/lib/libQt5Widgets.so.5+0x23a683)
    #7 0x7f4055a2e8c9 in QToolButton::mouseReleaseEvent(QMouseEvent*) (/usr/lib/libQt5Widgets.so.5+0x3028c9)
    #8 0x7f40558a8fa7 in QWidget::event(QEvent*) (/usr/lib/libQt5Widgets.so.5+0x17cfa7)
    #9 0x7f4055a2e9a8 in QToolButton::event(QEvent*) (/usr/lib/libQt5Widgets.so.5+0x3029a8)
    #10 0x7f405586af4b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x13ef4b)
    #11 0x7f4055870be5 in QApplication::notify(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x144be5)
    #12 0x7f4054bb370a in QCoreApplication::notifyInternal(QObject*, QEvent*) (/usr/lib/libQt5Core.so.5+0x28970a)
    #13 0x7f405586f0d2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (/usr/lib/libQt5Widgets.so.5+0x1430d2)
    #14 0x7f40558c785c (/usr/lib/libQt5Widgets.so.5+0x19b85c)
    #15 0x7f40558c9c72 (/usr/lib/libQt5Widgets.so.5+0x19dc72)
    #16 0x7f405586af4b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x13ef4b)
    #17 0x7f405587036d in QApplication::notify(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x14436d)
    #18 0x7f4054bb370a in QCoreApplication::notifyInternal(QObject*, QEvent*) (/usr/lib/libQt5Core.so.5+0x28970a)
    #19 0x7f40550dc635 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (/usr/lib/libQt5Gui.so.5+0xe4635)
    #20 0x7f40550dde74 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (/usr/lib/libQt5Gui.so.5+0xe5e74)
    #21 0x7f40550c358e in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Gui.so.5+0xcb58e)
    #22 0x7f404a1757ff (/usr/lib/qt/plugins/platforms/libqxcb.so+0x557ff)
    #23 0x7f4052ec4a0c in g_main_context_dispatch (/usr/lib/libglib-2.0.so.0+0x49a0c)
    #24 0x7f4052ec4cf7 (/usr/lib/libglib-2.0.so.0+0x49cf7)
    #25 0x7f4052ec4dab in g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x49dab)
    #26 0x7f4054c0b136 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x2e1136)
    #27 0x7f4054bb1131 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x287131)
    #28 0x7f4054bb8aeb in QCoreApplication::exec() (/usr/lib/libQt5Core.so.5+0x28eaeb)
    #29 0x9cd8e8 in main /tmp/../qt-client/main.cpp:78:12
    #30 0x7f40517a603f in __libc_start_main (/usr/lib/libc.so.6+0x2003f)
    #31 0x9cbf5c in _start (/home/nick/code/dmp/build-clang-Release/qt-client/qt-client+0x9cbf5c)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /tmp/../qt-client/dmp_client_gui.cpp:206 DmpClientGui::PlayPauseToggled(bool)
==29063==ABORTING
@NickNick
Copy link
Collaborator Author

After this, another bug: exception thrown "map::at"

  • Restart client, reconnect to server (don't restart the server)
  • Tunein to the 'broken' ? radio
  • Hit play/pause

@NickNick
Copy link
Collaborator Author

Maybe related stacktrace, while client was reporting error, server was shut down, but still able to press buttons. Pressing play/pause

ASAN:SIGSEGV
=================================================================
==29209==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x000000abb568 bp 0x7fff318cfb30 sp 0x7fff318cfa00 T0)
    #0 0xabb567 in DmpClientGui::PlayPauseToggled(bool) /tmp/../qt-client/dmp_client_gui.cpp:208:3
    #1 0xb9c066 in DmpClientGui::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /tmp/qt-client/moc_dmp_client_gui.cpp:96:17
    #2 0x7fc52d4a940c in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/libQt5Core.so.5+0x2b840c)
    #3 0x7fc52e12a711 in QAction::triggered(bool) (/usr/lib/libQt5Widgets.so.5+0x137711)
    #4 0x7fc52e12cd97 in QAction::activate(QAction::ActionEvent) (/usr/lib/libQt5Widgets.so.5+0x139d97)
    #5 0x7fc52e22d46c (/usr/lib/libQt5Widgets.so.5+0x23a46c)
    #6 0x7fc52e22d683 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) (/usr/lib/libQt5Widgets.so.5+0x23a683)
    #7 0x7fc52e2f58c9 in QToolButton::mouseReleaseEvent(QMouseEvent*) (/usr/lib/libQt5Widgets.so.5+0x3028c9)
    #8 0x7fc52e16ffa7 in QWidget::event(QEvent*) (/usr/lib/libQt5Widgets.so.5+0x17cfa7)
    #9 0x7fc52e2f59a8 in QToolButton::event(QEvent*) (/usr/lib/libQt5Widgets.so.5+0x3029a8)
    #10 0x7fc52e131f4b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x13ef4b)
    #11 0x7fc52e137be5 in QApplication::notify(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x144be5)
    #12 0x7fc52d47a70a in QCoreApplication::notifyInternal(QObject*, QEvent*) (/usr/lib/libQt5Core.so.5+0x28970a)
    #13 0x7fc52e1360d2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (/usr/lib/libQt5Widgets.so.5+0x1430d2)
    #14 0x7fc52e18e85c (/usr/lib/libQt5Widgets.so.5+0x19b85c)
    #15 0x7fc52e190c72 (/usr/lib/libQt5Widgets.so.5+0x19dc72)
    #16 0x7fc52e131f4b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x13ef4b)
    #17 0x7fc52e13736d in QApplication::notify(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x14436d)
    #18 0x7fc52d47a70a in QCoreApplication::notifyInternal(QObject*, QEvent*) (/usr/lib/libQt5Core.so.5+0x28970a)
    #19 0x7fc52d9a3635 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (/usr/lib/libQt5Gui.so.5+0xe4635)
    #20 0x7fc52d9a4e74 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (/usr/lib/libQt5Gui.so.5+0xe5e74)
    #21 0x7fc52d98a58e in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Gui.so.5+0xcb58e)
    #22 0x7fc522a3c7ff (/usr/lib/qt/plugins/platforms/libqxcb.so+0x557ff)
    #23 0x7fc52b78ba0c in g_main_context_dispatch (/usr/lib/libglib-2.0.so.0+0x49a0c)
    #24 0x7fc52b78bcf7 (/usr/lib/libglib-2.0.so.0+0x49cf7)
    #25 0x7fc52b78bdab in g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x49dab)
    #26 0x7fc52d4d2136 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x2e1136)
    #27 0x7fc52d478131 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x287131)
    #28 0x7fc52d47faeb in QCoreApplication::exec() (/usr/lib/libQt5Core.so.5+0x28eaeb)
    #29 0x9cd8e8 in main /tmp/../qt-client/main.cpp:78:12
    #30 0x7fc52a06d03f in __libc_start_main (/usr/lib/libc.so.6+0x2003f)
    #31 0x9cbf5c in _start (/home/nick/code/dmp/build-clang-Release/qt-client/qt-client+0x9cbf5c)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /tmp/../qt-client/dmp_client_gui.cpp:208 DmpClientGui::PlayPauseToggled(bool)
==29209==ABORTING

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant