Conky: generate_text_internal / check_mpd_playingのSIGABRT

作成日 2015年01月14日  ·  5コメント  ·  ソース: brndnmtthws/conky

このクラッシュは一見ランダムに発生します。 conkyは数時間、場合によっては数分間安定して動作することがあります。 私はArchLinux x64を使用していますが、conkyはgcc4.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

私の設定からの関連行:

> mpd_host localhost
> mpd_port 6600
> music_player_interval 4
> ${if_mpd_playing}[${mpd_elapsed}/${mpd_length}] ^fg(#F3F2DD)${mpd_smart 57}^fg()$endif

ほとんどの場合、mpdのインスタンスは実際には実行されていないことに注意してください。

bug

全てのコメント5件

あなたはまだこの問題を抱えていますか? ターミナルを開きます。 gdb conky実行してから(gdb) run -c ~/conky.conf ...クラッシュが発生するのを待ってから、(gdb) bt fullを実行してバックトレースを出力します。 そのバックトレースが必要です。 ありがとう。

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これを1日ほど実行したままにしていただけますか?

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}
]]

私はすでにそれをしました、そして、問題にぶつかりませんでした。 私もこの仲間と同じようにArchLinuxx64を使用しています。

2018-08-10-124040_413x257_scrot

編集: ${mpd_bar 0,100}も壊れている可能性があります。 無効。

@lasers PCを一晩置いたままにして、conkyがgdb内で一晩中実行されていましたが、クラッシュしませんでした。

@ su8これを数時間実行し、ほとんどすべての変数を使用しました。 面白いことに、数日前にarchlinux / mpd Last Updated: 2018-08-08更新され、クラッシュもしなかったため、古いバージョンと新しいバージョンの両方をテストできました。 この問題は今すぐ解決できます。 :ウィンク:

3年7ヶ月が経過しました。 報告ありがとうございます。 @rathsky :heart_eyes:

このページは役に立ちましたか?
0 / 5 - 0 評価