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

TagLib causing SegFault from MP4 with video #94

Closed
Undearius opened this issue Nov 1, 2023 · 1 comment
Closed

TagLib causing SegFault from MP4 with video #94

Undearius opened this issue Nov 1, 2023 · 1 comment
Labels
bug Something isn't working

Comments

@Undearius
Copy link

After hours of narrowing down the file causing the segfault, I got hit with the ultimate Rick Roll:
https://transfer.sh/77AceW2UaE/rick.mp4

I honestly had no idea this file was in my collection, and I have no need for it, but I figured this information would help to make the program more robust.

rsgain easy .

[✔] Building directory tree...
[✔] Found 1 directory...
[✔] Scanning directory for files...
[✔] Scanning './01 Never Gonna Give You Up.mp4'
[✔] Container: QuickTime / MOV [mov,mp4,m4a,3gp,3g2,mj2]
[✔] Stream #2: AAC (Advanced Audio Coding), 22,050 Hz, 2 ch
 100% [===============================================]
Segmentation fault (core dumped)

ffprobe

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559b034908c0] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '01 Never Gonna Give You Up.mp4':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
    compatible_brands: qt  
    encoder-eng     : Lavf51.8.0
    title-eng       : Never Gonna Give You Up
    album           : Whenever You Need Somebody
    track           : 1/10
    disc            : 1/1
    date            : 1987-10-01
    compilation     : 1
    sort_album_artist: Astley, Rick
    sort_artist     : Astley, Rick
    album_artist    : Rick Astley
    creation_time   : 1970-01-01T00:00:00.000000Z
    com.apple.quicktime.displayname: Never Gonna Give You Up
    com.apple.quicktime.artist: Rick Astley
    playback_requirements: QuickTime 6.0 or greater
    playback_requirements-eng: QuickTime 6.0 or greater
    encoder         : Lavf51.8.0
    artist-eng      : Rick Astley
    title           : Never Gonna Give You Up
    artist          : Rick Astley
  Duration: 00:03:32.75, start: 0.000000, bitrate: 398 kb/s
  Stream #0:0[0x0]: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 953x953 [SAR 200:200 DAR 1:1], 90k tbr, 90k tbn (attached pic)
  Stream #0:1[0x1](eng): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 323 kb/s, 24 fps, 24 tbr, 24 tbn (default)
    Metadata:
      creation_time   : 1970-01-01T00:00:00.000000Z
      handler_name    : VideoHandler
      vendor_id       : FFMP
      encoder         : mpeg4
  Stream #0:2[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 64 kb/s (default)
    Metadata:
      creation_time   : 1970-01-01T00:00:00.000000Z
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]

Journalctl

Nov 01 01:13:24 PC kernel: rsgain[375562]: segfault at 10 ip 00007f0b903a8f34 sp 00007ffe9f993718 error 4 in libtag.so.1.19.1[7f0b90347000+77000] likely on CPU 4 (core 4, socket 0)
Nov 01 01:13:24 PC kernel: Code: ff 4d 39 f7 75 84 e9 d4 fe ff ff 0f 1f 00 b8 01 00 00 00 e9 bd fe ff ff f3 0f 1e fa 48 89 c3 e9 fe c2 fa ff 66 90 f3 0f 1e fa <48> 8b 7f 10 48 83 c7 10 e9 1f fe ff ff 90 66 66 2e 0f 1f 84 00 00
Nov 01 01:13:24 PC systemd[1]: Started Process Core Dump (PID 375563/UID 0).
Nov 01 01:13:24 PC systemd-coredump[375564]: [🡕] Process 375562 (rsgain) of user 1000 dumped core.
                                                   
                                                   Stack trace of thread 375562:
                                                   #0  0x00007f0b903a8f34 _ZN6TagLib3MP43Tag10removeItemERKNS_6StringE (libtag.so.1 + 0xa5f34)
                                                   #1  0x0000557c54087c9a n/a (rsgain + 0x18c9a)
                                                   #2  0x0000557c5407ee64 n/a (rsgain + 0xfe64)
                                                   #3  0x0000557c54081cc0 n/a (rsgain + 0x12cc0)
                                                   #4  0x0000557c5408cdb9 n/a (rsgain + 0x1ddb9)
                                                   #5  0x0000557c5408efdc n/a (rsgain + 0x1ffdc)
                                                   #6  0x0000557c54077c89 n/a (rsgain + 0x8c89)
                                                   #7  0x00007f0b8e445cd0 n/a (libc.so.6 + 0x27cd0)
                                                   #8  0x00007f0b8e445d8a __libc_start_main (libc.so.6 + 0x27d8a)
                                                   #9  0x0000557c54077ff5 n/a (rsgain + 0x8ff5)
                                                   ELF object binary architecture: AMD x86-64
@complexlogic
Copy link
Owner

Thanks for the report. I'm able to confirm this on my end. It's actually a bug in rsgain. The root cause is dereferencing a null pointer returned by TagLib.

I'll provide a fix in the near future. In the meantime, you should be able to work around this by using the SkipMP4 setting in the Easy Mode presets.

@complexlogic complexlogic added the bug Something isn't working label Nov 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants