8000 Occasional crash on mouseover - double free or corruption · Issue #1117 · polybar/polybar · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Occasional crash on mouseover - double free or corruption #1117

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

Closed
MatthewLavine opened this issue Mar 23, 2018 · 13 comments
Closed

Occasional crash on mouseover - double free or corruption #1117

MatthewLavine opened this issue Mar 23, 2018 · 13 comments

Comments

@MatthewLavine
Copy link
MatthewLavine commented Mar 23, 2018

Compiled at commit: 55331d1

My polybar regularly crashes on two of my machines with the following stack trace. It seems to be triggered when I mouse over the bar. I cannot reproduce this issue on demand but it happens at least twice a day.

*** Error in `polybar': double free or corruption (!prev): 0x000055ec7e1e6250 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x70bcb)[0x7f34d5e21bcb]
/lib/x86_64-linux-gnu/libc.so.6(+0x76f96)[0x7f34d5e27f96]
/lib/x86_64-linux-gnu/libc.so.6(+0x777de)[0x7f34d5e287de]
polybar(_ZN7polybar18v3_1_0_73_g55331d13bar6handleERKN3xpp1x5event13motion_notifyIRNS0_10connectionEEE+0x2a1)[0x55ec7dd462f1]
polybar(_ZNK3xpp1x5event10dispatcherIRN7polybar18v3_1_0_73_g55331d110connectionEEclINS_5event8registryIS6_JNS_5randr9extensionENS_3xkb9extensionEEE7handlerEEEbT_RKSt10shared_ptrI19xcb_generic_event_tE+0x130b)[0x55ec7de4f49b]
polybar(_ZNK7polybar18v3_1_0_73_g55331d110connection14dispatch_eventERKSt10shared_ptrI19xcb_generic_event_tE+0x26)[0x55ec7de4ae76]
polybar(_ZN7polybar18v3_1_0_73_g55331d110controller11read_eventsEv+0x429)[0x55ec7dd7d7c9]
polybar(_ZN7polybar18v3_1_0_73_g55331d110controller3runEbNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x757)[0x55ec7dd83157]
polybar(main+0x1b98)[0x55ec7dd35d58]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7f34d5dd12b1]
polybar(_start+0x2a)[0x55ec7dd37d7a]
@NBonaparte
Copy link
Member

I've observed this too and seems to be caused only when cursor options are set. I could not reproduce it reliably either, so fixing it is currently at an impasse. If anyone can get this to reproduce reliably, please let us know.

@MatthewLavine
Copy link
Author

:(

Is there any debug info I could provide that you haven't already seen for this? A trace?

@NBonaparte
Copy link
Member

I actually don't have a backtrace with line numbers (must have deleted it by accident), and considering how hard it is to reproduce it, getting as much data as possible will be helpful.

@MatthewLavine
Copy link
Author

I'll generate a backtrace with numbers. From the output above it seems the issue is within this function:

https://github.com/jaagr/polybar/blob/692e6d9b4a2e023804353dee430b865dfedccd78/src/components/bar.cpp#L612

@MatthewLavine
Copy link
Author
MatthewLavine commented Mar 23, 2018

From a run with -log=trace. This one ended up with 'malloc(): memory corruption' interestingly enough.

$ ./polybar -r laptop -log trace
<snip>
polybar|trace: bar: Detected motion: 0 at pos(163, 0)
polybar|trace: Found matching input area
polybar|trace: Found matching input area
polybar|trace: Found matching input area
polybar|info:  module/cpu: Rebuilding cache
polybar|info:  module/memory: Rebuilding cache
polybar|info:  Redrawing bar window
polybar|trace: bar: Detected motion: 0 at pos(163, 0)
polybar|trace: renderer: flush(1 geom=544x27+0+0, falloff=0)
polybar|trace: renderer: flush(3 geom=1010x27+874+0, falloff=0)                                                                             
*** Error in `./polybar': malloc(): memory corruption: 0x000055f2265f0f30 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x70bcb)[0x7fc50f02fbcb]
/lib/x86_64-linux-gnu/libc.so.6(+0x76f96)[0x7fc50f035f96]
/lib/x86_64-linux-gnu/libc.so.6(+0x79059)[0x7fc50f038059]
/lib/x86_64-linux-gnu/libc.so.6(__libc_malloc+0x54)[0x7fc50f039f34]
/lib/x86_64-linux-gnu/libc.so.6(_IO_file_doallocate+0x72)[0x7fc50f025a32]
/lib/x86_64-linux-gnu/libc.so.6(_IO_doallocbuf+0x46)[0x7fc50f033a46]
/lib/x86_64-linux-gnu/libc.so.6(_IO_file_seekoff+0x173)[0x7fc50f030de3]
/lib/x86_64-linux-gnu/libc.so.6(_IO_file_attach+0x72)[0x7fc50f032842]
/lib/x86_64-linux-gnu/libc.so.6(vdprintf+0x65)[0x7fc50f02ec75]
/lib/x86_64-linux-gnu/libc.so.6(dprintf+0x87)[0x7fc50f00e447]
./polybar(_ZNK7polybar22v3_1_0_73_g55331d1_git6logger6outputIJEEEvNS0_8loglevelENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpT_+0xca)[0x55f224cb2e76]
./polybar(_ZNK7polybar22v3_1_0_73_g55331d1_git6logger5traceIJEEEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpT_+0x39)[0x55f224cb27e9]
./polybar(_ZN7polybar22v3_1_0_73_g55331d1_git3bar6handleERKN3xpp1x5event13motion_notifyIRNS0_10connectionEEE+0x254)[0x55f224cc562c]
./polybar(_ZN3xpp5event6detail10dispatcher8dispatchINS_1x5event13motion_notifyIRN7polybar22v3_1_0_73_g55331d1_git10connectionEEEEEvRKT_+0x68)[0x55f224e41562]
./polybar(_ZNK3xpp5event8registryIRN7polybar22v3_1_0_73_g55331d1_git10connectionEJNS_5randr9extensionENS_3xkb9extensionEEE6handleINS_1x5event13motion_notifyIS5_EEEEvRKT_+0x99)[0x55f224e3dc09]
./polybar(_ZNK3xpp5event8registryIRN7polybar22v3_1_0_73_g55331d1_git10connectionEJNS_5randr9extensionENS_3xkb9extensionEEE7handlerclINS_1x5event13motion_notifyIS5_EEEEvRKT_+0x26)[0x55f224e3b224]
./polybar(_ZNK3xpp1x5event10dispatcherIRN7polybar22v3_1_0_73_g55331d1_git10connectionEEclINS_5event8registryIS6_JNS_5randr9extensionENS_3xkb9extensionEEE7handlerEEEbT_RKSt10shared_ptrI19xcb_generic_event_tE+0x1f4)[0x55f224e39aaa]
./polybar(_ZNK3xpp5event8registryIRN7polybar22v3_1_0_73_g55331d1_git10connectionEJNS_5randr9extensionENS_3xkb9extensionEEE8dispatchINS_1x9extensionEEEbRKSt10shared_ptrI19xcb_generic_event_tE+0x3b)[0x55f224e393e1]
./polybar(_ZNK3xpp5event8registryIRN7polybar22v3_1_0_73_g55331d1_git10connectionEJNS_5randr9extensionENS_3xkb9extensionEEE8dispatchINS_1x9extensionES7_JS9_EEEbRKSt10shared_ptrI19xcb_generic_event_tE+0x23)[0x55f224e38d5d]
./polybar(_ZNK3xpp5event8registryIRN7polybar22v3_1_0_73_g55331d1_git10connectionEJNS_5randr9extensionENS_3xkb9extensionEEE8dispatchERKSt10shared_ptrI19xcb_generic_event_tE+0x23)[0x55f224e385b3]
./polybar(_ZNK7polybar22v3_1_0_73_g55331d1_git10connection14dispatch_eventERKSt10shared_ptrI19xcb_generic_event_tE+0x27)[0x55f224e3787f]
./polybar(_ZN7polybar22v3_1_0_73_g55331d1_git10controller11read_eventsEv+0xa53)[0x55f224d13d99]
./polybar(_ZN7polybar22v3_1_0_73_g55331d1_git10controller3runEbNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x579)[0x55f224d12d17]
./polybar(main+0x267a)[0x55f224d64bb5]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7fc50efdf2b1]
./polybar(_start+0x2a)[0x55f224ca63aa]

@MatthewLavine
Copy link
Author

Got a backtrace and gdb stack trace:

======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x70bcb)[0x7ffff495bbcb]
/lib/x86_64-linux-gnu/libc.so.6(+0x76f96)[0x7ffff4961f96]
/lib/x86_64-linux-gnu/libc.so.6(+0x78091)[0x7ffff4963091]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZN9__gnu_cxx13new_allocatorIN7polybar22v3_1_0_73_g55331d1_git12action_blockEE10deallocateEPS3_m+0x20)[0x555555970c10]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZNSt16allocator_traitsISaIN7polybar22v3_1_0_73_g55331d1_git12action_blockEEE10deallocateERS3_PS2_m+0x2b)[0x55555596e249]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZNSt12_Vector_baseIN7polybar22v3_1_0_73_g55331d1_git12action_blockESaIS2_EE13_M_deallocateEPS2_m+0x32)[0x55555596a42a]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZNSt12_Vector_baseIN7polybar22v3_1_0_73_g55331d1_git12action_blockESaIS2_EED1Ev+0x52)[0x55555595c7ae]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZNSt6vectorIN7polybar22v3_1_0_73_g55331d1_git12action_blockESaIS2_EED1Ev+0x41)[0x555555953b99]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZN7polybar22v3_1_0_73_g55331d1_git3bar6handleERKN3xpp1x5event13motion_notifyIRNS0_10connectionEEE+0x2bb)[0x555555945693]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZN3xpp5event6detail10dispatcher8dispatchINS_1x5event13motion_notifyIRN7polybar22v3_1_0_73_g55331d1_git10connectionEEEEEvRKT_+0x68)[0x555555ac1562]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZNK3xpp5event8registryIRN7polybar22v3_1_0_73_g55331d1_git10connectionEJNS_5randr9extensionENS_3xkb9extensionEEE6handleINS_1x5event13motion_notifyIS5_EEEEvRKT_+0x99)[0x555555abdc09]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZNK3xpp5event8registryIRN7polybar22v3_1_0_73_g55331d1_git10connectionEJNS_5randr9extensionENS_3xkb9extensionEEE7handlerclINS_1x5event13motion_notifyIS5_EEEEvRKT_+0x26)[0x555555abb224]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZNK3xpp1x5event10dispatcherIRN7polybar22v3_1_0_73_g55331d1_git10connectionEEclINS_5event8registryIS6_JNS_5randr9extensionENS_3xkb9extensionEEE7handlerEEEbT_RKSt10shared_ptrI19xcb_generic_event_tE+0x1f4)[0x555555ab9aaa]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZNK3xpp5event8registryIRN7polybar22v3_1_0_73_g55331d1_git10connectionEJNS_5randr9extensionENS_3xkb9extensionEEE8dispatchINS_1x9extensionEEEbRKSt10shared_ptrI19xcb_generic_event_tE+0x3b)[0x555555ab93e1]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZNK3xpp5event8registryIRN7polybar22v3_1_0_73_g55331d1_git10connectionEJNS_5randr9extensionENS_3xkb9extensionEEE8dispatchINS_1x9extensionES7_JS9_EEEbRKSt10shared_ptrI19xcb_generic_event_tE+0x23)[0x555555ab8d5d]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZNK3xpp5event8registryIRN7polybar22v3_1_0_73_g55331d1_git10connectionEJNS_5randr9extensionENS_3xkb9extensionEEE8dispatchERKSt10shared_ptrI19xcb_generic_event_tE+0x23)[0x555555ab85b3]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZNK7polybar22v3_1_0_73_g55331d1_git10connection14dispatch_eventERKSt10shared_ptrI19xcb_generic_event_tE+0x27)[0x555555ab787f]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZN7polybar22v3_1_0_73_g55331d1_git10controller11read_eventsEv+0xa53)[0x555555993d99]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_ZN7polybar22v3_1_0_73_g55331d1_git10controller3runEbNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x579)[0x555555992d17]
/home/matthewlavine/workspace/polybar/build/bin/polybar(main+0x267a)[0x5555559e4bb5]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7ffff490b2b1]
/home/matthewlavine/workspace/polybar/build/bin/polybar(_start+0x2a)[0x5555559263aa]
(gdb) bt full
#0  0x00007ffff491dfcf in raise () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00007ffff491f3fa in abort () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2  0x00007ffff495bbd0 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#3  0x00007ffff4961f96 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#4  0x00007ffff4963091 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#5  0x0000555555970c10 in __gnu_cxx::new_allocator<polybar::v3_1_0_73_g55331d1_git::action_block>::deallocate (this=0x7fffffff96f0, __p=0x555555eaef70)
    at /usr/include/c++/7/ext/new_allocator.h:125
No locals.
#6  0x000055555596e249 in std::allocator_traits<std::allocator<polybar::v3_1_0_73_g55331d1_git::action_block> >::deallocate (__a=..., __p=0x555555eaef70, __n=8)
    at /usr/include/c++/7/bits/alloc_traits.h:462
No locals.
#7  0x000055555596a42a in std::_Vector_base<polybar::v3_1_0_73_g55331d1_git::action_block, std::allocator<polybar::v3_1_0_73_g55331d1_git::action_block> >::_M_deallocate (
    this=0x7fffffff96f0, __p=0x555555eaef70, __n=8) at /usr/include/c++/7/bits/stl_vector.h:180
No locals.
#8  0x000055555595c7ae in std::_Vector_base<polybar::v3_1_0_73_g55331d1_git::action_block, std::allocator<polybar::v3_1_0_73_g55331d1_git::action_block> >::~_Vector_base (
    this=0x7fffffff96f0, __in_chrg=<optimized out>) at /usr/include/c++/7/bits/stl_vector.h:162
No locals.
#9  0x0000555555953b99 in std::vector<polybar::v3_1_0_73_g55331d1_git::action_block, std::allocator<polybar::v3_1_0_73_g55331d1_git::action_block> >::~vector (this=0x7fffffff96f0, 
    __in_chrg=<optimized out>) at /usr/include/c++/7/bits/stl_vector.h:435
No locals.
#10 0x0000555555945693 in polybar::v3_1_0_73_g55331d1_git::bar::handle (this=0x555555ea2b90, evt=...) at /home/matthewlavine/workspace/polybar/src/components/bar.cpp:633
        action = @0x555555eaf000: {<polybar::v3_1_0_73_g55331d1_git::action> = {button = polybar::v3_1_0_73_g55331d1_git::mousebtn::LEFT, 
            command = "\000\000\000\000\000\000\000\000ocus-1 www"}, align = polybar::v3_1_0_73_g55331d1_git::alignment::LEFT, start_x = 0, end_x = 72, active = false}
        __for_range = <unknown type in /home/matthewlavine/workspace/polybar/build/bin/polybar, CU 0x5cd7e, DIE 0xdf361>
        __for_begin = 
  {<polybar::v3_1_0_73_g55331d1_git::action> = {button = polybar::v3_1_0_73_g55331d1_git::mousebtn::LEFT, command = "\000\000\000\000\000\000\000\000ocus-1 www"}, align = polybar::v3_1_0_73_g55331d1_git::alignment::LEFT, start_x = 0, end_x = 72, active = false}
        __for_end = 
  {<polybar::v3_1_0_73_g55331d1_git::action> = {button = polybar::v3_1_0_73_g55331d1_git::mousebtn::NONE, command = <error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>}, align = polybar::v3_1_0_73_g55331d1_git::alignment::LEFT, start_x = 5.5829417980060859e-322, end_x = 4.6355710229897481e-310, active = 7}
        found_scroll = true
        find_click_area = {__this = 0x555555ea2b90, __found_scroll = @0x7fffffff96bf}
#11 0x0000555555ac1562 in xpp::event::detail::dispatcher::dispatch<xpp::x::event::motion_notify<polybar::v3_1_0_73_g55331d1_git::connection&> > (this=0x555555ea2b90, e=...)
    at /home/matthewlavine/workspace/polybar/lib/xpp/include/xpp/event.hpp:206
        event_sink = 0x555555ea2bb8
#12 0x0000555555abdc09 in xpp::event::registry<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension>::handle<xpp::x::event::motion_notify<polybar::v3_1_0_73_g55331d1_git::connection&> > (this=0x555555ea20c8, event=...) at /home/matthewlavine/workspace/polybar/lib/xpp/include/xpp/event.hpp:108
        item = @0x555555ea4e90: {first = 1, second = 0x555555ea2b90}
        __for_range = std::multimap with 1 element = {[1] = 0x555555ea2b90}
        __for_begin = {first = 1, second = 0x555555ea2b90}
        __for_end = {first = 1, second = 0x7ffff573bbc8 <vtable for std::runtime_error+16>}
#13 0x0000555555abb224 in xpp::event::registry<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension>::handler::operator()<xpp::x::event::motion_notify<polybar::v3_1_0_73_g55331d1_git::connection&> > (this=0x7fffffff9970, event=...) at /home/matthewlavine/workspace/polybar/lib/xpp/include/xpp/event.hpp:124
No locals.
#14 0x0000555555ab9aaa in xpp::x::event::dispatcher<polybar::v3_1_0_73_g55331d1_git::connection&>::operator()<xpp::event::registry<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension>::handler> (this=0x555555ea20c8, handler=..., event=warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_generic_event_t*, void (*)(void*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_generic_event_t*, void (*)(void*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr<xcb_generic_event_t> (use count 2, weak count 0) = {...})
    at /home/matthewlavine/workspace/polybar/lib/xpp/include/xpp/proto/x.hpp:11409
---Type <return> to continue, or q <return> to quit---
No locals.
#15 0x0000555555ab93e1 in xpp::event::registry<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension>::dispatch<xpp::x::extension> (
    this=0x555555ea20c8, event=warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_generic_event_t*, void (*)(void*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_generic_event_t*, void (*)(void*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr<xcb_generic_event_t> (use count 2, weak count 0) = {...}) at /home/matthewlavine/workspace/polybar/lib/xpp/include/xpp/event.hpp:133
No locals.
#16 0x0000555555ab8d5d in xpp::event::registry<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension>::dispatch<xpp::x::extension, xpp::randr::extension, xpp::xkb::extension> (this=0x555555ea20c8, event=warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_generic_event_t*, void (*)(void*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_generic_event_t*, void (*)(void*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr<xcb_generic_event_t> (use count 2, weak count 0) = {...})
    at /home/matthewlavine/workspace/polybar/lib/xpp/include/xpp/event.hpp:140
No locals.
#17 0x0000555555ab85b3 in xpp::event::registry<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension>::dispatch (this=0x555555ea20c8, event=warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_generic_event_t*, void (*)(void*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_generic_event_t*, void (*)(void*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'

std::shared_ptr<xcb_generic_event_t> (use count 2, weak count 0) = {...}) at /home/matthewlavine/workspace/polybar/lib/xpp/include/xpp/event.hpp:61
No locals.
#18 0x0000555555ab787f in polybar::v3_1_0_73_g55331d1_git::connection::dispatch_event (this=0x555555ea2060, evt=warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_generic_event_t*, void (*)(void*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_generic_event_t*, void (*)(void*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'

std::shared_ptr<xcb_generic_event_t> (use count 2, weak count 0) = {...}) at /home/matthewlavine/workspace/polybar/src/x11/connection.cpp:228
No locals.
#19 0x0000555555993d99 in polybar::v3_1_0_73_g55331d1_git::controller::read_events (this=0x555555ea2ec0) at /home/matthewlavine/workspace/polybar/src/components/controller.cpp:330
        evt = warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_generic_event_t*, void (*)(void*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_generic_event_t*, void (*)(void*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr<xcb_generic_event_t> (use count 2, weak count 0) = {get() = 0x555555eaf820}
        readfds = {fds_bits = {8, 0 <repeats 15 times>}}
        maxfd = 4
        events = 1
        confevent = std::unique_ptr<polybar::v3_1_0_73_g55331d1_git::inotify_event> = {get() = 0x0}
        fd_connection = 3
        fd_confwatch = -1
        fd_ipc = -1
        fds = std::vector of length 2, capacity 2 = {4, 3}
#20 0x0000555555992d17 in polybar::v3_1_0_73_g55331d1_git::controller::run (this=0x555555ea2ec0, writeback=false, snapshot_dst="")
    at /home/matthewlavine/workspace/polybar/src/components/controller.cpp:196
        __PRETTY_FUNCTION__ = "bool polybar::v3_1_0_73_g55331d1_git::controller::run(bool, std::__cxx11::string)"
        started_modules = 10
#21 0x00005555559e4bb5 in main (argc=2, argv=0x7fffffffe048) at /home/matthewlavine/workspace/polybar/src/main.cpp:145
        xcb_screen = 0
        xcb_connection = 0x555555e9c880
        conn = @0x555555ea2060: {<polybar::v3_1_0_73_g55331d1_git::detail::connection_base<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension>> = {<xpp::core> = {_vptr.core = 0x555555e5b740 <vtable for polybar::v3_1_0_73_g55331d1_git::connection+16>, m_screen = 0, m_c = warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_connection_t*, xpp::core::core(xcb_connection_t*)::{lambda(...)#1}, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<xcb_connection_t*, xpp::core::core(xcb_connection_t*)::{lambda(...)#1}, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'

std::shared_ptr<xcb_connection_t> (use count 1, weak count 0) = {get() = 0x555555e9c880}}, <xpp::generic::error_dispatcher> = {
              _vptr.error_dispatcher = 0x555555e5b820 <vtable for polybar::v3_1_0_73_g55331d1_git::connection+240>}, <polybar::v3_1_0_73_g55331d1_git::detail::interfaces<polybar::v3_1_0_73_g55331d1_git::detail::connection_base<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension>, xpp::randr::extension, xpp::xkb::extension>> = {<xpp::x::interface<polybar::v3_1_0_73_g55331d1_git::detail::interfaces<polybar::v3_1_0_73_g55331d1_git::detail::connection_base<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension>, xpp::randr::extension, xpp::xkb::extension>, polybar::v3_1_0_73_g55331d1_git::detail::connection_base<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension> >> = {
                _vptr.interface = 0x555555e5b838 <vtable for polybar::v3_1_0_73_g55331d1_git::connection+264>}, <xpp::randr::interface<polybar::v3_1_0_73_g55331d1_git::detail::interfaces<polybar::v3_1_0_73_g55331d1_git::detail::connection_base<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension>, xpp::randr::extension, xpp::xkb::extension>, polybar::v3_1_0_73_g55331d1_git::detail::connection_bas
8000
e<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension> >> = {
                _vptr.interface = 0x555555e5b858 <vtable for polybar::v3_1_0_73_g55331d1_git::connection+296>}, <xpp::xkb::interface<polybar::v3_1_0_73_g55331d1_git::detail::interfaces<polybar::v3_1_0_73_g55331d1_git::detail::connection_base<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension>, xpp::randr::extension, xpp::xkb::extension>, polybar::v3_1_0_73_g55331d1_git::detail::connection_base<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension> >> = {
                _vptr.interface = 0x555555e5b878 <vtable for polybar::v3_1_0_73_g55331d1_git::connection+328>}, <No data fields>}, <xpp::x::extension> = {<No data fields>}, <xpp::x::error::dispatcher> = {<No data fields>}, <xpp::randr::extension> = {<xpp::generic::extension<xpp::randr::extension, &xcb_randr_id>> = {m_c = 0x555555e9c880, 
                m_extension = 0x555555ea21d0}, <No data fields>}, <xpp::xkb::extension> = {<xpp::generic::extension<xpp::xkb::extension, &xcb_xkb_id>> = {m_c = 0x555555e9c880, 
                m_extension = 0x555555ea2170}, <No data fields>}, <xpp::randr::error::dispatcher> = {m_first_error = 147 '\223'}, <xpp::xkb::error::dispatcher> = {
              m_first_error = 137 '\211'}, m_root_window = 255}, 
          m_registry = {<xpp::event::registry<polybar::v3_1_0_73_g55331d1_git::connection&, xpp::randr::extension, xpp::xkb::extension>> = {<xpp::x::event::dispatcher<polybar::v3_1_0_73_g55331d1_git::connection&>> = {m_c = @0x555555ea2060}, <xpp::randr::event::dispatcher<polybar::v3_1_0_73_g55331d1_git::connection&>> = {m_c = @0x555555ea2060, 
---Type <return> to continue, or q <return> to quit---
                m_first_event = 89 'Y'}, <xpp::xkb::event::dispatcher<polybar::v3_1_0_73_g55331d1_git::connection&>> = {m_c = @0x555555ea2060, m_first_event = 85 'U'}, 
              m_c = @0x555555ea2060, m_dispatchers = std::unordered_map with 17 elements = {[90 'Z'] = std::multimap with 1 element = {[4] = 0x555555eaeb08}, 
                [25 '\031'] = std::multimap with 1 element = {[3] = 0x555555ea25b0}, [8 '\b'] = std::multimap with 1 element = {[1] = 0x555555ea2b90}, 
                [23 '\027'] = std::multimap with 1 element = {[3] = 0x555555ea25b0}, [6 '\006'] = std::multimap with 1 element = {[1] = 0x555555ea2b90}, 
                [33 '!'] = std::multimap with 2 elements = {[1] = 0x555555ea2b90, [3] = 0x555555ea25b0}, [12 '\f'] = std::multimap with 2 elements = {[1] = 0x555555ea2b90, 
                  [3] = 0x555555ea25b0}, [29 '\035'] = std::multimap with 1 element = {[3] = 0x555555ea25b0}, [28 '\034'] = std::multimap with 2 elements = {[1] = 0x555555ea2b90, 
                  [3] = 0x555555ea25b0}, [21 '\025'] = std::multimap with 1 element = {[3] = 0x555555ea25b0}, [15 '\017'] = std::multimap with 1 element = {[3] = 0x555555ea25b0}, 
                [89 'Y'] = std::multimap with 1 element = {[2] = 0x555555ea5140}, [4 '\004'] = std::multimap with 1 element = {[1] = 0x555555ea2b90}, 
                [17 '\021'] = std::multimap with 2 elements = {[1] = 0x555555ea2b90, [3] = 0x555555ea25b0}, [19 '\023'] = std::multimap with 1 element = {[3] = 0x555555ea25b0}, 
                [18 '\022'] = std::multimap with 1 element = {[3] = 0x555555ea25b0}, [7 '\a'] = std::multimap with 1 element = {[1] = 0x555555ea2b90}}}, <No data fields>}, 
          m_screen = 0x555555ea1ba4}
        confpath = ""
        cli = std::unique_ptr<polybar::v3_1_0_73_g55331d1_git::command_line::parser> = {get() = 0x555555e9bf80}
        conf = @0x555555ea2340: {m_log = @0x555555e9a280, m_file = "/home/matthewlavine/.config/polybar/config", m_barname = "laptop", m_sections = std::map with 15 elements = {
            ["bar/laptop"] = std::unordered_map with 32 elements = {["cursor-scroll"] = "pointer", ["scroll-down"] = "i3wm-wsprev", ["wm-restack"] = "i3", 
              ["tray-transparent"] = "false", ["bottom"] = "false", ["modules-right"] = "cpu memory temperature xbacklight redshift wlan battery pavolume date", 
              ["scroll-up"] = "i3wm-wsnext", ["tray-padding"] = "5", ["modules-center"] = "", ["modules-left"] = "i3", ["fixed-center"] = "false", ["border-color"] = "#f3f99d", 
              ["module-margin-left"] = "1", ["background"] = "${colors.background}", ["radius"] = "0.0", ["tray-position"] = "right", 
              ["font-2"] = "Font Awesome 5 Free:style=Regular:pixelsize=10;2", ["override-redirect"] = "false", ["line-size"] = "1", ["line-color"] = "#f00", ["width"] = "100%", 
              ["border-size"] = "0", ["tray-background"] = "${colors.background}", ["font-1"] = "Font Awesome 5 Free:style=Solid:pixelsize=10;2", ["height"] = "27", 
              ["module-margin-right"] = "1", ["cursor-click"] = "pointer", ["padding-left"] = "0", ["font-3"] = "Font Awesome 5 Brands:pixelsize=10;2", 
              ["foreground"] = "${colors.foreground}", ["padding-right"] = "1", ["font-0"] = "SourceCodeProSemiBold:size=10;1"}, ["colors"] = std::unordered_map with 8 elements = {
              ["underline-alt"] = "#aa0000", ["underline"] = "#f3f99d", ["background"] = "#cc111111", ["foreground-alt"] = "#888", ["foreground"] = "#dfdfdf", ["primary"] = "#00ffff", 
              ["background-alt"] = "#444", ["secondary"] = "#990000"}, ["global/wm"] = std::unordered_map with 2 elements = {["margin-bottom"] = "0", ["margin-top"] = "2"}, 
            ["module/battery"] = std::unordered_map with 21 elements = {["format-full-underline"] = "${colors.underline}", ["label-full"] = "%percentage%%", 
              ["label-discharging"] = "%percentage%%   %consumption%W   %time%", ["label-charging"] = "%percentage%%   %consumption%W   %time%", 
              ["animation-charging-3"] = "", ["adapter"] = "AC", ["battery"] = "BAT0", ["time-format"] = "%Hh %Mm", ["format-full-prefix"] = " ", ["type"] = "internal/battery", 
              ["animation-charging-framerate"] = "500", ["animation-charging-4"] = "", ["format-charging-underline"] = "${colors.underline}", ["animation-charging-1"] = "", 
              ["format-discharging-underline"] = "${colors.underline-alt}", ["poll-interval"] = "5", ["full-at"] = "97", ["animation-charging-0"] = "", 
              ["animation-charging-2"] = "", ["format-charging"] = "<animation-charging> <label-charging>", ["format-discharging-prefix"] = " "}, 
            ["module/cpu"] = std::unordered_map with 3 elements = {["label"] = " %percentage%%", ["type"] = "internal/cpu", ["interval"] = "1"}, 
            ["module/cpuload"] = std::unordered_map with 4 elements = {["exec"] = "~/.config/polybar/cpuload.sh", ["label"] = " %output%", ["type"] = "custom/script", 
              ["interval"] = "1"}, ["module/date"] = std::unordered_map with 5 elements = {["label"] = "%date% %time%", ["type"] = "internal/date", ["time"] = "%l:%M:%S %p", 
              ["date"] = "%A %b %d", ["interval"] = "1"}, ["module/i3"] = std::unordered_map with 23 elements = {["label-visible-underline"] = "${self.label-focused-underline}", 
              ["label-visible-background"] = "${self.label-focused-background}", ["pin-workspaces"] = "true", ["label-urgent"] = "%name%", ["wrapping-scroll"] = "false", 
              ["index-sort"] = "true", ["label-urgent-underline"] = "${colors.underline-alt}", ["label-focused-underline"] = "${colors.underline}", ["label-mode-padding"] = "2", 
              ["type"] = "internal/i3", ["format"] = "<label-state> <label-mode>", ["label-mode-background"] = "${colors.secondary}", 
              ["label-focused-background"] = "${colors.background-alt}", ["label-urgent-padding"] = "${self.label-focused-padding}", 
              ["label-visible-padding"] = "${self.label-focused-padding}", ["label-unfocused-foreground"] = "${colors.foreground-alt}", 
              ["label-mode-foreground"] = "${colors.primary}", ["label-focused-padding"] = "2", ["label-unfocused"] = "%name%", ["label-urgent-background"] = "${colors.secondary}", 
              ["label-focused"] = "%name%", ["label-unfocused-padding"] = "${self.label-focused-padding}", ["label-visible"] = "%name%"}, 
            ["module/memory"] = std::unordered_map with 3 elements = {["label"] = " %percentage_used%%", ["type"] = "internal/memory", ["interval"] = "1"}, 
            ["module/pavolume"] = std::unordered_map with 7 elements = {["scroll-down"] = "~/.config/polybar/pavolume.sh --down", 
              ["click-left"] = "~/.config/polybar/pavolume.sh --togmute", ["tail"] = "true", ["type"] = "custom/script", ["label"] = " %output%", 
              ["exec"] = "~/.config/polybar/pavolume.sh --listen", ["scroll-up"] = "~/.config/polybar/pavolume.sh --up"}, ["module/redshift"] = std::unordered_map with 4 elements = {
              ["exec"] = "~/.config/polybar/redshift.sh", ["type"] = "custom/script", ["format-prefix"] = " ", ["interval"] = "1"}, 
            ["module/temperature"] = std::unordered_map with 10 elements = {["format-warn-underline"] = "${colors.underline-alt}", ["label-warn-foreground"] = "#ff0000", 
              ["label-warn"] = " %temperature%", ["type"] = "internal/temperature", ["hwmon-path"] = "/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input", 
              ["warn-temperature"] = "80", ["interval"] = "1", ["thermal-zone"] = "2", ["format-underline"] = "${colors.underline}", ["label"] = " %temperature%"}, 
            ["module/wlan"] = std::unordered_map with 10 elements = {["format-disconnected-foreground"] = "#ff0000", 
              ["format-disconnected-prefix"] = "${self.format-connected-prefix}", ["format-disconnected"] = "<label-disconnected>", ["interface"] = "wlp4s0", 
              ["format-connected"] = "<label-connected>", ["interval"] = "1", ["format-connected-prefix"] = " ", ["label-disconnected"] = "down", ["type"] = "internal/network", 
---Type <return> to continue, or q <return> to quit---
              ["label-connected"] = "%essid%   %signal%%   %upspeed%   %downspeed%"}, ["module/xbacklight"] = std::unordered_map with 4 elements = {
              ["label"] = "%percentage%%", ["type"] = "internal/xbacklight", ["format-prefix"] = " ", ["interval"] = "5"}, ["settings"] = std::unordered_map with 1 element = {
              ["screenchange-reload"] = "true"}}, m_xrm = std::unique_ptr<polybar::v3_1_0_73_g55331d1_git::xresource_manager> = {get() = 0x0}}
        config_watch = std::unique_ptr<polybar::v3_1_0_73_g55331d1_git::inotify_watch> = {get() = 0x0}
        ctrl = std::unique_ptr<polybar::v3_1_0_73_g55331d1_git::controller> = {get() = 0x555555ea2ec0}
        scriptname = "/home/matthewlavine/workspace/polybar/build/bin/polybar"
        args = std::vector of length 1, capacity 1 = {"laptop"}
        xcb_error = 0
        ipc = std::unique_ptr<polybar::v3_1_0_73_g55331d1_git::ipc> = {get() = 0x0}
        opts = std::vector of length 11, capacity 11 = {{flag = "-h", flag_long = "--help", desc = "Display this help and exit", token = "", 
            values = std::vector of length 0, capacity 0}, {flag = "-v", flag_long = "--version", desc = "Display build details and exit", token = "", 
            values = std::vector of length 0, capacity 0}, {flag = "-l", flag_long = "--log", desc = "Set the logging verbosity (default: WARNING)", token = "LEVEL", 
            values = std::vector of length 4, capacity 4 = {"error", "warning", "info", "trace"}}, {flag = "-q", flag_long = "--quiet", desc = "Be quiet (will override -l)", 
            token = "", values = std::vector of length 0, capacity 0}, {flag = "-c", flag_long = "--config", desc = "Path to the configuration file", token = "FILE", 
            values = std::vector of length 0, capacity 0}, {flag = "-r", flag_long = "--reload", desc = "Reload when the configuration has been modified", token = "", 
            values = std::vector of length 0, capacity 0}, {flag = "-d", flag_long = "--dump", desc = "Print value of PARAM in bar section and exit", token = "PARAM", 
            values = std::vector of length 0, capacity 0}, {flag = "-m", flag_long = "--list-monitors", desc = "Print list of available monitors and exit", token = "", 
            values = std::vector of length 0, capacity 0}, {flag = "-w", flag_long = "--print-wmname", desc = "Print the generated WM_NAME and exit", token = "", 
            values = std::vector of length 0, capacity 0}, {flag = "-s", flag_long = "--stdout", desc = "Output data to stdout instead of drawing it to the X window", token = "", 
            values = std::vector of length 0, capacity 0}, {flag = "-p", flag_long = "--png", desc = "Save png snapshot to FILE after running for 3 seconds", token = "FILE", 
            values = std::vector of length 0, capacity 0}}
        exit_code = 0 '\000'
        reload = false
        logger = @0x555555e9a280: {m_level = polybar::v3_1_0_73_g55331d1_git::loglevel::WARNING, m_fd = 2, m_prefixes = std::map with 4 elements = {
            [polybar::v3_1_0_73_g55331d1_git::loglevel::ERROR] = "\r\033[1;31merror: \033[0m", [polybar::v3_1_0_73_g55331d1_git::loglevel::WARNING] = "\r\033[1;33mwarn: \033[0m", 
            [polybar::v3_1_0_73_g55331d1_git::loglevel::INFO] = "\r\033[1;32m* \033[0m", [polybar::v3_1_0_73_g55331d1_git::loglevel::TRACE] = "\r\033[0;90m- "}, 
          m_suffixes = std::map with 4 elements = {[polybar::v3_1_0_73_g55331d1_git::loglevel::ERROR] = "\033[0m", [polybar::v3_1_0_73_g55331d1_git::loglevel::WARNING] = "\033[0m", 
            [polybar::v3_1_0_73_g55331d1_git::loglevel::INFO] = "\033[0m", [polybar::v3_1_0_73_g55331d1_git::loglevel::TRACE] = "\033[0m"}}

@NBonaparte
Copy link
Member

I noticed that the motion handler doesn't lock the mutex, which might be an issue if multiple mouse events occur rapidly. See if this prevents the error from occurring:
NBonaparte@783ab2e

@MatthewLavine
Copy link
Author

Thanks! I will try this build for a few days and report if I see the issue.

@MatthewLavine
Copy link
Author

No crashes on this build so far \o/

@NBonaparte
Copy link
Member

I haven't experienced any crashes either, so that was probably the issue. I already made the PR, so this should be fixed in master pretty soon.

patrick96 added a commit that referenced this issue Jul 23, 2018
Breaking Changes:

* `0 < label-NAME-maxlen < 3` will now throw an exception and disable the containing module, if ellipsis is enabled for that label. (#1198)

Changelog:

Deprecations:
* `internal/volume` is now called `internal/alsa` (#967)
* temperature: The `%temperature%` is deprecated in favor of `%temperature-c%`(#897)
* mpd: `icon-repeatone` is deprecated in favor of `icon-single` (#1295), see #1279

Features:
* feat(mpd): Add support for icon-consume (#861)
* feat(bspwm): Add workspace separator (#942) 
* feat(i3): Add workspace separator (#938), see #929
* feat(build): Make polybar build on FreeBSD (#931, polybar/xpp#8), see #239
* feat(volume): Add pulseaudio backend (#779)
* feat(script): Add %pid% token for tail commands (#934)
* feat(temp): Add temperature tokens without unit (#897)
* feat(memory): Add memory used/free ramp (#1038), see #1037
* feat(memory): Add swap tokens (#1018) 
* feat(net): Add unknown-as-up option (#1077), see #457
* feat(config): Support fractional size and offset (#972), see #953
* feat(xwindow): Add label-empty (#1136)
* feat(battery): Add animation-discharging (analog to animation-charging) (#1190)
* feat(config): Support pixel offset for bar size and offset values (#1224)
* feat(mpd): Add `%album-artist%` token (#1263)
* feat(net): Add local_ip6 token (#1239), see #1234
* feat(net): Add nl80211 support (#1009), see #277

Fixes:
* fix(mpd): Wrong elapsed time when after standby (#921), see #915
* fix(config): Wrong min, maxlen when using the same token multiple times (#974), see #971
* fix(battery): use power_now correctly (#958), see #928
* fix(mpd): Crash when mpd isn't running (#983), see #979
* fix(xworkspaces): Respect 'enable-scroll' (#1002)
* fix(xbacklight): Respect 'enable-scroll' (#1014)
* fix(build): support xcb-proto >=1.13 (polybar/xpp#11), see #973
* fix(mpd): Respect MPD_HOST env variable (#1025), see #1007
* fix(i3): Reconnect i3 IPC socket on restart/error (#1099), see #762
* fix(cursor): Occasional crash on mouseover (#1124), see #1117
* fix(net): Mark 'not connected' on querying failure (#1171), see #1163
* fix(gcc): Fix -Wstringop-truncation warning (#1216, polybar/i3ipcpp#7), see #1215
* fix(builder): Don't truncate colors with same channels (#1217), see #1183
* fix(bspwm): Consistent behavior when scrolling through multiple desktops (#986), see #981
* fix(builder): Respect label-ellipsis option (#1198), see #1194
@Marti2203
Copy link
Marti2203 commented Jun 24, 2020

Hello, I just got this issue after playing round by clicking multiple times on the two sound panels using the example polybar. I am using the basic config and running version 3.4.2. I can make a video if you want and give any required info.
EDIT: After playing around a little more - I can see that i double click on it and probably it sends two events and that is why it breaks.

@patrick96
Copy link
Member

@Marti2203 When you click on which module does the crash occur? You are more likely suffering from #2129 than from this bug.

@Marti2203
Copy link

Yeah, okay that is possible. Thank you!

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

No branches or pull requests

4 participants
0