Crash when manually saving reviewed output

Where all the bugs are reported and discussed
Post Reply
shikigami
Posts: 3
Joined: Sat Jan 16, 2016 10:14 pm

Crash when manually saving reviewed output

Post by shikigami »

When reviewing a file and hitting W to save the output using the config below, comskip 089 crashes

Edit: It appears the issue is with output_edlx and output_edlp. When either one is enabled (set to 1) the gui crashes after pressing W when the file is being reviewed.
detect_method=45 ;1=black frame, 2=logo, 4=scene change, 8=fuzzy logic, 16=closed captions, 32=aspect ration, 64=silence, 128=cutscenes, 255=all
validate_silence=1 ; Default, set to 0 to force using this clues if selected above.
validate_uniform=1 ; Default, set to 0 to force using this clues (like pure white frames) if blackframe is selected above.
validate_scenechange=1 ; Default, set to 0 to force using this clues if selected above.
verbose=10 ;show a lot of extra info, level 5 is also OK, set to 0 to disable
max_brightness=60 ;frame not black if any pixels checked are greater than this (scale 0 to 255)
test_brightness=40 ;frame not pure black if any pixels checked are greater than this, will check average brightness (scale 0 to 255)
max_avg_brightness=25 ;maximum average brightness for a dim frame to be considered black (scale 0 to 255) 0 means autosetting
max_commercialbreak=600 ;maximum length in seconds to consider a segment a commercial break
min_commercialbreak=30 ;minimum length in seconds to consider a segment a commercial break
max_commercial_size=180 ;maximum time in seconds for a single commercial or multiple commercials if no breaks in between
min_commercial_size=25 ;mimimum time in seconds for a single commercial
min_show_segment_length=240 ; any segment longer than this will be scored towards show.
non_uniformity=500 ; Set to 0 to disable cutpoints based on uniform frames
max_volume=500 ; any frame with sound volume larger than this will not be regarded as black frame
min_silence=12 ; Any deep silence longer than this amount of frames is a possible cutpoint
ticker_tape=0 ; Amount of pixels from bottom to ignore in all processing
logo_at_bottom=0 ; Set to 1 to search only for logo at the lower half of the video, do not combine with subtitle setting
punish=0 ; Compare to average for sum of 1=brightness, 2=uniform 4=volume, 8=silence, 16=schange, set to 0 to disable
punish_threshold=1.3 ; Multiply when amount is above average * punish_threshold
punish_modifier=2 ; When above average * threshold multiply score by this value
intelligent_brightness=0 ; Set to 1 to use a USA specific algorithm to tune some of the settings, not adviced outside the USA
logo_percentile=0.92 ; if more then this amount of logo is found then logo detection will be disabled
logo_threshold=0.75
punish_no_logo=1 ; Default, set to 0 to avoid show segments without logo to be scored towards commercial
aggressive_logo_rejection=0
connect_blocks_with_logo=1 ; set to 1 if you want successive blocks with logo on the transition to be regarded as connected, set to 0 to disable
logo_filter=0 ; set the size of the filter to apply to bad logo detection, 4 seems to be a good value.
cut_on_ar_change=1 ; set to 1 if you want to cut also on aspect ratio changes when logo is present, set to 2 to force cuts on aspect ratio changes. set to 0 to disable
delete_show_after_last_commercial=0 ; set to 1 if you want to delete the last block if its a show and after a commercial
delete_show_before_or_after_current=0 ; set to 1 if you want to delete the previous and the next show in the recording, this can lead to the deletion of trailers of next show
delete_block_after_commercial=0 ;set to max size of block in seconds to be discarded, set to 0 to disable
remove_before=0 ; amount of seconds of show to be removed before ALL commercials
remove_after=0 ; amount of seconds of show to be removed after ALL commercials
shrink_logo=5 ; Reduce the duration of the logo with this amount of seconds
after_logo=0 ; set to number of seconds after logo disappears comskip should start to search for silence to insert an additional cutpoint
padding=0
ms_audio_delay=5
volume_slip=20
skip_b_frames=0 ; Set to 1 to force Comskip to skip frames for higher processing speed.
hardware_decode=0 ; Set to 1 to enable hardware accelerated video decoding, only available in donator version
max_repair_size=200 ; Will repair maximum 200 missing MPEG frames in the timeline, set to 0 to disable repairing for players that don't use PTS.
disable_heuristics=4
delete_logo_file=0 ; set to 1 if you want comskip to tidy up after finishing
output_framearray=0 ; create a big excel file for detailed analysis, set to 0 to disable
output_data=0 ; create a dump of the user data channel, used for CC and XDS (such as V-Chip info). Can be use together with output_framearray to remote debug CC decoding
output_videoredo=0 ; The old videoredo format
output_videoredo3=0 ; The new videoredo v3 format.
output_womble=0
output_mls=0 ; set to 1 if you want MPeg Video Wizard bookmark file output
output_cuttermaran=0
output_mpeg2schnitt=0
output_mpgtx=0
output_dvrcut=0
output_zoomplayer_chapter=0
output_zoomplayer_cutlist=0
output_edl=1
output_dvrmstb=0 ; Set to 1 if you're running DVRMS-Toolbox
output_edlx=1
output_vcf=0
output_bsplayer=0
output_btv=0 ; set to 1 if you want Beyond TV chapter cutlist output
output_projectx=0 ; set to 1 if you want ProjectX cutlist output (Xcl)
output_avisynth=1
output_vdr=0 ; set to 1 if you want XBMC to skipping commercials
output_demux=0 ; set to 1 if you want comskip to demux the mpeg file while scanning
sage_framenumber_bug=0
sage_minute_bug=0
live_tv=0 ; set to 1 if you use parallelprocessing and need the output while recording
live_tv_retries=4 ; change to 16 when using live_tv in BTV, used for mpeg PS and TS
dvrms_live_tv_retries=300 ; only used for dvr_ms
standoff=0 ; change to 8000000 when using live_tv in BTV
cuttermaran_options="cut=\"true\" unattended=\"true\" muxResult=\"false\" snapToCutPoints=\"true\" closeApp=\"true\""
mpeg2schnitt_options="mpeg2schnitt.exe /S /E /R25 /Z %2 %1"
avisynth_options="LoadPlugin(\"MPEG2Dec3.dll\") \nMPEG2Source(\"%s\")\n"
dvrcut_options="dvrcut \"%s.dvr-ms\" \"%s_clean.dvr-ms\" "
windowtitle="Comskip - %s"
thread_count=3
subtitles=0
delay_logo_search=0
output_srt=0
output_edlp=0

Crash analysis

Code: Select all

FAULTING_IP: 
image00400000+1a8ff
0041a8ff 8b5a38          mov     ebx,dword ptr [edx+38h]

EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0041a8ff (image00400000+0x0001a8ff)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000000
   Parameter[1]: 000061c8
Attempt to read from address 000061c8

CONTEXT:  00000000 -- (.cxr 0x0;r)
eax=776029a0 ebx=00000000 ecx=00000000 edx=00006190 esi=00000000 edi=00000000
eip=0041a8ff esp=0028ab00 ebp=0028abf8 iopl=0         nv up ei pl nz na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00210206
image00400000+0x1a8ff:
0041a8ff 8b5a38          mov     ebx,dword ptr [edx+38h] ds:002b:000061c8=????????

FAULTING_THREAD:  00012f98

PROCESS_NAME:  image00400000

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

EXCEPTION_PARAMETER1:  00000000

EXCEPTION_PARAMETER2:  000061c8

READ_ADDRESS:  000061c8 

FOLLOWUP_IP: 
image00400000+1a8ff
0041a8ff 8b5a38          mov     ebx,dword ptr [edx+38h]

NTGLOBALFLAG:  70

APPLICATION_VERIFIER_FLAGS:  0

APP:  image00400000

ANALYSIS_VERSION: 6.3.9600.17029 (debuggers(dbg).140219-1702) x86fre

BUGCHECK_STR:  APPLICATION_FAULT_INVALID_POINTER_READ_BEFORE_WRITE

PRIMARY_PROBLEM_CLASS:  INVALID_POINTER_READ_BEFORE_WRITE

DEFAULT_BUCKET_ID:  INVALID_POINTER_READ_BEFORE_WRITE

LAST_CONTROL_TRANSFER:  from 00436fc6 to 0041a8ff

STACK_TEXT:  
WARNING: Stack unwind information not available. Following frames may be wrong.
0028abf8 00436fc6 00000000 ffffffff 00000003 image00400000+0x1a8ff
0028ac40 75a10d5d 04645698 00000000 776032bc image00400000+0x36fc6
0028ac7c 7756f28f 4c7d8eb1 00000000 00000024 KERNELBASE!WideCharToMultiByte+0x236
0028acd4 7756a442 0028ad48 77588cd5 3b026309 msvcrt!__lock_fhandle+0x94
0028ad0c 7756f1fc 00000011 0028ad58 775d8e9f msvcrt!_unlock+0x15
0028ad18 775d8e9f 00000001 77602920 775d8e8a msvcrt!_unlock_file2+0x16
0028ad24 775d8e8a 4c7d8f59 048d4230 048d41e0 msvcrt!puts+0x16c
0028ad58 0043ae57 00bc607c 00000001 02a28600 msvcrt!puts+0x15e
00000000 00000000 00000000 00000000 00000000 image00400000+0x3ae57


STACK_COMMAND:  .cxr 0x0 ; kb

SYMBOL_STACK_INDEX:  0

SYMBOL_NAME:  image00400000+1a8ff

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: image00400000

IMAGE_NAME:  comskipGUI.exe

DEBUG_FLR_IMAGE_TIMESTAMP:  563de97a

FAILURE_BUCKET_ID:  INVALID_POINTER_READ_BEFORE_WRITE_c0000005_comskipGUI.exe!Unknown

BUCKET_ID:  APPLICATION_FAULT_INVALID_POINTER_READ_BEFORE_WRITE_image00400000+1a8ff

ANALYSIS_SOURCE:  UM

FAILURE_ID_HASH_STRING:  um:invalid_pointer_read_before_write_c0000005_comskipgui.exe!unknown

FAILURE_ID_HASH:  {1ea4c2a9-eae3-def5-7e75-718b7f4ce769}

Followup: MachineOwner
erik
Site Admin
Posts: 3368
Joined: Sun Aug 21, 2005 3:49 pm

Re: Crash when manually saving reviewed output

Post by erik »

I did not test lately, will have a go at it
shikigami
Posts: 3
Joined: Sat Jan 16, 2016 10:14 pm

Re: Crash when manually saving reviewed output

Post by shikigami »

This might be related to another issue I'm having. When I press W during the review process, all the entries in the output files are either 0 or 0.0

I think this specific crash is due to fprintf trying to parse 0.0 into %I64d format
erik
Site Admin
Posts: 3368
Joined: Sun Aug 21, 2005 3:49 pm

Re: Crash when manually saving reviewed output

Post by erik »

Would be solved in 0.81.09
Can you test?
shikigami
Posts: 3
Joined: Sat Jan 16, 2016 10:14 pm

Re: Crash when manually saving reviewed output

Post by shikigami »

Confirmed, it no longer crashes.

Thanks!
Post Reply