Getting this crash seemingly at random. Sometimes conky runs stable for hours, sometimes just minutes. I'm on Arch Linux x64, conky was compiled with gcc 4.9.2.
> Program received signal SIGABRT, Aborted.
> # 0 0x00007f77ffd80a97 in raise () from /usr/lib/libc.so.6
> # 1 0x00007f77ffd81e6a in abort () from /usr/lib/libc.so.6
> # 2 0x00007f77ffdc02b3 in __libc_message () from /usr/lib/libc.so.6
> # 3 0x00007f77ffdc572e in malloc_printerr () from /usr/lib/libc.so.6
> # 4 0x00007f77ffdc5eeb in _int_free () from /usr/lib/libc.so.6
> # 5 0x00000000004589b0 in _M_dispose (__a=..., this=<optimized out>) at /usr/include/c++/4.9.2/bits/basic_string.h:249
> # 6 ~basic_string (this=0x7fff9493bd88, __in_chrg=<optimized out>) at /usr/include/c++/4.9.2/bits/basic_string.h:547
> # 7 ~mpd_result (this=0x7fff9493bd60, __in_chrg=<optimized out>) at src/mpd.cc:122
> # 8 check_mpd_playing (obj=<optimized out>) at src/mpd.cc:389
> # 9 0x0000000000424959 in generate_text_internal (p=p@entry=0x1f4e690 "", p_max_size=16384, root=...) at src/conky.cc:845
> # 10 0x0000000000425e95 in generate_text () at src/conky.cc:912
> # 11 update_text () at src/conky.cc:2010
> # 12 main_loop () at src/conky.cc:2388
> # 13 0x000000000041ea58 in main (argc=3, argv=0x7fff9493c358) at src/conky.cc:3139
The relevant lines from my config:
> mpd_host localhost
> mpd_port 6600
> music_player_interval 4
> ${if_mpd_playing}[${mpd_elapsed}/${mpd_length}] ^fg(#F3F2DD)${mpd_smart 57}^fg()$endif
Worth noting that most of the time no instance of mpd is actually running.
Do you still have this problem? Open a terminal. Run gdb conky
then (gdb) run -c ~/conky.conf
... wait for a crash to occur, then run (gdb) bt full
to print a backtrace. We want that backtrace. Thanks.
conky: Unknown lua exception
terminate called after throwing an instance of 'lua::exception'
what(): Unknown lua exception
Thread 2 "conky" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffec313700 (LWP 27280)]
0x00007ffff4c0086b in raise () from /usr/lib/libc.so.6
(gdb) bt full
#0 0x00007ffff4c0086b in raise () from /usr/lib/libc.so.6
No symbol table info available.
#1 0x00007ffff4beb40e in abort () from /usr/lib/libc.so.6
No symbol table info available.
#2 0x00007ffff522744a in __gnu_cxx::__verbose_terminate_handler () at /build/gcc/src/gcc/libstdc++-v3/libsupc++/vterminate.cc:95
terminating = true
t = <optimized out>
#3 0x00007ffff522d9d6 in __cxxabiv1::__terminate(void (*)()) () at /build/gcc/src/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:47
No locals.
#4 0x00007ffff522da13 in std::terminate () at /build/gcc/src/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:57
No locals.
#5 0x00007ffff522dc48 in __cxxabiv1::__cxa_throw (obj=obj@entry=0x7fffe4000dc0, tinfo=tinfo@entry=0x5555557fa148 <typeinfo for lua::exception>, dest=dest@entry=0x55555559e350 <lua::exception::~exception()>)
at /build/gcc/src/gcc/libstdc++-v3/libsupc++/eh_throw.cc:95
globals = <optimized out>
header = 0x7fffe4000d40
#6 0x0000555555566710 in lua::state::call (this=0x555555848930, nargs=2, nresults=1, errfunc=0) at /usr/include/c++/8.1.1/ext/new_allocator.h:86
r = <optimized out>
#7 0x000055555559f302 in lua::state::gettable (this=this@entry=0x555555848930, index=<optimized out>) at /home/chris/src/conky/src/luamm.cc:379
No locals.
#8 0x000055555559f344 in lua::state::getfield (this=this@entry=0x555555848930, index=<optimized out>, index@entry=-1, k=<optimized out>) at /home/chris/src/conky/src/luamm.cc:358
No locals.
#9 0x0000555555571eba in conky::config_setting_template<unsigned int>::get (this=0x5555557fc520 <text_buffer_size>, l=...) at /usr/include/c++/8.1.1/bits/basic_string.h:2271
guard = {_M_device = @0x555555848930}
s = {L = 0x555555848930, n = 0}
#10 0x00005555555b42d3 in mpd_newReturnElement (value=0x7fffe401783c "2", name=0x7fffe4017832 "playlist") at /usr/include/c++/8.1.1/bits/unique_ptr.h:342
ret = 0x7fffe4000be0
ret = <optimized out>
#11 mpd_getNextReturnElement (connection=connection@entry=0x7fffe400fa00) at /home/chris/src/conky/src/libmpdclient.cc:655
output = <optimized out>
rt = <optimized out>
name = 0x7fffe4017832 "playlist"
value = 0x7fffe401783b " 2"
fds = {fds_bits = {32, 0 <repeats 15 times>}}
tv = {tv_sec = 0, tv_usec = 0}
tok = 0x7fffe401783b " 2"
readed = <optimized out>
bufferCheck = 0x7fffe4017832 "playlist"
err = <optimized out>
pos = <optimized out>
#12 0x00005555555b4a2b in mpd_getStatus (connection=0x7fffe400fa00) at /home/chris/src/conky/src/libmpdclient.cc:787
re = <optimized out>
status = 0x7fffe400f960
#13 0x00005555555b11a1 in (anonymous namespace)::mpd_cb::work() () at /home/chris/src/conky/src/mpd.cc:182
status = <optimized out>
entity = <optimized out>
mpd_info = {title = "", artist = "", albumartist = "", album = "", date = "", status = "", random = "", repeat = "", track = "", name = "", file = "", is_playing = 0, vol = 0, progress = 0, bitrate = 0, length = 0, elapsed = 0}
lock = <optimized out>
#14 0x00005555555a4524 in conky::priv::callback_base::start_routine() () at /home/chris/src/conky/src/update-cb.cc:128
No locals.
#15 0x00007ffff5258d4f in execute_native_thread_routine () at /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80
__t = std::unique_ptr<std::thread::_State> = {get() = 0x555555890430}
#16 0x00007ffff7bc1075 in start_thread () from /usr/lib/libpthread.so.0
No symbol table info available.
#17 0x00007ffff4cc253f in clone () from /usr/lib/libc.so.6
No symbol table info available.
(gdb)
@su8 Can you leave this running for a day or so?
conky.config = {
out_to_x=true,
out_to_console=false,
own_window=true,
own_window_transparent=true,
}
conky.text = [[
if_mpd_playing // ${if_mpd_playing}PLAYING${else}STOPPED${endif}
album // ${mpd_album}
artist // ${mpd_artist}
albumartist // ${mpd_albumartist}
bar // ${mpd_bar 10,100}
bitrate // ${mpd_bitrate}
date // ${mpd_date}
paused // ${mpd_elapsed}
file // ${mpd_file}
length // ${mpd_length}
name // ${mpd_name}
percent // ${mpd_percent}
random // ${mpd_random}
repeat // ${mpd_repeat}
smart // ${mpd_smart}
status // ${mpd_status}
title // ${mpd_title}
track // ${mpd_track}
vol // ${mpd_vol}
]]
I did that already and hadn't ran into a problem. I'm on Arch Linux x64 too just like this fellow.
EDIT: Invalid.${mpd_bar 0,100}
might be broken too.
@lasers I left my pc on overnight and conky was running inside gdb all night and it didn't crashed.
@su8 I ran this for several hours and we used almost all variables. Funny thing, I was able to test both old and new version because it updated few days ago archlinux/mpd Last Updated: 2018-08-08
and it didn't crash either. We can close this issue now. :wink:
3 years 7 months passed. Thank you for the report. @rathsky :heart_eyes: