Conseguir este accidente aparentemente al azar. A veces, conky funciona de forma estable durante horas, a veces solo minutos. Estoy en Arch Linux x64, conky se compiló con 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
Las líneas relevantes de mi configuración:
> mpd_host localhost
> mpd_port 6600
> music_player_interval 4
> ${if_mpd_playing}[${mpd_elapsed}/${mpd_length}] ^fg(#F3F2DD)${mpd_smart 57}^fg()$endif
Vale la pena señalar que la mayoría de las veces no se está ejecutando ninguna instancia de mpd.
¿Sigues teniendo este problema? Abra una terminal. Ejecute gdb conky
luego (gdb) run -c ~/conky.conf
... espere a que ocurra un bloqueo, luego ejecute (gdb) bt full
para imprimir un retroceso. Queremos ese rastro de retroceso. Gracias.
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 ¿Puedes dejar esto funcionando durante un día o dos?
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}
]]
Ya hice eso y no había tenido ningún problema. También estoy en Arch Linux x64 al igual que este tipo.
EDITAR: Inválido.${mpd_bar 0,100}
podría estar roto.
@lasers Dejé mi PC encendida durante la noche y conky estuvo funcionando dentro de gdb toda la noche y no se bloqueó.
@ su8 Ejecuté esto durante varias horas y usamos casi todas las variables. Lo curioso es que pude probar tanto la versión antigua como la nueva porque se actualizó hace unos días archlinux / mpd Last Updated: 2018-08-08
y tampoco se bloqueó. Podemos cerrar este problema ahora. :guiño:
Pasaron 3 años 7 meses. Gracias por el informe. @rathsky : ojos_corazón: