[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#931591: Buster: upgraded Handbrake crashes on encode with custom preset



On Wed, 14 Aug 2019 16:38:13 -0700 Seth Foley
<sfoley@sociallytangent.com> wrote:
> Installed gdb, updated sources, installed the two debug symbol
packages, 
> and ran those commands. (I had not rebooted since the crash on
Tuesday.)
> 
> The output of coredumpctl is attached.
> 
> I also copied the core dump file in case it's wanted later.
> 
> Thanks, --SF

Do you by any change know the path name to this external (5 TB) disk ?
It is probably /media/<your_user>/<external drive partition label, or
partition UUID> so the output of "lsblk -f" would do.
Or if you selected a subfolder on this external drive partition the
name of this subfolder.

It could be your system encoding is not UTF-8. "locale" command output
in your user session would help. Though debuggus output your system
locale as en_US.UTF-8 so unlikely. Still this output may give a clue.

I believe that handbrake did not support your destination directory
name (or file name) and thus bailed out and the job ended up with no
filenname set as destination. Thus the crash in ffmpeg code.

Or maybe the external drive partition was read only due to an hardware
issue, and handbrake bailed out due to that.


Also the bug may be already fixed (hard to tell without a reproducer),
if you still have the setup could you retry (you can downgrade
handbrake by installing a downloaded buster deb package
at https://packages.debian.org/buster/handbrake then clock on your
architecture). handbrake should not allow a job with a Destination
structure without a File field.


Still it would help a lot to find with which destination folder name it
fails.
Maybe it could get sorted out by reading the source but it will take a
certain amount of time.



my encode log shows a "File" field in the "Destination" structure.
Yours not. It may be why the gdb trace shows a filename=0x0 (ie no
filename) passed to ffmpeg avio_open2.

Mine:

    "Destination": {
        "AlignAVStart": false,
        "ChapterList": [
            {
                "Name": "Chapter 1"
            },
            {
                "Name": "Chapter 2"
            },
            {
                "Name": "Chapter 3"
            }        ],
        "ChapterMarkers": true,
        "File": "/media/prahal/4061-08F6/output_file.mkv",
        "InlineParameterSets": false,
        "Mp4Options": {
            "IpodAtom": false,
            "Mp4Optimize": false
        },
        "Mux": "mkv"
    },

Yours:
  "Destination": {
        "AlignAVStart": false,
        "ChapterList": [
            {
                "Name": "Chapter 1"
            },
            {
                "Name": "Chapter 2"
            },
            {
                "Name": "Chapter 3"
            },
            {
                "Name": "Chapter 4"
            },
            {
                "Name": "Chapter 5"
            },
            {
                "Name": "Chapter 6"
            }
        ],
        "ChapterMarkers": true,
        "InlineParameterSets": false,
        "Mp4Options": {
            "IpodAtom": false,
            "Mp4Optimize": false
        },
        "Mux": "mkv"
    },




You gdb shows a 0x0 (null) filename passed to the ffmpeg library, which
is likely not supported by this library call, thus that points to an
handbrake bug:
#2  0x00007f7cebc48102 in ffurl_alloc
    (puc=0x7f7cd67fa820, filename=0x0, flags=2, int_cb=0x7f7cc19b8708)
    at src/libavformat/avio.c:295
#3  0x00007f7cebc48a2e in ffurl_open_whitelist
    (puc=puc@entry=0x7f7cd67fa820, filename=<optimized out>,
flags=flags@entry=2, int_cb=<optimized out>, options=options@entry=0x0,
whitelist=whitelist@entry=0x0, blacklist=0x0, parent=0x0) at
src/libavformat/avio.c:314
#4  0x00007f7cebc4d187 in ffio_open_whitelist
    (s=0x7f7cc19b8260, filename=<optimized out>, flags=flags@entry=2,
int_cb=<optimized out>, options=options@entry=0x0,
whitelist=whitelist@entry=0x0, blacklist=0x0)
    at src/libavformat/aviobuf.c:1167
#5  0x00007f7cebc4d1ee in avio_open2
    (s=<optimized out>, filename=<optimized out>, flags=flags@entry=2,
int_cb=<optimized out>, options=options@entry=0x0) at
src/libavformat/aviobuf.c:1181
#6  0x0000561ecd32d8fd in avformatInit (m=0x7f7cc19b7870) at
../libhb/muxavformat.c:179
#7  0x0000561ecd2e4112 in muxInit (muxer=0x7f7cc03ea500,
job=0x7f7cc004a340)
    at ../libhb/muxcommon.c:649
#8  0x0000561ecd317e56 in do_job (job=0x7f7cc004a340) at
../libhb/work.c:1758

You also have in your encode.log
[19:00:07]  * destination
[19:00:07]    + (null)
[19:00:07]    + container: Matroska (libavformat)
[19:00:07]      + chapter markers

while here I have:
[21:46:17]  * destination
[21:46:17]    + /media/prahal/4061-08F6/output_file.mkv
[21:46:17]    + container: Matroska (libavformat)
[21:46:17]      + chapter markers


Note that my encode job output is via handbrake 1.2.2+ds1-1 with its
dependencies mostly downgraded to buster versions. And I cannot
reproduce with by selecting an usb drive with no label but UUID 4061-
08F6 for its partition as handbrake "destination".

Cheers,
Alban


Reply to: