!QhvgabMQzwEQeWehhZ:lossy.network

NixOS Home Automation

516 Members
Declarative Home Automation and other Sidequests | https://wiki.nixos.org/wiki/Home_Assistant136 Servers

Load older messages


SenderMessageTime
9 Feb 2025
@hexa:lossy.network@hexa:lossy.network

Multiprotocol will remain an experimental feature and is not recommended for use.

22:21:48
@hexa:lossy.network@hexa:lossy.networkyes22:21:53
@hexa:lossy.network@hexa:lossy.network* no, the stream test22:22:00
@robert:funklause.dedotlambdaDo we have any idea in which Python module the segfault occurs?22:24:30
@hexa:lossy.network@hexa:lossy.networkI would assume pyav22:24:49
@robert:funklause.dedotlambdaActually, the HA tests seem to use x265 directly22:25:24
@hexa:lossy.network@hexa:lossy.networkoh22:25:33
@hexa:lossy.network@hexa:lossy.networkyeah, but that uses pyav22:26:37
@hexa:lossy.network@hexa:lossy.network
    container = av.open(output, mode="w", format=container_format)

    stream = container.add_stream(encoder, rate=fps)
22:26:53
@hexa:lossy.network@hexa:lossy.network *
    container = av.open(output, mode="w", format=container_format) # pyav here

    stream = container.add_stream(encoder, rate=fps) # "libx265" here
22:27:17
@robert:funklause.dedotlambda The broken test is test_h265_video_is_hvc1 22:27:53
@hexa:lossy.network@hexa:lossy.networkyep22:27:59
@hexa:lossy.network@hexa:lossy.networkI mean, ideally we can reproduce that outside the build sandbox22:32:36
@hexa:lossy.network@hexa:lossy.networkand get debugsymbols and can file an issue22:32:46
@robert:funklause.dedotlambdaIsn't it more likely to be a PyAV issue?22:33:05
@hexa:lossy.network@hexa:lossy.networkhttps://github.com/home-assistant/buildroot/blob/master/package/x265/x265.mk#L722:45:04
@hexa:lossy.network@hexa:lossy.networkwe use the same pyav version they pin22:45:19
@hexa:lossy.network@hexa:lossy.networkbut they are still on the old x265 version22:45:27
@hexa:lossy.network@hexa:lossy.networktheir ci runs on ubuntu-24.0422:46:03
@hexa:lossy.network@hexa:lossy.networkwhich also ships x265 3.522:46:20
@hexa:lossy.network@hexa:lossy.network
❯ python test.py 
x265 [info]: HEVC encoder version 4.1+1-1d117be
x265 [info]: build info [Linux][GCC 14.2.1][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main profile, Level-2.1 (Main tier)
x265 [info]: Thread pool created using 12 threads
x265 [info]: Slices                              : 1
x265 [info]: frame threads / pool features       : 3 / wpp(5 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias  : 24 / 24 / 40 / 5.00 
x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
x265 [info]: References / ref-limit  cu / depth  : 3 / off / on
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 2 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress            : ABR-1024 kbps / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
x265 [info]: tools: b-intra strong-intra-smoothing deblock sao dhdr10-info
fish: Job 1, 'python test.py' terminated by signal SIGSEGV (Address boundary error)
22:49:32
@tired:fairydust.space@tired:fairydust.space left the room.22:50:16
@robert:funklause.dedotlambda Where does that test.py come from? 22:50:28
@hexa:lossy.network@hexa:lossy.network
#0  0x00007f4e2aea7bfe in __GI___libc_free (mem=0x4037800000000000) at malloc.c:3375
        ar_ptr = <optimized out>
        p = <optimized out>
        err = <optimized out>
#1  0x00007f4dc63a4713 in libx265_encode_frame () from /nix/store/vchiak5lf0i1jh12ppfzyazbp5077wav-ffmpeg-headless-7.1-lib/lib/libavcodec.so.61
No symbol table info available.
#2  0x00007f4dc6126ff6 in ff_encode_encode_cb () from /nix/store/vchiak5lf0i1jh12ppfzyazbp5077wav-ffmpeg-headless-7.1-lib/lib/libavcodec.so.61
No symbol table info available.
#3  0x00007f4dc612736e in encode_receive_packet_internal () from /nix/store/vchiak5lf0i1jh12ppfzyazbp5077wav-ffmpeg-headless-7.1-lib/lib/libavcodec.so.61
No symbol table info available.
#4  0x00007f4dc6127607 in avcodec_send_frame () from /nix/store/vchiak5lf0i1jh12ppfzyazbp5077wav-ffmpeg-headless-7.1-lib/lib/libavcodec.so.61
No symbol table info available.
#5  0x00007f4dbf23670e in __pyx_gb_2av_5codec_7context_12CodecContext_24generator ()
   from /nix/store/pn1q89rlrzccgfyppaw0f03h8gq081r8-python3-3.13.1-env/lib/python3.13/site-packages/av/codec/context.cpython-313-x86_64-linux-gnu.so
No symbol table info available.
#6  0x00007f4dbf36b94c in __Pyx_Coroutine_SendEx.isra.0 ()
   from /nix/store/pn1q89rlrzccgfyppaw0f03h8gq081r8-python3-3.13.1-env/lib/python3.13/site-packages/av/enum.cpython-313-x86_64-linux-gnu.so
No symbol table info available.
#7  0x00007f4dbf23f382 in __pyx_f_2av_5codec_7context_12CodecContext_encode ()
   from /nix/store/pn1q89rlrzccgfyppaw0f03h8gq081r8-python3-3.13.1-env/lib/python3.13/site-packages/av/codec/context.cpython-313-x86_64-linux-gnu.so
No symbol table info available.
#8  0x00007f4dbef60f7b in __pyx_f_2av_5video_6stream_11VideoStream_encode ()
   from /nix/store/pn1q89rlrzccgfyppaw0f03h8gq081r8-python3-3.13.1-env/lib/python3.13/site-packages/av/video/stream.cpython-313-x86_64-linux-gnu.so
No symbol table info available.
#9  0x00007f4dbef5ea8a in __pyx_pw_2av_5video_6stream_11VideoStream_5encode ()
   from /nix/store/pn1q89rlrzccgfyppaw0f03h8gq081r8-python3-3.13.1-env/lib/python3.13/site-packages/av/video/stream.cpython-313-x86_64-linux-gnu.so
No symbol table info available.
#10 0x00007f4e2b5aef01 in _PyObject_VectorcallTstate (tstate=0x7f4e2b81ae70 <_PyRuntime+283024>, callable=0x7f4dbf01cba0, args=0x7f4e2b8a9148, nargsf=9223372036854775810, kwnames=0x0)
    at ./Include/internal/pycore_call.h:168
        func = <optimized out>
        res = <optimized out>
        func = <optimized out>
        res = <optimized out>
        nargs = <optimized out>
#11 PyObject_Vectorcall (callable=0x7f4dbf01cba0, args=0x7f4e2b8a9148, nargsf=9223372036854775810, kwnames=0x0) at Objects/call.c:327
        tstate = 0x7f4e2b81ae70 <_PyRuntime+283024>
        tstate = <optimized out>
#12 _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=<optimized out>, throwflag=<optimized out>) at Python/generated_cases.c.h:813
        total_args = <optimized out>
        self = <optimized out>
        method = <optimized out>
        op = <optimized out>
        dealloc = <optimized out>
        self_or_null = <optimized out>
        callable = 0x7f4dbf01cba0
        this_instr = 0x19548c48
        args = 0x7f4e2b8a9148
        res = <optimized out>
        opcode = <optimized out>
        oparg = <optimized out>
        entry_frame = {f_executable = 0x7f4e2b7cd1d0 <_Py_NoneStruct>, previous = 0x0, f_funcobj = 0x7f4e2b7d11a0 <PyFunction_Type>, f_globals = 0x7f4e2b2ee4a4 <_PyObject_GC_New+180>, 
          f_builtins = 0x7f4e2a998640, f_locals = 0x336c5f64f8cbe900, frame_obj = 0x7fff0fdec170, instr_ptr = 0x7f4e2b68a972 <_Py_INTERPRETER_TRAMPOLINE_INSTRUCTIONS+2>, stacktop = 0, 
          return_offset = 0, owner = 3 '\003', localsplus = {0x7f4e2a96d278}}
        next_instr = <optimized out>
        stack_pointer = <optimized out>
        exception_unwind = <optimized out>
        dying = <optimized out>
        __func__ = "_PyEval_EvalFrameDefault"
        opcode_targets = {0x7f4e2b5b8618 <_PyEval_EvalFrameDefault+45304>, 0x7f4e2b5b2c92 <_PyEval_EvalFrameDefault+22386>, 0x7f4e2b5b1098 <_PyEval_EvalFrameDefault+15224>, 
          0x7f4e2b5b3040 <_PyEval_EvalFrameDefault+23328>, 0x7f4e2b5b2790 <_PyEval_EvalFrameDefault+21104>, 0x7f4e2b5b2828 <_PyEval_EvalFrameDefault+21256>, 
          0x7f4e2b5b35da <_PyEval_EvalFrameDefault+24762>, 0x7f4e2b5b1bda <_PyEval_EvalFrameDefault+18106>, 0x7f4e2b5b3700 <_PyEval_EvalFrameDefault+25056>, 
          0x7f4e2b5ae26f <_PyEval_EvalFrameDefault+3407>, 0x7f4e2b5ae3d3 <_PyEval_EvalFrameDefault+3763>, 0x7f4e2b5ae455 <_PyEval_EvalFrameDefault+3893>, 
          0x7f4e2b5ae493 <_PyEval_EvalFrameDefault+3955>, 0x7f4e2b5ae4d9 <_PyEval_EvalFrameDefault+4025>, 0x7f4e2b5ae947 <_PyEval_EvalFrameDefault+5159>, 
          0x7f4e2b5aeaff <_PyEval_EvalFrameDefault+5599>, 0x7f4e2b5ae8b7 <_PyEval_EvalFrameDefault+5015>, 0x7f4e2b5b862f <_PyEval_EvalFrameDefault+45327>, 
          0x7f4e2b5ae758 <_PyEval_EvalFrameDefault+4664>, 0x7f4e2b5ae85f <_PyEval_EvalFrameDefault+4927>, 0x7f4e2b5ae9b3 <_PyEval_EvalFrameDefault+5267>, 
          0x7f4e2b5aeb7b <_PyEval_EvalFrameDefault+5723>, 0x7f4e2b5b13da <_PyEval_EvalFrameDefault+16058>, 0x7f4e2b5afd1d <_PyEval_EvalFrameDefault+10237>, 
          0x7f4e2b5b3070 <_PyEval_EvalFrameDefault+23376>, 0x7f4e2b5b44f8 <_PyEval_EvalFrameDefault+28632>, 0x7f4e2b5b4e0b <_PyEval_EvalFrameDefault+30955>, 
          0x7f4e2b5b4a87 <_PyEval_EvalFrameDefault+30055>, 0x7f4e2b5b521f <_PyEval_EvalFrameDefault+31999>, 0x7f4e2b5b5261 <_PyEval_EvalFrameDefault+32065>, 
          0x7f4e2b5b0fb6 <_PyEval_EvalFrameDefault+14998>, 0x7f4e2b5b50b8 <_PyEval_EvalFrameDefault+31640>, 0x7f4e2b5b4f47 <_PyEval_EvalFrameDefault+31271>, 
          0x7f4e2b5b4f85 <_PyEval_EvalFrameDefault+31333>, 0x7f4e2b5b3170 <_PyEval_EvalFrameDefault+23632>, 0x7f4e2b5b5b74 <_PyEval_EvalFrameDefault+34388>, 
          0x7f4e2b5b5c77 <_PyEval_EvalFrameDefault+34647>, 0x7f4e2b5b59dd <_PyEval_EvalFrameDefault+33981>, 0x7f4e2b5b1167 <_PyEval_EvalFrameDefault+15431>, 
          0x7f4e2b5b1223 <_PyEval_EvalFrameDefault+15619>, 0x7f4e2b5b4b39 <_PyEval_EvalFrameDefault+30233>, 0x7f4e2b5b52a3 <_PyEval_EvalFrameDefault+32131>, 
          0x7f4e2b5b569d <_PyEval_EvalFrameDefault+33149>, 0x7f4e2b5b55f0 <_PyEval_EvalFrameDefault+32976>, 0x7f4e2b5b3db5 <_PyEval_EvalFrameDefault+26773>, 
          0x7f4e2b5b28db <_PyEval_EvalFrameDefault+21435>, 0x7f4e2b5b1e92 <_PyEval_EvalFrameDefault+18802>, 0x7f4e2b5b1f86 <_PyEval_EvalFrameDefault+19046>, 
          0x7f4e2b5b1fe0 <_PyEval_EvalFrameDefault+19136>, 0x7f4e2b5b209a <_PyEval_EvalFrameDefault+19322>, 0x7f4e2b5b2178 <_PyEval_EvalFrameDefault+19544>, 
          0x7f4e2b5b223d <_PyEval_EvalFrameDefault+19741>, 0x7f4e2b5b2311 <_PyEval_EvalFrameDefault+19953>, 0x7f4e2b5b236b <_PyEval_EvalFrameDefault+20043>, 
          0x7f4e2b5adc39 <_PyEval_EvalFrameDefault+1817>, 0x7f4e2b5b4272 <_PyEval_EvalFrameDefault+27986>, 0x7f4e2b5b0d1b <_PyEval_EvalFrameDefault+14331>, 
          0x7f4e2b5b13fd <_PyEval_EvalFrameDefault+16093>, 0x7f4e2b5b16d9 <_PyEval_EvalFrameDefault+16825>, 0x7f4e2b5af910 <_PyEval_EvalFrameDefault+9200>, 
          0x7f4e2b5b1e32 <_PyEval_EvalFrameDefault+18706>, 0x7f4e2b5ae007 <_PyEval_EvalFrameDefault+2791>, 0x7f4e2b5ae041 <_PyEval_EvalFrameDefault+2849>, 
          0x7f4e2b5ae09b <_PyEval_EvalFrameDefault+2939>, 0x7f4e2b5ae12e <_PyEval_EvalFrameDefault+3086>, 0x7f4e2b5ae181 <_PyEval_EvalFrameDefault+3169>, 
          0x7f4e2b5ae1d5 <_PyEval_EvalFrameDefault+3253>, 0x7f4e2b5ae223 <_PyEval_EvalFrameDefault+3331>, 0x7f4e2b5ae2e7 <_PyEval_EvalFrameDefault+3527>, 
          0x7f4e2b5ae373 <_PyEval_EvalFrameDefault+3667>, 0x7f4e2b5b8646 <_PyEval_EvalFrameDefault+45350>, 0x7f4e2b5ae50d <_PyEval_EvalFrameDefault+4077>, 
          0x7f4e2b5ae9fc <_PyEval_EvalFrameDefault+5340>, 0x7f4e2b5ae7ec <_PyEval_EvalFrameDefault+4812>, 0x7f4e2b5aebef <_PyEval_EvalFrameDefault+5839>, 
          0x7f4e2b5aec3c <_PyEval_EvalFrameDefault+5916>, 0x7f4e2b5b130f <_PyEval_EvalFrameDefault+15855>, 0x7f4e2b5b139f <_PyEval_EvalFrameDefault+15999>, 
          0x7f4e2b5afc34 <_PyEval_EvalFrameDefault+10004>, 0x7f4e2b5afc5b <_PyEval_EvalFrameDefault+10043>, 0x7f4e2b5afc7e <_PyEval_EvalFrameDefault+10078>, 
          0x7f4e2b5afcbe <_PyEval_EvalFrameDefault+10142>, 0x7f4e2b5afd56 <_PyEval_EvalFrameDefault+10294>, 0x7f4e2b5b44b9 <_PyEval_EvalFrameDefault+28569>, 
          0x7f4e2b5b443e <_PyEval_EvalFrameDefault+28446>, 0x7f4e2b5b4482 <_PyEval_EvalFrameDefault+28514>, 0x7f4e2b5b42da <_PyEval_EvalFrameDefault+28090>, 
          0x7f4e2b5b4316 <_PyEval_EvalFrameDefault+28150>, 0x7f4e2b5b4356 <_PyEval_EvalFrameDefault+28214>, 0x7f4e2b5b43b0 <_PyEval_EvalFrameDefault+28304>, 
          0x7f4e2b5b19e2 <_PyEval_EvalFrameDefault+17602>, 0x7f4e2b5b4de7 <_PyEval_EvalFrameDefault+30919>, 0x7f4e2b5b4534 <_PyEval_EvalFrameDefault+28692>, 
          0x7f4e2b5b45ab <_PyEval_EvalFrameDefault+28811>, 0x7f4e2b5b357a <_PyEval_EvalFrameDefault+24666>, 0x7f4e2b5b52fb <_PyEval_EvalFrameDefault+32219>, 
          0x7f4e2b5b49da <_PyEval_EvalFrameDefault+29882>, 0x7f4e2b5b4fe1 <_PyEval_EvalFrameDefault+31425>, 0x7f4e2b5b5032 <_PyEval_EvalFrameDefault+31506>, 
          0x7f4e2b5b4e74 <_PyEval_EvalFrameDefault+31060>, 0x7f4e2b5b4ef6 <_PyEval_EvalFrameDefault+31190>, 0x7f4e2b5b319c <_PyEval_EvalFrameDefault+23676>, 
          0x7f4e2b5b5574 <_PyEval_EvalFrameDefault+32852>, 0x7f4e2b5b5185 <_PyEval_EvalFrameDefault+31845>, 0x7f4e2b5b17c7 <_PyEval_EvalFrameDefault+17063>, 
          0x7f4e2b5b5a58 <_PyEval_EvalFrameDefault+34104>, 0x7f4e2b5b5341 <_PyEval_EvalFrameDefault+32289>, 0x7f4e2b5b538e <_PyEval_EvalFrameDefault+32366>, 
          0x7f4e2b5b46f5 <_PyEval_EvalFrameDefault+29141>, 0x7f4e2b5b594d <_PyEval_EvalFrameDefault+33837>, 0x7f4e2b5b5989 <_PyEval_EvalFrameDefault+33897>, 
          0x7f4e2b5b5760 <_PyEval_EvalFrameDefault+33344>, 0x7f4e2b5b57cc <_PyEval_EvalFrameDefault+33452>, 0x7f4e2b5b585b <_PyEval_EvalFrameDefault+33595>, 
          0x7f4e2b5b58c7 <_PyEval_EvalFrameDefault+33703>, 0x7f4e2b5b4b01 <_PyEval_EvalFrameDefault+30177>, 0x7f4e2b5b5624 <_PyEval_EvalFrameDefault+33028>, 
          0x7f4e2b5b0706 <_PyEval_EvalFrameDefault+12774>, 0x7f4e2b5b0c32 <_PyEval_EvalFrameDefault+14098>, 0x7f4e2b5b4ac8 <_PyEval_EvalFrameDefault+30120> <repeats 30 times>, 
          0x7f4e2b5b514c <_PyEval_EvalFrameDefault+31788>, 0x7f4e2b5b2a54 <_PyEval_EvalFrameDefault+21812>, 0x7f4e2b5b2adc <_PyEval_EvalFrameDefault+21948>, 
          0x7f4e2b5b2bb7 <_PyEval_EvalFrameDefault+22167>, 0x7f4e2b5b2d4a <_PyEval_EvalFrameDefault+22570>, 0x7f4e2b5b2dd2 <_PyEval_EvalFrameDefault+22706>, 
          0x7f4e2b5b2ead <_PyEval_EvalFrameDefault+22925>, 0x7f4e2b5b2f35 <_PyEval_EvalFrameDefault+23061>, 0x7f4e2b5b2835 <_PyEval_EvalFrameDefault+21269>, 
          0x7f4e2b5b2381 <_PyEval_EvalFrameDefault+20065>, 0x7f4e2b5b254e <_PyEval_EvalFrameDefault+20526>, 0x7f4e2b5b25cc <_PyEval_EvalFrameDefault+20652>, 
          0x7f4e2b5b26b8 <_PyEval_EvalFrameDefault+20888>, 0x7f4e2b5b1660 <_PyEval_EvalFrameDefault+16704>, 0x7f4e2b5b16a2 <_PyEval_EvalFrameDefault+16770>, 
          0x7f4e2b5b3010 <_PyEval_EvalFrameDefault+23280>, 0x7f4e2b5b07bc <_PyEval_EvalFrameDefault+12956>, 0x7f4e2b5b08ef <_PyEval_EvalFrameDefault+13263>, 
          0x7f4e2b5b0a08 <_PyEval_EvalFrameDefault+13544>, 0x7f4e2b5b1c55 <_PyEval_EvalFrameDefault+18229>, 0x7f4e2b5b0da7 <_PyEval_EvalFrameDefault+14471>, 
          0x7f4e2b5b140f <_PyEval_EvalFrameDefault+16111>, 0x7f4e2b5b1501 <_PyEval_EvalFrameDefault+16353>, 0x7f4e2b5b153c <_PyEval_EvalFrameDefault+16412>, 
          0x7f4e2b5afecb <_PyEval_EvalFrameDefault+10667>, 0x7f4e2b5b3340 <_PyEval_EvalFrameDefault+24096>, 0x7f4e2b5b31f2 <_PyEval_EvalFrameDefault+23762>, 
          0x7f4e2b5b3c8b <_PyEval_EvalFrameDefault+26475>, 0x7f4e2b5b0fd6 <_PyEval_EvalFrameDefault+15030>, 0x7f4e2b5afc04 <_PyEval_EvalFrameDefault+9956>, 
          0x7f4e2b5b1006 <_PyEval_EvalFrameDefault+15078>, 0x7f4e2b5b1b48 <_PyEval_EvalFrameDefault+17960>, 0x7f4e2b5afb8e <_PyEval_EvalFrameDefault+9838>, 
          0x7f4e2b5b37dc <_PyEval_EvalFrameDefault+25276>, 0x7f4e2b5b30cf <_PyEval_EvalFrameDefault+23471>, 0x7f4e2b5b3902 <_PyEval_EvalFrameDefault+25570>, 
          0x7f4e2b5af9f2 <_PyEval_EvalFrameDefault+9426>, 0x7f4e2b5b1d70 <_PyEval_EvalFrameDefault+18512>, 0x7f4e2b5aea0d <_PyEval_EvalFrameDefault+5357>, 
          0x7f4e2b5ae530 <_PyEval_EvalFrameDefault+4112>, 0x7f4e2b5ae5da <_PyEval_EvalFrameDefault+4282>, 0x7f4e2b5ae6b2 <_PyEval_EvalFrameDefault+4498>, 
          0x7f4e2b5afd6b <_PyEval_EvalFrameDefault+10315>, 0x7f4e2b5afe01 <_PyEval_EvalFrameDefault+10465>, 0x7f4e2b5af5c4 <_PyEval_EvalFrameDefault+8356>, 
          0x7f4e2b5af7b5 <_PyEval_EvalFrameDefault+8853>, 0x7f4e2b5b1a6b <_PyEval_EvalFrameDefault+17739>, 0x7f4e2b5b1aca <_PyEval_EvalFrameDefault+17834>, 
          0x7f4e2b5b414d <_PyEval_EvalFrameDefault+27693>, 0x7f4e2b5b4209 <_PyEval_EvalFrameDefault+27881>, 0x7f4e2b5b3e67 <_PyEval_EvalFrameDefault+26951>, 
          0x7f4e2b5b3eef <_PyEval_EvalFrameDefault+27087>, 0x7f4e2b5b3fc0 <_PyEval_EvalFrameDefault+27296>, 0x7f4e2b5b4056 <_PyEval_EvalFrameDefault+27446>, 
          0x7f4e2b5b4c54 <_PyEval_EvalFrameDefault+30516>, 0x7f4e2b5b4d50 <_PyEval_EvalFrameDefault+30768>, 0x7f4e2b5b45bc <_PyEval_EvalFrameDefault+28828>, 
          0x7f4e2b5b3460 <_PyEval_EvalFrameDefault+24384>, 0x7f4e2b5b5117 <_PyEval_EvalFrameDefault+31735>, 0x7f4e2b5b5abb <_PyEval_EvalFrameDefault+34203>, 
          0x7f4e2b5b53f1 <_PyEval_EvalFrameDefault+32465>, 0x7f4e2b5b466f <_PyEval_EvalFrameDefault+29007>, 0x7f4e2b5b4893 <_PyEval_EvalFrameDefault+29555>, 
          0x7f4e2b5b4bde <_PyEval_EvalFrameDefault+30398>, 0x7f4e2b5b5499 <_PyEval_EvalFrameDefault+32633>, 0x7f4e2b5b4b4a <_PyEval_EvalFrameDefault+30250>, 
          0x7f4e2b5b4ba9 <_PyEval_EvalFrameDefault+30345>, 0x7f4e2b5b3aa8 <_PyEval_EvalFrameDefault+25992>, 0x7f4e2b5b3c2b <_PyEval_EvalFrameDefault+26379>, 
          0x7f4e2b5b5552 <_PyEval_EvalFrameDefault+32818>, 0x7f4e2b5b56f5 <_PyEval_EvalFrameDefault+33237>...}
        word = <optimized out>
        word = <optimized out>
#13 0x00007f4e2b5baf0d in PyEval_EvalCode (co=0x7f4e2a96d1b0, globals=<optimized out>, locals=0x7f4e2a938940) at Python/ceval.c:601
        tstate = 0x7f4e2b81ae70 <_PyRuntime+283024>
        builtins = <optimized out>
        desc = {fc_globals = 0x7f4e2a938940, fc_builtins = 0x7f4e2b1a9d80, fc_name = 0x7f4e2b7de4b8 <_PyRuntime+34776>, fc_qualname = 0x7f4e2b7de4b8 <_PyRuntime+34776>, 
          fc_code = 0x7f4e2a96d1b0, fc_defaults = 0x0, fc_kwdefaults = 0x0, fc_closure = 0x0}
        func = 0x7f4e2b1d14e0
        res = <optimized out>
#14 0x00007f4e2b5c1b06 in run_eval_code_obj (tstate=0x7f4e2b81ae70 <_PyRuntime+283024>, co=0x7f4e2a96d1b0, globals=0x7f4e2a938940, locals=0x7f4e2a938940) at Python/pythonrun.c:1337
        v = <optimized out>
        has_builtins = <optimized out>
#15 run_eval_code_obj (tstate=tstate@entry=0x7f4e2b81ae70 <_PyRuntime+283024>, co=co@entry=0x7f4e2a96d1b0, globals=globals@entry=0x7f4e2a938940, locals=locals@entry=0x7f4e2a938940)
    at Python/pythonrun.c:1304
        v = <optimized out>
        has_builtins = <optimized out>
#16 0x00007f4e2b5c1d28 in run_mod (mod=<optimized out>, filename=filename@entry=0x7f4e2b1f1fb0, globals=globals@entry=0x7f4e2a938940, locals=locals@entry=0x7f4e2a938940, 
    flags=flags@entry=0x7fff0fdec398, arena=arena@entry=0x7f4e2b11bcf0, interactive_src=0x0, generate_new_source=0) at Python/pythonrun.c:1422
        tstate = 0x7f4e2b81ae70 <_PyRuntime+283024>
        interactive_filename = <optimized out>
        co = 0x7f4e2a96d1b0
        v = <optimized out>
#17 0x00007f4e2b5c4004 in pyrun_file (fp=0x1949f440, filename=0x7f4e2b1f1fb0, start=257, globals=0x7f4e2a938940, locals=0x7f4e2a938940, closeit=1, flags=0x7fff0fdec398)
    at Python/pythonrun.c:1255
        arena = 0x7f4e2b11bcf0
        mod = <optimized out>
        ret = <optimized out>
        arena = <optimized out>
        mod = <optimized out>
        ret = <optimized out>
#18 _PyRun_SimpleFileObject (fp=fp@entry=0x1949f440, filename=filename@entry=0x7f4e2b1f1fb0, closeit=closeit@entry=1, flags=flags@entry=0x7fff0fdec398) at Python/pythonrun.c:490
        ret = <optimized out>
        main_module = 0x7f4e2a905f80
        dict = 0x7f4e2a938940
        set_file_name = <optimized out>
        has_file = <optimized out>
        done = <optimized out>
        pyc = <optimized out>
        v = <optimized out>
#19 0x00007f4e2b5c65a9 in _PyRun_AnyFileObject (fp=0x1949f440, filename=0x7f4e2b1f1fb0, closeit=1, flags=0x7fff0fdec398) at Python/pythonrun.c:77
        decref_filename = 0
        res = <optimized out>
        decref_filename = <optimized out>
        res = <optimized out>
#20 pymain_run_file_obj (program_name=0x7f4e2b149c30, filename=0x7f4e2b1f1fb0, skip_source_first_line=0) at Modules/main.c:409
        fp = 0x1949f440
        sb = {st_dev = 44, st_ino = 11056247, st_nlink = 1, st_mode = 33188, st_uid = 1000, st_gid = 100, __pad0 = 0, st_rdev = 0, st_size = 1613, st_blksize = 4096, st_blocks = 8, 
          st_atim = {tv_sec = 1739141364, tv_nsec = 95253279}, st_mtim = {tv_sec = 1739141334, tv_nsec = 499999669}, st_ctim = {tv_sec = 1739141334, tv_nsec = 499999669}, 
          __glibc_reserved = {0, 0, 0}}
        cf = {cf_flags = 0, cf_feature_version = 13}
        run = <optimized out>
        fp = <optimized out>
        sb = <optimized out>
        cf = <optimized out>
        run = <optimized out>
        ch = <optimized out>
#21 pymain_run_file (config=0x7f4e2b7ed568 <_PyRuntime+96392>) at Modules/main.c:428
        filename = 0x7f4e2b1f1fb0
        program_name = 0x7f4e2b149c30
        res = <optimized out>
        filename = <optimized out>
        program_name = <optimized out>
        res = <optimized out>
#22 pymain_run_python (exitcode=0x7fff0fdec38c) at Modules/main.c:696
        main_importer_path = <optimized out>
        interp = 0x7f4e2b7eb630 <_PyRuntime+88400>
        config = 0x7f4e2b7ed568 <_PyRuntime+96392>
        path0 = 0x7f4e2b1f8d20
        main_importer_path = <optimized out>
        interp = <optimized out>
        config = <optimized out>
        error = <optimized out>
        path0 = <optimized out>
        done = <optimized out>
        res = <optimized out>
        _tmp_op_ptr = <optimized out>
        _tmp_old_op = <optimized out>
        wstr = <optimized out>
        res = <optimized out>
#23 Py_RunMain () at Modules/main.c:775
        exitcode = 0
#24 0x00007f4e2ae2a1fc in __libc_start_call_main (main=main@entry=0x401040 <main>, argc=argc@entry=2, argv=argv@entry=0x7fff0fdec5a8) at ../sysdeps/nptl/libc_start_call_main.h:58
        self = <optimized out>
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140733459645864, 1854606859623690877, 0, 140733459645888, 139973716512768, 4210040, -1854642326750924163, -1792231605973323139}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7fff0fdec5a8, 0x2}, data = {prev = 0x0, cleanup = 0x0, canceltype = 266257832}}}
        not_first_call = <optimized out>
#25 0x00007f4e2ae2a2b9 in __libc_start_main_impl (main=0x401040 <main>, argc=2, argv=0x7fff0fdec5a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
    stack_end=0x7fff0fdec598) at ../csu/libc-start.c:360
No locals.
#26 0x0000000000401075 in _start ()
22:51:06
@hexa:lossy.network@hexa:lossy.network
import functools
import numpy as np
import io
import av

@functools.lru_cache(maxsize=1024)
def frame_image_data(frame_i, total_frames):
    """Generate image content for a frame of a video."""
    img = np.empty((480, 320, 3))
    img[:, :, 0] = 0.5 + 0.5 * np.sin(2 * np.pi * (0 / 3 + frame_i / total_frames))
    img[:, :, 1] = 0.5 + 0.5 * np.sin(2 * np.pi * (1 / 3 + frame_i / total_frames))
    img[:, :, 2] = 0.5 + 0.5 * np.sin(2 * np.pi * (2 / 3 + frame_i / total_frames))

    img = np.round(255 * img).astype(np.uint8)
    return np.clip(img, 0, 255)


def generate_video(encoder, container_format, duration):
    """Generate a test video.

    See: http://docs.mikeboers.com/pyav/develop/cookbook/numpy.html
    """

    fps = 24
    total_frames = duration * fps

    output = io.BytesIO()
    output.name = "test.mov" if container_format == "mov" else "test.mp4"
    container = av.open(output, mode="w", format=container_format)

    stream = container.add_stream(encoder, rate=fps)
    stream.width = 480
    stream.height = 320
    stream.pix_fmt = "yuv420p"
    stream.options.update({"g": str(fps), "keyint_min": str(fps)})

    for frame_i in range(total_frames):
        img = frame_image_data(frame_i, total_frames)
        frame = av.VideoFrame.from_ndarray(img, format="rgb24")
        for packet in stream.encode(frame):
            container.mux(packet)

    # Flush stream
    for packet in stream.encode():
        container.mux(packet)

    # Close the file
    container.close()
    output.seek(0)

    return output

if __name__ == "__main__":
    generate_video("libx265", "mp4", 5)
22:51:19
@hexa:lossy.network@hexa:lossy.network the crash happens in one stream.encode() 22:59:10
@hexa:lossy.network@hexa:lossy.network * the crash happens in one stream.encode() L40 22:59:18
@hexa:lossy.network@hexa:lossy.network * the crash happens in stream.encode() L40 22:59:27
@hexa:lossy.network@hexa:lossy.network
#0  0x00007f66f2aa7a7e in free () from /nix/store/81mi7m3k3wsiz9rrrg636sx21psj20hc-glibc-2.40-66/lib/libc.so.6
No symbol table info available.
#1  0x00007f668dfa4713 in libx265_encode_frame () from /nix/store/f43hhzc99v3m1cad94mqfd3wj4vspv25-ffmpeg-headless-7.1-lib/lib/libavcodec.so.61
No symbol table info available.
#2  0x00007f668dd26ff6 in ff_encode_encode_cb () from /nix/store/f43hhzc99v3m1cad94mqfd3wj4vspv25-ffmpeg-headless-7.1-lib/lib/libavcodec.so.61
No symbol table info available.
#3  0x00007f668dd2736e in encode_receive_packet_internal () from /nix/store/f43hhzc99v3m1cad94mqfd3wj4vspv25-ffmpeg-headless-7.1-lib/lib/libavcodec.so.61
No symbol table info available.
#4  0x00007f668dd27607 in avcodec_send_frame () from /nix/store/f43hhzc99v3m1cad94mqfd3wj4vspv25-ffmpeg-headless-7.1-lib/lib/libavcodec.so.61
No symbol table info available.
#5  0x00007f6686dc7c0e in __pyx_gb_2av_5codec_7context_12CodecContext_24generator ()
   from /nix/store/2jcw9fqbl8k372rswf6cvwfyj275wiw6-python3-3.12.8-env/lib/python3.12/site-packages/av/codec/context.cpython-312-x86_64-linux-gnu.so
No symbol table info available.
23:40:43
@hexa:lossy.network@hexa:lossy.networkcleaned up a bit23:40:47

Show newer messages


Back to Room ListRoom Version: 6