Opened 8 years ago

Closed 8 years ago

#1160 closed defect (worksforme)

Seg Fault with RExt-4.0 (same issue was with rc1/rc2 but did not get chance to submit)

Reported by: bmandel Owned by:
Priority: minor Milestone: HM+RExt-4.1
Component: HM RExt Version: RExt-4.0 (HM-12.0)
Keywords: segfault Cc: davidf, karlsharman, jct-vc@…

Description

I thought this might have been library issue on my machine but it appears could be related to the tool. I cannot run inter-frame compression using the default 'random/rext' cfg more than 8 frames. Seg fault occurs after the first frame finishes printing it's log line to the screen. Are there other potential cfg or compile directives to try first as this is little info to go on?

I did set and compile with makefile set to M32?= 1

Result is same if RExtCOLOUR_SPACE_CONVERSIONS compiled to 0 or 1.

$ uname -a
Linux 0xFFFB 3.2.45-smp #2 SMP Fri May 31 16:57:40 CDT 2013 i686 Intel(R) Core(TM) i5 CPU M 480 @ 2.67GHz GenuineIntel GNU/Linux (slackware 14.0 32bit)

(gdb) run
Starting program: /home/<dir>/HEVC/HM_HEVC/HM-12.0+RExt-4.0/bin/TAppEncoderStaticd -c ../../cfg/12bit_rext.cfg -i /home/qbit/Documents/HEVC/tiff2ydzdx/10k4k/YDzDx10k4k.yuv -wdt 3840 -hgt 2160 -fr 24 -f 9 --InputBitDepth=12 -vui 0
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

HM software: Encoder Version [12.0_RExt4.0][Linux][GCC 4.7.1][32 bit] 

******************************************************************
** WARNING: --SEIDecodedPictureHash is now disabled by default. **
**          Automatic verification of decoded pictures by a     **
**          decoder requires this option to be enabled.         **
******************************************************************
***************************************************************************
** WARNING: For conforming bitstreams a valid Level value must be set!   **
***************************************************************************

Input          File             : /home/qbit/Documents/HEVC/tiff2ydzdx/10k4k/YDzDx10k4k.yuv
Bitstream      File             : str.bin
Reconstruction File             : rec.yuv
Real     Format                 : 3840x2160 24Hz
Internal Format                 : 3840x2160 24Hz
Sequence PSNR output            : Linear average only
Frame/Field                     : Frame based coding
Frame index                     : 0 - 8 (9 frames)
Profile                         : main-RExt
CU size / depth                 : 64 / 4
RQT trans. size (min / max)     : 4 / 32
Max RQT depth inter             : 3
Max RQT depth intra             : 3
Min PCM size                    : 8
Motion search range             : 64
Intra period                    : 32
Decoding refresh type           : 1
QP                              :  1.00
Max dQP signaling depth         : 0
Cb QP Offset                    : 0
Cr QP Offset                    : 0
QP adaptation                   : 0 (range=0)
GOP size                        : 8
Internal bit depth              : (Y:12, C:12)
PCM sample bit depth            : (Y:12, C:12)
Extended precision processing   : Enabled
Intra reference smoothing       : Enabled
Intra residual DPCM             : Enabled
Inter residual DPCM             : Enabled
Intra Block Copying             : Enabled
Residual rotation               : Enabled
Single significance map context : Enabled
Cost function:                  : Lossy coding (default)
RateControl                     : 0
Max Num Merge Candidates        : 5

TOOL CFG: IBD:0 HAD:1 SRD:1 RDQ:1 RDQTS:1 RDpenalty:0 SQP:0 ASR:0 FEN:1 ECU:0 FDM:1 CFM:0 ESD:0 RQT:1 TransformSkip:1 TransformSkipFast:1 TransformSkipLog2MaxSize:2 Slice: M=0 SliceSegment: M=0 CIP:0 SAO:1 PCM:0 SAOLcuBasedOptimization:1 TransQuantBypassEnabled:0 WPP:0 WPB:0 PME:2  WaveFrontSynchro:0 WaveFrontSubstreams:1 ScalingList:0 TMVPMode:1 AQpS:0 SignBitHidingFlag:1 RecalQP:0

RExt Non-environment-variable-controlled macros set as follows: 

                               RExt__COLOUR_SPACE_CONVERSIONS =   0
                            RExt__SQUARE_TRANSFORM_CHROMA_422 =   1
            RExt__INCREASE_NUMBER_OF_SCALING_LISTS_FOR_CHROMA =   0
                           RExt__DECODER_DEBUG_BIT_STATISTICS =   0
         RExt__LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_EVALUATION =   1
                                 RExt__HIGH_BIT_DEPTH_SUPPORT =   1
             RExt__INDEPENDENT_FORWARD_AND_INVERSE_TRANSFORMS =   1
                       RExt__HIGH_PRECISION_FORWARD_TRANSFORM =   0
                                   RExt__M0042_NO_DISPLAY_SEI =   1
                                    RExt__NRCE2_RESIDUAL_DPCM =   1
                                RExt__NRCE2_RESIDUAL_ROTATION =   1
                  RExt__NRCE2_SINGLE_SIGNIFICANCE_MAP_CONTEXT =   1
          RExt__N0080_INTRA_REFERENCE_SMOOTHING_DISABLED_FLAG =   1
                 RExt__N0141_USE_1_TO_1_422_CHROMA_QP_MAPPING =   1
                    RExt__N0188_EXTENDED_PRECISION_PROCESSING =   1
               RExt__N0192_DERIVED_CHROMA_32x32_SCALING_LISTS =   1
                                 RExt__N0256_INTRA_BLOCK_COPY =   1
                    RExt__N0275_TRANSFORM_SKIP_SHIFT_CLIPPING =   1
              RExt__N0288_SPECIFY_TRANSFORM_SKIP_MAXIMUM_SIZE =   1
                      RExt__MEETINGNOTES_UNLIMITED_SIZE_LEVEL =   1

                   Input ChromaFormatIDC =   4:2:0
       Output (internal) ChromaFormatIDC =   4:2:0

POC    0 TId: 0 ( I-SLICE, nQP 1 QP 1 )   50888424 bits [Y 63.2402 dB    U 62.5175 dB    V 62.5641 dB] [ET  1076 ] [L0 ] [L1 ]

Program received signal SIGSEGV, Segmentation fault.
0xb7d5d21f in memcpy () from /lib/libc.so.6
(gdb) bt
#0  0xb7d5d21f in memcpy () from /lib/libc.so.6
#1  0x080d7122 in TComPicYuv::copyToPic (this=0x8265688, pcPicYuvDst=0x1bc6fa8)
    at /home/qbit/Documents/HEVC/HM_HEVC/HM-12.0+RExt-4.0/build/linux/lib/TLibCommon/../../../../source/Lib/TLibCommon/TComPicYuv.cpp:167
#2  0x08092f97 in TEncTop::encode (this=0xbfff2a8c, flush=true, pcPicYuvOrg=0x8265688, 
    rcListPicYuvRecOut=..., accessUnitsOut=..., iNumEncoded=@0xbffee7ec: 0)
    at /home/qbit/Documents/HEVC/HM_HEVC/HM-12.0+RExt-4.0/build/linux/lib/TLibEncoder/../../../../source/Lib/TLibEncoder/TEncTop.cpp:369
#3  0x08067a9a in TAppEncTop::encode (this=0xbffee850)
    at /home/qbit/Documents/HEVC/HM_HEVC/HM-12.0+RExt-4.0/build/linux/app/TAppEncoder/../../../../source/App/TAppEncoder/TAppEncTop.cpp:507
#4  0x0804dc93 in main (argc=16, argv=0xbfffe9d4)
    at /home/qbit/Documents/HEVC/HM_HEVC/HM-12.0+RExt-4.0/build/linux/app/TAppEncoder/../../../../source/App/TAppEncoder/encmain.cpp:98
(gdb) 

Attachments (1)

12bit_rext.cfg (11.0 KB) - added by bmandel 8 years ago.
cfg file (99% same as default)

Download all attachments as: .zip

Change History (3)

comment:1 Changed 8 years ago by DefaultCC Plugin

  • Cc davidf karlsharman jct-vc@… added

Changed 8 years ago by bmandel

cfg file (99% same as default)

comment:2 Changed 8 years ago by davidf

  • Milestone changed from HM+RExt-4.0 to HM+RExt-4.1
  • Resolution set to worksforme
  • Status changed from new to closed
  • Version changed from RExt D4 (N1005) v3 to RExt-4.0 (HM-12.0)

As far as i can tell, you've run out of memory while encoding a 4K picture with picture reordering reordering and high bitdepth support enabled (this doubles the storage requirement and only needs to be enabled for bitdepths greater than 12bit).

I expect that you are falling foul of an unchecked malloc.

Please re-open if you can reproduce using a smaller picture size.

BTW, there should be no need to disable the RExt__COLOUR_SPACE_CONVERSIONS macro, it isn't as severe as it sounds (it permits optional reordering of components for RGB input data, it doesn't actually perform any colour space conversion).

BTW2, there is no need to set M32=1 on a 32bit system.

Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber, Participant

  • Bill Mandel(Reporter)
  • David Flynn(Subscriber, Participant)
  • jct-vc@…(Subscriber)
  • Karl Sharman(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Always)