[BUG] SIGABRT with multiple input files #529

Closed
opened 2026-01-29 16:46:34 +00:00 by claunia · 3 comments
Owner

Originally created by @ghost on GitHub (Dec 3, 2019).

CCExtractor version (using the --version parameter preferably) : 0.88

In raising this issue, I confirm the following (please check boxes, eg [X] - and delete unchecked ones):

  • I have read and understood the contributors guide.
  • I have checked that the bug-fix I am reporting can be replicated, or that the feature I am suggesting isn't already present.
  • I have checked that the issue I'm posting isn't already reported.
  • I have checked that the issue I'm porting isn't already solved and no duplicates exist in closed issues and in opened issues
  • I have checked the pull requests tab for existing solutions/implementations to my issue/suggestion.
  • I have used the latest available version of CCExtractor to verify this issue exists.

My familiarity with the project is as follows (check one, eg [X] - and delete unchecked ones):

  • I absolutely love CCExtractor, but have not contributed previously.

Necessary information

  • Is this a regression (did it work before)? [x] NO | [ ] YES - please specify the last known working version
  • What platform did you use? [ ] Windows - [x] Linux - [ ] Mac
  • What were the used arguments? None

Video links (replace text below with your links)
Shared on Google Drive.

Additional information

When specifying multiple input files, CCExtractor crashes on the second one due to a double free. It works correctly if only one input file is specified at a time.

(gdb) run
Starting program: /usr/local/bin/ccextractor 04\ A\ Hope\ of\ Meeting\ You\ in\ Another\ World\ \(HD\).mp4 05\ I\ am\ Fearless\ and\ Therefore\ Powerful\ \(HD\).mp4
CCExtractor 0.88, Carlos Fernandez Sanz, Volker Quetschke.
Teletext portions taken from Petr Kutalek's telxcc
--------------------------------------------------------------------------
Input: 04 A Hope of Meeting You in Another World (HD).mp4, 05 I am Fearless and Therefore Powerful (HD).mp4
[Extract: 1] [Stream mode: Autodetect]
[Program : Auto ] [Hauppage mode: No] [Use MythTV code: Auto]
[Timing mode: Auto] [Debug: No] [Buffer input: No]
[Use pic_order_cnt_lsb for H.264: No] [Print CC decoder traces: No]
[Target format: .srt] [Encoding: UTF-8] [Delay: 0] [Trim lines: No]
[Add font color data: Yes] [Add font typesetting: Yes]
[Convert case: No] [Video-edit join: No]
[Extraction start time: not set (from start)]
[Extraction end time: not set (to end)]
[Live stream: No] [Clock frequency: 90000]
[Teletext page: Autodetect]
[Start credits text: None]
[Quantisation-mode: CCExtractor's internal function]

-----------------------------------------------------------------
Opening file: 04 A Hope of Meeting You in Another World (HD).mp4
Detected MP4 box with name: ftyp
Detected MP4 box with name: free
Detected MP4 box with name: mdat
File seems to be a MP4
Analyzing data with GPAC (MP4 library)
Opening '04 A Hope of Meeting You in Another World (HD).mp4': [iso file] Unknown box type gmhd
[iso file] Unknown box type gmin
[iso file] Unknown box type c608
[iso file] Unknown box type cnID
[iso file] Box "data" is invalid in container cnID
[iso file] Unknown box type atID
[iso file] Box "data" is invalid in container atID
[iso file] Unknown box type plID
[iso file] Box "data" is invalid in container plID
[iso file] Unknown box type geID
[iso file] Box "data" is invalid in container geID
[iso file] Unknown box type desc
[iso file] Box "data" is invalid in container desc
[iso file] Unknown box type hdvd
[iso file] Box "data" is invalid in container hdvd
[iso file] Unknown box type tvsh
[iso file] Box "data" is invalid in container tvsh
[iso file] Unknown box type tven
[iso file] Box "data" is invalid in container tven
[iso file] Unknown box type tvsn
[iso file] Box "data" is invalid in container tvsn
[iso file] Unknown box type tves
[iso file] Box "data" is invalid in container tves
[iso file] Unknown box type stik
[iso file] Box "data" is invalid in container stik
[iso file] Unknown box type purd
[iso file] Box "data" is invalid in container purd
[iso file] Unknown box type sonm
[iso file] Box "data" is invalid in container sonm
[iso file] Unknown box type soal
[iso file] Box "data" is invalid in container soal
[iso file] Unknown box type soar
[iso file] Box "data" is invalid in container soar
[iso file] Unknown box type ldes
[iso file] Box "data" is invalid in container ldes
[iso file] Unknown box type sdes
[iso file] Box "data" is invalid in container sdes
ok
Track 1, type=soun subtype=MPEG
Track 2, type=vide subtype=avc1
Track 3, type=soun subtype=ac-3
Track 4, type=clcp subtype=c608
MP4: found 4 tracks: 1 avc and 1 cc
Processing track 1, type=soun subtype=MPEG
Processing track 2, type=vide subtype=avc1
Processing track 3, type=soun subtype=ac-3
Processing track 4, type=clcp subtype=c608
100%  |  44:04
Closing media: ok
Found 1 AVC track(s). Found 1 CC track(s).


Total frames time:        00:00:00:000  (0 frames at 29.97fps)

Min PTS:                                00:00:00:000
Max PTS:                                00:44:04:942
Length:                          00:44:04:942

-----------------------------------------------------------------
Opening file: 05 I am Fearless and Therefore Powerful (HD).mp4
Detected MP4 box with name: ftyp
Detected MP4 box with name: free
Detected MP4 box with name: mdat
File seems to be a MP4
Analyzing data with GPAC (MP4 library)
Opening '05 I am Fearless and Therefore Powerful (HD).mp4': [iso file] Unknown box type gmhd
[iso file] Unknown box type gmin
[iso file] Unknown box type c608
[iso file] Unknown box type cnID
[iso file] Box "data" is invalid in container cnID
[iso file] Unknown box type atID
[iso file] Box "data" is invalid in container atID
[iso file] Unknown box type plID
[iso file] Box "data" is invalid in container plID
[iso file] Unknown box type geID
[iso file] Box "data" is invalid in container geID
[iso file] Unknown box type desc
[iso file] Box "data" is invalid in container desc
[iso file] Unknown box type hdvd
[iso file] Box "data" is invalid in container hdvd
[iso file] Unknown box type tvsh
[iso file] Box "data" is invalid in container tvsh
[iso file] Unknown box type tven
[iso file] Box "data" is invalid in container tven
[iso file] Unknown box type tvsn
[iso file] Box "data" is invalid in container tvsn
[iso file] Unknown box type tves
[iso file] Box "data" is invalid in container tves
[iso file] Unknown box type stik
[iso file] Box "data" is invalid in container stik
[iso file] Unknown box type purd
[iso file] Box "data" is invalid in container purd
[iso file] Unknown box type sonm
[iso file] Box "data" is invalid in container sonm
[iso file] Unknown box type soal
[iso file] Box "data" is invalid in container soal
[iso file] Unknown box type soar
[iso file] Box "data" is invalid in container soar
[iso file] Unknown box type ldes
[iso file] Box "data" is invalid in container ldes
[iso file] Unknown box type sdes
[iso file] Box "data" is invalid in container sdes
ok
Track 1, type=soun subtype=MPEG
Track 2, type=vide subtype=avc1
Track 3, type=soun subtype=ac-3
Track 4, type=clcp subtype=c608
MP4: found 4 tracks: 1 avc and 1 cc
Processing track 1, type=soun subtype=MPEG
Processing track 2, type=vide subtype=avc1
Processing track 3, type=soun subtype=ac-3
Processing track 4, type=clcp subtype=c608
free(): double free detected in tcache 2

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 140737488343536, 93824995374824, 93824995377040, 140737488343920, 140737350882081, 93827783032833, 140737488343920, 140737488343920, 140737488343920,
            140737488343920, 140737488343951, 18446744073709551615, 140737488343920, 18446744073709551615, 0}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007ffff7c95535 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {133143986176, 0, 0, 2, 140737351374084, 140737488343596, 140737488343600, 0, 0, 0, 0, 0,
              140737350919101, 0, 140737488343776, 140737488344032}}, sa_flags = -11552, sa_restorer = 0x1000}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff7cec508 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7df728d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
        ap = {{gp_offset = 24, fp_offset = 0, overflow_arg_area = 0x7fffffffd3f0, reg_save_area = 0x7fffffffd380}}
        fd = 2
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
        written = <optimized out>
#3  0x00007ffff7cf2c1a in malloc_printerr (str=str@entry=0x7ffff7df8f58 "free(): double free detected in tcache 2") at malloc.c:5341
No locals.
#4  0x00007ffff7cf46fd in _int_free (av=0x7ffff7e2ec40 <main_arena>, p=0x55555586de50, have_lock=<optimized out>) at malloc.c:4193
        tmp = <optimized out>
        e = 0x55555586de60
        tc_idx = 54
        size = 896
        fb = <optimized out>
        nextchunk = <optimized out>
        nextsize = <optimized out>
        nextinuse = <optimized out>
        prevsize = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
        __PRETTY_FUNCTION__ = "_int_free"
#5  0x000055555560a092 in ?? ()
No symbol table info available.
#6  0x000055555557d255 in ?? ()
No symbol table info available.
#7  0x000055555557c97f in ?? ()
No symbol table info available.
#8  0x00007ffff7c9709b in __libc_start_main (main=0x55555557c900, argc=3, argv=0x7fffffffe758, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
    stack_end=0x7fffffffe748) at ../csu/libc-start.c:308
        self = <optimized out>
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 3494027875220877079, 93824992397760, 140737488349008, 0, 0, 7289096657794920215, 7289078914540662551}, mask_was_saved = 0}}, priv = {
            pad = {0x0, 0x0, 0x7fffffffe778, 0x7ffff7ffe190}, data = {prev = 0x0, cleanup = 0x0, canceltype = -6280}}}
        not_first_call = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
#9  0x000055555557c9ea in ?? ()
No symbol table info available.
Originally created by @ghost on GitHub (Dec 3, 2019). CCExtractor version (using the --version parameter preferably) : **0.88** **In raising this issue, I confirm the following (please check boxes, eg [X] - and delete unchecked ones):** - [x] I have read and understood the [contributors guide](https://github.com/CCExtractor/ccextractor/blob/master/.github/CONTRIBUTING.md). - [x] I have checked that the bug-fix I am reporting can be replicated, or that the feature I am suggesting isn't already present. - [x] I have checked that the issue I'm posting isn't already reported. - [x] I have checked that the issue I'm porting isn't already solved and no duplicates exist in [closed issues](https://github.com/CCExtractor/ccextractor/issues?q=is%3Aissue+is%3Aclosed) and in [opened issues](https://github.com/CCExtractor/ccextractor/issues) - [x] I have checked the pull requests tab for existing solutions/implementations to my issue/suggestion. - [x] I have used the latest available version of CCExtractor to verify this issue exists. **My familiarity with the project is as follows (check one, eg [X] - and delete unchecked ones):** - [x] I absolutely love CCExtractor, but have not contributed previously. **Necessary information** - Is this a regression (did it work before)? [x] NO | [ ] YES - *please specify the last known working version* - What platform did you use? [ ] Windows - [x] Linux - [ ] Mac - What were the used arguments? None **Video links (replace text below with your links)** Shared on Google Drive. **Additional information** When specifying multiple input files, CCExtractor crashes on the second one due to a double free. It works correctly if only one input file is specified at a time. ``` (gdb) run Starting program: /usr/local/bin/ccextractor 04\ A\ Hope\ of\ Meeting\ You\ in\ Another\ World\ \(HD\).mp4 05\ I\ am\ Fearless\ and\ Therefore\ Powerful\ \(HD\).mp4 CCExtractor 0.88, Carlos Fernandez Sanz, Volker Quetschke. Teletext portions taken from Petr Kutalek's telxcc -------------------------------------------------------------------------- Input: 04 A Hope of Meeting You in Another World (HD).mp4, 05 I am Fearless and Therefore Powerful (HD).mp4 [Extract: 1] [Stream mode: Autodetect] [Program : Auto ] [Hauppage mode: No] [Use MythTV code: Auto] [Timing mode: Auto] [Debug: No] [Buffer input: No] [Use pic_order_cnt_lsb for H.264: No] [Print CC decoder traces: No] [Target format: .srt] [Encoding: UTF-8] [Delay: 0] [Trim lines: No] [Add font color data: Yes] [Add font typesetting: Yes] [Convert case: No] [Video-edit join: No] [Extraction start time: not set (from start)] [Extraction end time: not set (to end)] [Live stream: No] [Clock frequency: 90000] [Teletext page: Autodetect] [Start credits text: None] [Quantisation-mode: CCExtractor's internal function] ----------------------------------------------------------------- Opening file: 04 A Hope of Meeting You in Another World (HD).mp4 Detected MP4 box with name: ftyp Detected MP4 box with name: free Detected MP4 box with name: mdat File seems to be a MP4 Analyzing data with GPAC (MP4 library) Opening '04 A Hope of Meeting You in Another World (HD).mp4': [iso file] Unknown box type gmhd [iso file] Unknown box type gmin [iso file] Unknown box type c608 [iso file] Unknown box type cnID [iso file] Box "data" is invalid in container cnID [iso file] Unknown box type atID [iso file] Box "data" is invalid in container atID [iso file] Unknown box type plID [iso file] Box "data" is invalid in container plID [iso file] Unknown box type geID [iso file] Box "data" is invalid in container geID [iso file] Unknown box type desc [iso file] Box "data" is invalid in container desc [iso file] Unknown box type hdvd [iso file] Box "data" is invalid in container hdvd [iso file] Unknown box type tvsh [iso file] Box "data" is invalid in container tvsh [iso file] Unknown box type tven [iso file] Box "data" is invalid in container tven [iso file] Unknown box type tvsn [iso file] Box "data" is invalid in container tvsn [iso file] Unknown box type tves [iso file] Box "data" is invalid in container tves [iso file] Unknown box type stik [iso file] Box "data" is invalid in container stik [iso file] Unknown box type purd [iso file] Box "data" is invalid in container purd [iso file] Unknown box type sonm [iso file] Box "data" is invalid in container sonm [iso file] Unknown box type soal [iso file] Box "data" is invalid in container soal [iso file] Unknown box type soar [iso file] Box "data" is invalid in container soar [iso file] Unknown box type ldes [iso file] Box "data" is invalid in container ldes [iso file] Unknown box type sdes [iso file] Box "data" is invalid in container sdes ok Track 1, type=soun subtype=MPEG Track 2, type=vide subtype=avc1 Track 3, type=soun subtype=ac-3 Track 4, type=clcp subtype=c608 MP4: found 4 tracks: 1 avc and 1 cc Processing track 1, type=soun subtype=MPEG Processing track 2, type=vide subtype=avc1 Processing track 3, type=soun subtype=ac-3 Processing track 4, type=clcp subtype=c608 100% | 44:04 Closing media: ok Found 1 AVC track(s). Found 1 CC track(s). Total frames time: 00:00:00:000 (0 frames at 29.97fps) Min PTS: 00:00:00:000 Max PTS: 00:44:04:942 Length: 00:44:04:942 ----------------------------------------------------------------- Opening file: 05 I am Fearless and Therefore Powerful (HD).mp4 Detected MP4 box with name: ftyp Detected MP4 box with name: free Detected MP4 box with name: mdat File seems to be a MP4 Analyzing data with GPAC (MP4 library) Opening '05 I am Fearless and Therefore Powerful (HD).mp4': [iso file] Unknown box type gmhd [iso file] Unknown box type gmin [iso file] Unknown box type c608 [iso file] Unknown box type cnID [iso file] Box "data" is invalid in container cnID [iso file] Unknown box type atID [iso file] Box "data" is invalid in container atID [iso file] Unknown box type plID [iso file] Box "data" is invalid in container plID [iso file] Unknown box type geID [iso file] Box "data" is invalid in container geID [iso file] Unknown box type desc [iso file] Box "data" is invalid in container desc [iso file] Unknown box type hdvd [iso file] Box "data" is invalid in container hdvd [iso file] Unknown box type tvsh [iso file] Box "data" is invalid in container tvsh [iso file] Unknown box type tven [iso file] Box "data" is invalid in container tven [iso file] Unknown box type tvsn [iso file] Box "data" is invalid in container tvsn [iso file] Unknown box type tves [iso file] Box "data" is invalid in container tves [iso file] Unknown box type stik [iso file] Box "data" is invalid in container stik [iso file] Unknown box type purd [iso file] Box "data" is invalid in container purd [iso file] Unknown box type sonm [iso file] Box "data" is invalid in container sonm [iso file] Unknown box type soal [iso file] Box "data" is invalid in container soal [iso file] Unknown box type soar [iso file] Box "data" is invalid in container soar [iso file] Unknown box type ldes [iso file] Box "data" is invalid in container ldes [iso file] Unknown box type sdes [iso file] Box "data" is invalid in container sdes ok Track 1, type=soun subtype=MPEG Track 2, type=vide subtype=avc1 Track 3, type=soun subtype=ac-3 Track 4, type=clcp subtype=c608 MP4: found 4 tracks: 1 avc and 1 cc Processing track 1, type=soun subtype=MPEG Processing track 2, type=vide subtype=avc1 Processing track 3, type=soun subtype=ac-3 Processing track 4, type=clcp subtype=c608 free(): double free detected in tcache 2 Program received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt full #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 set = {__val = {0, 140737488343536, 93824995374824, 93824995377040, 140737488343920, 140737350882081, 93827783032833, 140737488343920, 140737488343920, 140737488343920, 140737488343920, 140737488343951, 18446744073709551615, 140737488343920, 18446744073709551615, 0}} pid = <optimized out> tid = <optimized out> ret = <optimized out> #1 0x00007ffff7c95535 in __GI_abort () at abort.c:79 save_stage = 1 act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {133143986176, 0, 0, 2, 140737351374084, 140737488343596, 140737488343600, 0, 0, 0, 0, 0, 140737350919101, 0, 140737488343776, 140737488344032}}, sa_flags = -11552, sa_restorer = 0x1000} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x00007ffff7cec508 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7df728d "%s\n") at ../sysdeps/posix/libc_fatal.c:181 ap = {{gp_offset = 24, fp_offset = 0, overflow_arg_area = 0x7fffffffd3f0, reg_save_area = 0x7fffffffd380}} fd = 2 list = <optimized out> nlist = <optimized out> cp = <optimized out> written = <optimized out> #3 0x00007ffff7cf2c1a in malloc_printerr (str=str@entry=0x7ffff7df8f58 "free(): double free detected in tcache 2") at malloc.c:5341 No locals. #4 0x00007ffff7cf46fd in _int_free (av=0x7ffff7e2ec40 <main_arena>, p=0x55555586de50, have_lock=<optimized out>) at malloc.c:4193 tmp = <optimized out> e = 0x55555586de60 tc_idx = 54 size = 896 fb = <optimized out> nextchunk = <optimized out> nextsize = <optimized out> nextinuse = <optimized out> prevsize = <optimized out> bck = <optimized out> fwd = <optimized out> __PRETTY_FUNCTION__ = "_int_free" #5 0x000055555560a092 in ?? () No symbol table info available. #6 0x000055555557d255 in ?? () No symbol table info available. #7 0x000055555557c97f in ?? () No symbol table info available. #8 0x00007ffff7c9709b in __libc_start_main (main=0x55555557c900, argc=3, argv=0x7fffffffe758, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe748) at ../csu/libc-start.c:308 self = <optimized out> result = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 3494027875220877079, 93824992397760, 140737488349008, 0, 0, 7289096657794920215, 7289078914540662551}, mask_was_saved = 0}}, priv = { pad = {0x0, 0x0, 0x7fffffffe778, 0x7ffff7ffe190}, data = {prev = 0x0, cleanup = 0x0, canceltype = -6280}}} not_first_call = <optimized out> --Type <RET> for more, q to quit, c to continue without paging--c #9 0x000055555557c9ea in ?? () No symbol table info available. ```
Author
Owner

@eshandhawan51 commented on GitHub (Dec 15, 2019):

@nyuszika7h Can you please also add the drive link of the videos.

@eshandhawan51 commented on GitHub (Dec 15, 2019): @nyuszika7h Can you please also add the drive link of the videos.
Author
Owner

@ghost commented on GitHub (Dec 15, 2019):

I shared it with the email mentioned in the docs, didn’t want to make it public since it’s copyrighted content.

@ghost commented on GitHub (Dec 15, 2019): I shared it with the email mentioned in the docs, didn’t want to make it public since it’s copyrighted content.
Author
Owner

@NilsIrl commented on GitHub (Jan 10, 2020):

Should probably closed

@NilsIrl commented on GitHub (Jan 10, 2020): Should probably closed
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#529