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

SIGABRT in generate_text_internal / check_mpd_playing #77

Closed
twwn opened this issue Jan 14, 2015 · 5 comments
Closed

SIGABRT in generate_text_internal / check_mpd_playing #77

twwn opened this issue Jan 14, 2015 · 5 comments
Labels
bug Bug report or bug fix PR

Comments

@twwn
Copy link

twwn commented Jan 14, 2015

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.

@lasers
Copy link
Contributor

lasers commented Aug 5, 2018

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.

@lasers
Copy link
Contributor

lasers commented Aug 7, 2018

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)

@lasers lasers added the bug Bug report or bug fix PR label Aug 7, 2018
@lasers
Copy link
Contributor

lasers commented Aug 10, 2018

@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.

2018-08-10-124040_413x257_scrot

EDIT: ${mpd_bar 0,100} might be broken too. Invalid.

@lasers lasers unassigned su8 Aug 10, 2018
@su8
Copy link
Collaborator

su8 commented Aug 11, 2018

@lasers I left my pc on overnight and conky was running inside gdb all night and it didn't crashed.

@lasers
Copy link
Contributor

lasers commented Aug 11, 2018

@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. 😉

3 years 7 months passed. Thank you for the report. @rathsky 😍

@lasers lasers closed this as completed Aug 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bug report or bug fix PR
Projects
None yet
Development

No branches or pull requests

3 participants