x265 segfault in x265_weight_sp_avx2.loopW / x265::Predict::addWeightUni

Issue #543 new
Mikolaj created an issue
I'm getting segmentation fault in x265 binary or in ffmpeg when
utilizing libx265, every time I run it. Steps to repro are as follows:

1. Download some input file, for example I'm using Big Buck Bunny
wget http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4

2. Use x265 binary:
ffmpeg -i BigBuckBunny.mp4 -loglevel warning -sn -an -f yuv4mpegpipe -pix_fmt yuv420p \
- | \  x265 --y4m --preset veryslow --output movie.265 --input -

3. Alternatively use ffmpeg binary:
ffmpeg -y -i BigBuckBunny.mp4 -sn -an -c:v libx265 -crf 10 -preset veryslow movie.mkv

Both commands end up with SIGSEGV in few seconds.

Comments (6)

  1. Mikolaj reporter

    $ egdb x265 x265.core
    GNU gdb (GDB) 7.12.1
    Copyright (C) 2017 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law. Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "x86_64-unknown-openbsd6.7".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/.>
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/.>
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from x265...Reading symbols from /usr/local/bin/.debug/x265.dbg...done.
    done.
    [New process 514759]
    [New process 494901]
    [New process 307758]
    [New process 304166]
    [New process 410604]
    [New process 455018]
    [New process 394730]
    [New process 111561]
    Core was generated by `x265'.
    Program terminated with signal SIGSEGV, Segmentation fault.
    #0 0x00000d3a9b0cd468 in x265_weight_sp_avx2.loopW () from /usr/local/lib/libx265.so.21.0
    [Current thread is 1 (process 514759)]
    (gdb) symbol-file /usr/local/lib/.debug/libx265.so.21.0.dbg
    Load new symbol table from "/usr/local/lib/.debug/libx265.so.21.0.dbg"? (y or n) y
    Reading symbols from /usr/local/lib/.debug/libx265.so.21.0.dbg...done.
    (gdb) set pagination off
    (gdb) bt
    #0 0x00000d3a9b0cd468 in x265_weight_sp_avx2.loopW () from /usr/local/lib/libx265.so.21.0
    #1 0x00000d3a9b4eb6e8 in x265::Predict::addWeightUni (this=<optimized out>, pu=..., predYuv=..., srcYuv=..., wp=0xd3ae77eb570, bLuma=<optimized out>, bChroma=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/predict.cpp:575
    #2 0x00000d3a9b4eab5c in x265::Predict::motionCompensation (this=0xd3a82ab9ec8, cu=..., pu=..., predYuv=..., bLuma=<optimized out>, bChroma=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/predict.cpp:205
    #3 0x00000d3a9b00a879 in x265::Search::predInterSearch (this=<optimized out>, interMode=..., cuGeom=..., bChromaMC=<optimized out>, refMasks=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:2644
    #4 0x00000d3a9affadc6 in x265::Analysis::checkInter_rd5_6 (this=0xd3a82ab9ec8, interMode=..., cuGeom=..., partSize=<optimized out>, refMask=0xd3ae77eba00) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:3115
    #5 0x00000d3a9aff6fe1 in x265::Analysis::compressInterCU_rd5_6 (this=<optimized out>, parentCTU=..., cuGeom=..., qp=31) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:2262
    #6 0x00000d3a9afee31b in x265::Analysis::compressCTU (this=<optimized out>, ctu=..., frame=..., cuGeom=..., initialContext=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:307
    #7 0x00000d3a9b02d9e6 in x265::FrameEncoder::processRowEncoder (this=0xd3b1861e000, intRow=4, tld=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:1507
    #8 0x00000d3a9b02cec3 in x265::FrameEncoder::processRow (this=0xd3b1861e000, row=<optimized out>, threadId=3) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:1311
    #9 0x00000d3a9b4cb85e in x265::WaveFront::findJob (this=0xd3b1861e000, threadId=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/wavefront.cpp:106
    #10 0x00000d3a9b4ca480 in x265::WorkerThread::threadMain (this=0xd3a746f46d8) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threadpool.cpp:146
    #11 0x00000d3a9b4ca285 in x265::stackAlignMain (instance=0xd3a3ab57ff0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:91
    #12 x265::ThreadShim (opaque=0xd3a3ab57ff0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:131
    #13 0x00000d3aa7162cb1 in _rthread_start (v=<optimized out>) at /usr/src/lib/librthread/rthread.c:96
    #14 0x00000d3a3f28e998 in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:77
    #15 0x0000000000000000 in ?? ()
    (gdb) thread apply all bt

    Thread 8 (process 111561):
    #0 futex () at -:3
    #1 0x00000d3a3f29a575 in _twait (p=<optimized out>, val=3, clockid=0, abs=<optimized out>) at /usr/src/lib/libc/thread/synch.h:34
    #2 _rthread_cond_timedwait (cond=0xd3aadaa1310, mutexp=0xd3b1861e090, abs=0xd3adc49c6d0) at /usr/src/lib/libc/thread/rthread_cond.c:106
    #3 0x00000d3a9b02b808 in x265::Event::timedWait (this=<optimized out>, waitms=250) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.h:336
    #4 x265::FrameEncoder::compressFrame (this=0xd3b1861e000) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:869
    #5 0x00000d3a9b028808 in x265::FrameEncoder::threadMain (this=0xd3b1861e000) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:343
    #6 0x00000d3a9b02bac2 in non-virtual thunk to x265::FrameEncoder::threadMain() () from /usr/local/lib/libx265.so.21.0
    #7 0x00000d3a9b4ca285 in x265::stackAlignMain (instance=0xd3aadaa1310) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:91
    #8 x265::ThreadShim (opaque=0xd3aadaa1310) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:131
    #9 0x00000d3aa7162cb1 in _rthread_start (v=<optimized out>) at /usr/src/lib/librthread/rthread.c:96
    #10 0x00000d3a3f28e998 in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:77
    #11 0x0000000000000000 in ?? ()

    Thread 7 (process 394730):
    #0 futex () at -:3
    #1 0x00000d3a3f29a575 in _twait (p=<optimized out>, val=4, clockid=0, abs=<optimized out>) at /usr/src/lib/libc/thread/synch.h:34
    #2 _rthread_cond_timedwait (cond=0xd3a5eb209e0, mutexp=0xd3af6f72090, abs=0xd3b1620af00) at /usr/src/lib/libc/thread/rthread_cond.c:106
    #3 0x00000d3a9b02b808 in x265::Event::timedWait (this=<optimized out>, waitms=250) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.h:336
    #4 x265::FrameEncoder::compressFrame (this=0xd3af6f72000) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:869
    #5 0x00000d3a9b028808 in x265::FrameEncoder::threadMain (this=0xd3af6f72000) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:343
    #6 0x00000d3a9b02bac2 in non-virtual thunk to x265::FrameEncoder::threadMain() () from /usr/local/lib/libx265.so.21.0
    #7 0x00000d3a9b4ca285 in x265::stackAlignMain (instance=0xd3a5eb209e0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:91
    #8 x265::ThreadShim (opaque=0xd3a5eb209e0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:131
    #9 0x00000d3aa7162cb1 in _rthread_start (v=<optimized out>) at /usr/src/lib/librthread/rthread.c:96
    #10 0x00000d3a3f28e998 in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:77
    #11 0x0000000000000000 in ?? ()

    Thread 6 (process 455018):
    #0 0x00000d3a9b180813 in x265_intra_filter_8x8_sse4 () from /usr/local/lib/libx265.so.21.0
    #1 0x00000d3a9b4ec82f in x265::Predict::initAdiPattern (this=0xd3a82a27488, cu=..., cuGeom=..., puAbsPartIdx=<optimized out>, intraNeighbors=..., dirMode=0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/predict.cpp:648
    #2 0x00000d3a9affec9e in x265::Search::codeIntraLumaQT (this=<optimized out>, mode=..., cuGeom=..., tuDepth=2, absPartIdx=60, bAllowSplit=<optimized out>, outCost=..., depthRange=0xd3af44128f8) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:343
    #3 0x00000d3a9afff5a1 in x265::Search::codeIntraLumaQT (this=<optimized out>, mode=..., cuGeom=..., tuDepth=<optimized out>, absPartIdx=<optimized out>, bAllowSplit=<optimized out>, outCost=..., depthRange=0xd3af44128f8) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:457
    #4 0x00000d3a9afff5a1 in x265::Search::codeIntraLumaQT (this=<optimized out>, mode=..., cuGeom=..., tuDepth=<optimized out>, absPartIdx=<optimized out>, bAllowSplit=<optimized out>, outCost=..., depthRange=0xd3af44128f8) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:457
    #5 0x00000d3a9b003d04 in x265::Search::estIntraPredQT (this=<optimized out>, intraMode=..., cuGeom=..., depthRange=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:1662
    #6 0x00000d3a9b002d9c in x265::Search::checkIntra (this=0xd3a82a27488, intraMode=..., cuGeom=..., partSize=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:1247
    #7 0x00000d3a9aff71ec in x265::Analysis::compressInterCU_rd5_6 (this=<optimized out>, parentCTU=..., cuGeom=..., qp=31) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:2284
    #8 0x00000d3a9aff6104 in x265::Analysis::compressInterCU_rd5_6 (this=<optimized out>, parentCTU=..., cuGeom=..., qp=31) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:2052
    #9 0x00000d3a9afee31b in x265::Analysis::compressCTU (this=<optimized out>, ctu=..., frame=..., cuGeom=..., initialContext=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:307
    #10 0x00000d3a9b02d9e6 in x265::FrameEncoder::processRowEncoder (this=0xd3b1861e000, intRow=3, tld=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:1507
    #11 0x00000d3a9b02cec3 in x265::FrameEncoder::processRow (this=0xd3b1861e000, row=<optimized out>, threadId=2) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:1311
    #12 0x00000d3a9b4cb85e in x265::WaveFront::findJob (this=0xd3b1861e000, threadId=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/wavefront.cpp:106
    #13 0x00000d3a9b4ca480 in x265::WorkerThread::threadMain (this=0xd3a746f4690) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threadpool.cpp:146
    #14 0x00000d3a9b4ca285 in x265::stackAlignMain (instance=0xd3a82a274e8) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:91
    #15 x265::ThreadShim (opaque=0xd3a82a274e8) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:131
    #16 0x00000d3aa7162cb1 in _rthread_start (v=<optimized out>) at /usr/src/lib/librthread/rthread.c:96
    #17 0x00000d3a3f28e998 in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:77
    #18 0x0000000000000000 in ?? ()

    Thread 5 (process 410604):
    #0 0x00000d3a9b00c7cc in x265::Search::estimateResidualQT (this=<optimized out>, mode=..., cuGeom=..., absPartIdx=<optimized out>, tuDepth=<optimized out>, resiYuv=..., outCosts=..., depthRange=0xd3ab51fbcb0, splitMore=0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:3853
    #1 0x00000d3a9b00fe99 in x265::Search::splitTU (this=<optimized out>, mode=..., cuGeom=..., absPartIdx=<optimized out>, tuDepth=<optimized out>, resiYuv=..., splitCost=..., depthRange=0xd3ab51fbcb0, splitMore=0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:3143
    #2 0x00000d3a9b00bff9 in x265::Search::estimateResidualQT (this=<optimized out>, mode=..., cuGeom=..., absPartIdx=<optimized out>, tuDepth=<optimized out>, resiYuv=..., outCosts=..., depthRange=0xd3ab51fbcb0, splitMore=0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:3776
    #3 0x00000d3a9b00fe99 in x265::Search::splitTU (this=<optimized out>, mode=..., cuGeom=..., absPartIdx=<optimized out>, tuDepth=<optimized out>, resiYuv=..., splitCost=..., depthRange=0xd3ab51fbcb0, splitMore=0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:3143
    #4 0x00000d3a9b00bff9 in x265::Search::estimateResidualQT (this=<optimized out>, mode=..., cuGeom=..., absPartIdx=<optimized out>, tuDepth=<optimized out>, resiYuv=..., outCosts=..., depthRange=0xd3ab51fbcb0, splitMore=-1) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:3776
    #5 0x00000d3a9b00af9f in x265::Search::encodeResAndCalcRdInterCU (this=0xd3a82994a48, interMode=..., cuGeom=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:2867
    #6 0x00000d3a9affbbbc in x265::Analysis::checkMerge2Nx2N_rd5_6 (this=0xd3a82994a48, skip=..., merge=..., cuGeom=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:2965
    #7 0x00000d3a9aff5d0e in x265::Analysis::compressInterCU_rd5_6 (this=<optimized out>, parentCTU=..., cuGeom=..., qp=31) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:2010
    #8 0x00000d3a9aff6104 in x265::Analysis::compressInterCU_rd5_6 (this=<optimized out>, parentCTU=..., cuGeom=..., qp=31) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:2052
    #9 0x00000d3a9afee31b in x265::Analysis::compressCTU (this=<optimized out>, ctu=..., frame=..., cuGeom=..., initialContext=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:307
    #10 0x00000d3a9b02d9e6 in x265::FrameEncoder::processRowEncoder (this=0xd3b1861e000, intRow=7, tld=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:1507
    #11 0x00000d3a9b02cec3 in x265::FrameEncoder::processRow (this=0xd3b1861e000, row=<optimized out>, threadId=1) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:1311
    #12 0x00000d3a9b4cb85e in x265::WaveFront::findJob (this=0xd3b1861e000, threadId=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/wavefront.cpp:106
    #13 0x00000d3a9b4ca480 in x265::WorkerThread::threadMain (this=0xd3a746f4648) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threadpool.cpp:146
    #14 0x00000d3a9b4ca285 in x265::stackAlignMain (instance=0xd3ac1e7f594) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:91
    #15 x265::ThreadShim (opaque=0xd3ac1e7f594) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:131
    #16 0x00000d3aa7162cb1 in _rthread_start (v=<optimized out>) at /usr/src/lib/librthread/rthread.c:96
    #17 0x00000d3a3f28e998 in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:77
    #18 0x0000000000000000 in ?? ()

    Thread 4 (process 304166):
    #0 0x00000d3a9b00cdc7 in x265::Search::estimateResidualQT (this=<optimized out>, mode=..., cuGeom=..., absPartIdx=<optimized out>, tuDepth=<optimized out>, resiYuv=..., outCosts=..., depthRange=0xd3aebfb54b0, splitMore=0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:3371
    #1 0x00000d3a9b00fe99 in x265::Search::splitTU (this=<optimized out>, mode=..., cuGeom=..., absPartIdx=<optimized out>, tuDepth=<optimized out>, resiYuv=..., splitCost=..., depthRange=0xd3aebfb54b0, splitMore=0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:3143
    #2 0x00000d3a9b00bff9 in x265::Search::estimateResidualQT (this=<optimized out>, mode=..., cuGeom=..., absPartIdx=<optimized out>, tuDepth=<optimized out>, resiYuv=..., outCosts=..., depthRange=0xd3aebfb54b0, splitMore=0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:3776
    #3 0x00000d3a9b00fe99 in x265::Search::splitTU (this=<optimized out>, mode=..., cuGeom=..., absPartIdx=<optimized out>, tuDepth=<optimized out>, resiYuv=..., splitCost=..., depthRange=0xd3aebfb54b0, splitMore=0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:3143
    #4 0x00000d3a9b00bff9 in x265::Search::estimateResidualQT (this=<optimized out>, mode=..., cuGeom=..., absPartIdx=<optimized out>, tuDepth=<optimized out>, resiYuv=..., outCosts=..., depthRange=0xd3aebfb54b0, splitMore=-1) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:3776
    #5 0x00000d3a9b00af9f in x265::Search::encodeResAndCalcRdInterCU (this=0xd3a82902008, interMode=..., cuGeom=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:2867
    #6 0x00000d3a9affbbbc in x265::Analysis::checkMerge2Nx2N_rd5_6 (this=0xd3a82902008, skip=..., merge=..., cuGeom=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:2965
    #7 0x00000d3a9aff5d0e in x265::Analysis::compressInterCU_rd5_6 (this=<optimized out>, parentCTU=..., cuGeom=..., qp=28) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:2010
    #8 0x00000d3a9aff6104 in x265::Analysis::compressInterCU_rd5_6 (this=<optimized out>, parentCTU=..., cuGeom=..., qp=28) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:2052
    #9 0x00000d3a9aff6104 in x265::Analysis::compressInterCU_rd5_6 (this=<optimized out>, parentCTU=..., cuGeom=..., qp=28) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:2052
    #10 0x00000d3a9afee31b in x265::Analysis::compressCTU (this=<optimized out>, ctu=..., frame=..., cuGeom=..., initialContext=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:307
    #11 0x00000d3a9b02d9e6 in x265::FrameEncoder::processRowEncoder (this=0xd3af6f72000, intRow=0, tld=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:1507
    #12 0x00000d3a9b02cec3 in x265::FrameEncoder::processRow (this=0xd3af6f72000, row=<optimized out>, threadId=0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:1311
    #13 0x00000d3a9b4cb85e in x265::WaveFront::findJob (this=0xd3af6f72000, threadId=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/wavefront.cpp:106
    #14 0x00000d3a9b4ca480 in x265::WorkerThread::threadMain (this=0xd3a746f4600) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threadpool.cpp:146
    #15 0x00000d3a9b4ca285 in x265::stackAlignMain (instance=0xd3a6f16e648) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:91
    #16 x265::ThreadShim (opaque=0xd3a6f16e648) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:131
    #17 0x00000d3aa7162cb1 in _rthread_start (v=<optimized out>) at /usr/src/lib/librthread/rthread.c:96
    #18 0x00000d3a3f28e998 in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:77
    #19 0x0000000000000000 in ?? ()

    Thread 3 (process 307758):
    #0 futex () at -:3
    #1 0x00000d3a3f29a575 in _twait (p=<optimized out>, val=60, clockid=0, abs=<optimized out>) at /usr/src/lib/libc/thread/synch.h:34
    #2 _rthread_cond_timedwait (cond=0xd3a3b68f960, mutexp=0xd3b1c92a248, abs=0x0) at /usr/src/lib/libc/thread/rthread_cond.c:106
    #3 0x00000d382fa10193 in ?? ()
    #4 0x0a454d4152460000 in ?? ()
    #5 0x00000d3b1c92a260 in ?? ()
    #6 0x00000d3b1952c4a0 in ?? ()
    #7 0x00000d3a9b4ca260 in x265::Thread::start (this=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:145
    #8 0x0000000000000000 in ?? ()

    Thread 2 (process 494901):
    #0 futex () at -:3
    #1 0x00000d3a3f29a575 in _twait (p=<optimized out>, val=4, clockid=0, abs=<optimized out>) at /usr/src/lib/libc/thread/synch.h:34
    #2 _rthread_cond_timedwait (cond=0xd3a95379ab0, mutexp=0xd3b1861e078, abs=0x0) at /usr/src/lib/libc/thread/rthread_cond.c:106
    #3 0x00000d3a9b02f66b in x265::Event::wait (this=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.h:308
    #4 x265::FrameEncoder::getEncodedPicture (this=0xd3b1861e000, output=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:2147
    #5 0x00000d3a9b05bd02 in x265::Encoder::encode (this=<optimized out>, pic_in=<optimized out>, pic_out=0x0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/encoder.cpp:1957
    #6 0x00000d3a9b06a88e in x265_encoder_encode (enc=0xd3ac4fe4000, pp_nal=0x7f7ffffbd6e0, pi_nal=0x7f7ffffbd6c4, pic_in=0x7f7ffffc0de0, pic_out=0x0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/api.cpp:581
    #7 0x00000d382fa1812e in ?? ()
    #8 0x0000000000000000 in ?? ()

    Thread 1 (process 514759):
    #0 0x00000d3a9b0cd468 in x265_weight_sp_avx2.loopW () from /usr/local/lib/libx265.so.21.0
    #1 0x00000d3a9b4eb6e8 in x265::Predict::addWeightUni (this=<optimized out>, pu=..., predYuv=..., srcYuv=..., wp=0xd3ae77eb570, bLuma=<optimized out>, bChroma=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/predict.cpp:575
    #2 0x00000d3a9b4eab5c in x265::Predict::motionCompensation (this=0xd3a82ab9ec8, cu=..., pu=..., predYuv=..., bLuma=<optimized out>, bChroma=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/predict.cpp:205
    #3 0x00000d3a9b00a879 in x265::Search::predInterSearch (this=<optimized out>, interMode=..., cuGeom=..., bChromaMC=<optimized out>, refMasks=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/search.cpp:2644
    #4 0x00000d3a9affadc6 in x265::Analysis::checkInter_rd5_6 (this=0xd3a82ab9ec8, interMode=..., cuGeom=..., partSize=<optimized out>, refMask=0xd3ae77eba00) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:3115
    #5 0x00000d3a9aff6fe1 in x265::Analysis::compressInterCU_rd5_6 (this=<optimized out>, parentCTU=..., cuGeom=..., qp=31) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:2262
    #6 0x00000d3a9afee31b in x265::Analysis::compressCTU (this=<optimized out>, ctu=..., frame=..., cuGeom=..., initialContext=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/analysis.cpp:307
    #7 0x00000d3a9b02d9e6 in x265::FrameEncoder::processRowEncoder (this=0xd3b1861e000, intRow=4, tld=...) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:1507
    #8 0x00000d3a9b02cec3 in x265::FrameEncoder::processRow (this=0xd3b1861e000, row=<optimized out>, threadId=3) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/encoder/frameencoder.cpp:1311
    #9 0x00000d3a9b4cb85e in x265::WaveFront::findJob (this=0xd3b1861e000, threadId=<optimized out>) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/wavefront.cpp:106
    #10 0x00000d3a9b4ca480 in x265::WorkerThread::threadMain (this=0xd3a746f46d8) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threadpool.cpp:146
    #11 0x00000d3a9b4ca285 in x265::stackAlignMain (instance=0xd3a3ab57ff0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:91
    #12 x265::ThreadShim (opaque=0xd3a3ab57ff0) at /usr/local/obj-ports/x265-3.3/x265_3.3/source/common/threading.cpp:131
    #13 0x00000d3aa7162cb1 in _rthread_start (v=<optimized out>) at /usr/src/lib/librthread/rthread.c:96
    #14 0x00000d3a3f28e998 in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:77
    #15 0x0000000000000000 in ?? ()
    (gdb)

  2. Mikolaj reporter

    I can reproduce it on two different x86_64 / amd64 systems:

    cpu0 at mainbus0: apid 0 (boot processor)
    cpu0: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, 1796.36 MHz, 06-8e-0a
    cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
    cpu0: 256KB 64b/line 8-way L2 cache
    cpu0: smt 0, core 0, package 0
    

    or

    cpu0 at mainbus0: apid 0 (boot processor)
    cpu0: AMD GX-412TC SOC, 998.28 MHz, 16-30-01
    cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
    cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
    cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
    cpu0: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
    cpu0: smt 0, core 0, package 0
    

  3. M CHEN

    Thank you report bug.

    I try it on Linux and Mac OSX, it can’t reproduce.

    Does India team install an OpenBSD and try to reproduce the bug?

  4. Log in to comment