Bug #1008
scrobbler2/libaudcore: crash when scrobbling
100%
Description
Hi,
Recently my Audacious is crashing on some songs, when the Last.fm scrobbler starts.
Summary
It doesn't crash for all tracks, but on the tracks it crashes, it happens 100 % of the time, like "I'm Still Standing"/"Elton John" below. The track "Johnny B. Goode"/"Chuck Berry" also amlways crashes...
The segfault depends only on the new track being played. The previous track doesn't change anything.
Without the scrobbler 2 plugin, I have no crash.
Audacious version
I've got the 4.0.4 version of Audacious since June and it worked perfectly until about a week. I can't tell what system update makes it crash now.
Stacktrace
#0 0x00007ffff798b2b1 in __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:65 #1 0x00007ffff7f792d8 in StringBuf::insert(int, char const*, int) (this=this@entry=0x7fffc7ffea80, pos=<optimized out>, pos@entry=-1, s=s@entry=0x0, len=len@entry=-1) at ../src/libaudcore/stringbuf.cc:265 #2 0x00007fffccc02a6e in create_message_to_lastfm(char const*, int) (method_name=<optimized out>, n_args=7) at ../src/scrobbler2/scrobbler_communication.cc:101 name = 0x7fffccc07046 "trackNumber" arg = 0x0 esc = 0x0 i = 3 params = {<IndexBase> = {m_data = 0x7fffc00d7560, m_len = 80, m_size = 88}, <No data fields>} buf = {stack = 0x7fffc52d9000, m_data = 0x7fffc52d90e8 "method=track.updateNowPlaying&artist=Elton%20John&album=I%27m%20Still%20Standing&track=I%27m%20Still%20Standing&trackNumber=", m_len = 124} vl = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7fffc7ffebf8, reg_save_area = 0x7fffc7ffeae0}} api_sig = <optimized out> #3 0x00007fffccc0486a in send_now_playing () at /usr/include/libaudcore/objects.h:243 track_str = {stack = 0x7fffc52d9000, m_data = 0x7fffc52d90a8 "", m_len = 0} length_str = {stack = 0x7fffc52d9000, m_data = 0x7fffc52d90c8 "179", m_len = 3} playingmsg = {raw = 0x7fffc0002640 "method=track.updateNowPlaying&artist=Timbaland&album=Shock%20Value&track=Give%20It%20To%20Me%20%28feat.%20Justin%20Timberlake%20%26%20Nelly%20Furtado%29&trackNumber=2&duration=234&api_key=4b4f73bda181"...} success = <optimized out> error_code = {raw = 0x0} error_detail = {raw = 0x0} curr_track = {data = 0x5555557e96e0} artist = {stack = 0x7fffc52d9000, m_data = 0x7fffc52d9020 "Elton John", m_len = 10} album = {stack = 0x7fffc52d9000, m_data = 0x7fffc52d9078 "I'm Still Standing", m_len = 18} track = <optimized out> ignored = 0 ignored_code = {raw = 0x0} title = {stack = 0x7fffc52d9000, m_data = 0x7fffc52d9048 "I'm Still Standing", m_len = 18} length = <optimized out> #4 0x00007fffccc0486a in scrobbling_thread(void*) (input_data=<optimized out>) at ../src/scrobbler2/scrobbler_communication.cc:655 #5 0x00007ffff7123eaa in start_thread (arg=<optimized out>) at pthread_create.c:477 ret = <optimized out> pd = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736548828928, 43732148458216782, 140737488345678, 140737488345679, 140737488345680, 140736548828928, -43679372382708402, -43716529798783666}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = 0 #6 0x00007ffff7928b1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
It is possible that the line #0 of the backtrace is wrongly reported by gdb. (https://github.com/servo/servo/issues/24984#issuecomment-564071555)
Do you have any idea? If I can add more details, feel free to ask. Audacious is my favorite music player.
Best regards
History
#1 Updated by John Lindgren over 4 years ago
- Category set to plugins/scrobbler2
#2 Updated by John Lindgren over 4 years ago
I think this is caused by https://github.com/curl/curl/issues/5601
#3 Updated by John Lindgren over 4 years ago
- % Done changed from 0 to 100
- Status changed from New to Closed
#4 Updated by Aurélien B. over 4 years ago
You nailed it!
Problem solved by either- Updating from curl 7.71.0 to 7.71.1
- Adding track numbers to all tracks
Thanks for the quick reply & the fix for later versions of Audacious!