Project

General

Profile

Bug #1008

scrobbler2/libaudcore: crash when scrobbling

Added by Aurélien B. over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Minor
Assignee:
-
Category:
plugins/scrobbler2
Target version:
-
Start date:
July 02, 2020
Due date:
% Done:

100%

Estimated time:
Affects version:

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 3 years ago

  • Category set to plugins/scrobbler2

#2 Updated by John Lindgren over 3 years ago

#4 Updated by Aurélien B. over 3 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!

Also available in: Atom PDF