{"action":"created","issue":{"url":"https://api.github.com/repos/SuslikV/untrunc-w/issues/12","repository_url":"https://api.github.com/repos/SuslikV/untrunc-w","labels_url":"https://api.github.com/repos/SuslikV/untrunc-w/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/SuslikV/untrunc-w/issues/12/comments","events_url":"https://api.github.com/repos/SuslikV/untrunc-w/issues/12/events","html_url":"https://github.com/SuslikV/untrunc-w/issues/12","id":361205385,"node_id":"MDU6SXNzdWUzNjEyMDUzODU=","number":12,"title":"Segfault occured","user":{"login":"paradigmf","id":43129358,"node_id":"MDQ6VXNlcjQzMTI5MzU4","avatar_url":"https://avatars2.githubusercontent.com/u/43129358?v=4","gravatar_id":"","url":"https://api.github.com/users/paradigmf","html_url":"https://github.com/paradigmf","followers_url":"https://api.github.com/users/paradigmf/followers","following_url":"https://api.github.com/users/paradigmf/following{/other_user}","gists_url":"https://api.github.com/users/paradigmf/gists{/gist_id}","starred_url":"https://api.github.com/users/paradigmf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paradigmf/subscriptions","organizations_url":"https://api.github.com/users/paradigmf/orgs","repos_url":"https://api.github.com/users/paradigmf/repos","events_url":"https://api.github.com/users/paradigmf/events{/privacy}","received_events_url":"https://api.github.com/users/paradigmf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-09-18T09:04:39Z","updated_at":"2018-09-20T15:03:32Z","closed_at":null,"author_association":"NONE","body":"Downloaded the .exe files from https://github.com/SuslikV/untrunc-w/releases and ran it using\r\n`untrunc-w.exe --uverbose --ffverbose workingfile.mp4 brokenfile.mp4` and segfault occured\r\n\r\nHere is the output:\r\n\r\n<details>\r\n<summary>Output (click to expand)</summary>\r\n\r\n```\r\nGOP count to build the interleaving mask: 1\r\nGOP count to loop the interleaving mask: 1\r\nSamples per chunk (0 - get it from the working file): 0\r\nReading working file: workingfile.mp4\r\n(workingfile.mp4) file size= 1908 bytes\r\nroot->children.size(): 1\r\nnot 'udta' box but PARENT, type= moov\r\nnot 'udta' box but PARENT, type= trak\r\nnot 'udta' box but PARENT, type= edts\r\nnot 'udta' box but PARENT, type= mdia\r\nnot 'udta' box but PARENT, type= minf\r\nnot 'udta' box but PARENT, type= dinf\r\nnot 'udta' box but PARENT, type= stbl\r\nroot->children.size(): 2\r\nroot->children.size(): 3\r\nroot->children.size(): 4\r\nmovie timescale = 1000\r\nmovie duration = 17\r\nmovie duration64 = 0\r\nAV log level: 32\r\n===============\r\ntrack ID = 1\r\ntrack timescale = 15360\r\ntrack duration = 256\r\ntrack duration64 = 0\r\nnumber of entries (stts) = 1\r\nnsamples = 1\r\nsample delta = 256\r\ndefault sample size (stsz) = 1109\r\nnumber of entries (stsz) = 1\r\nSamples size: MIN 1109; MAX 1109\r\nnumber of entries (stco) = 1\r\nnumber of entries (stsc) = 1\r\n\r\nCodecID= 28; stsd->contentSize: 141\r\nnalSizeField= 4\r\nTrack 0, codecID= 28\r\nNumber of tracks = 1\r\nBase track: 0\r\nbaseTrack.keyframes.size(): 0\r\nNumber of chunks used to build the mask: 120\r\nbaseTrack.offsets.size()= 1\r\ni= 0\r\ntrackBoxContent[k].offsets.size() = 1\r\n799 > 799\r\nminVal= 0\r\nj[minVal]++; j[0]= 1\r\nChunks interleaving Mask (track's #): \r\n\r\nChunks interleaving Mask second loop (track's #): \r\n\r\nSamples per each chunk Mask (samples count): \r\n\r\nSamples per each chunk Mask second loop (samples count): \r\n\r\n(brokenfile.mp4) file size= 782499888 bytes\r\nReading broken file: brokenfile.mp4\r\nBuffered stuff starts from here.\r\nProcessing at 48 of 782499888 bytes...\r\nnew sampleBuffer size= 8000000\r\nsampleSizeAssumption = 686\r\n field length = 4\r\nFirst sampleSizeAssumption = 690\r\n\r\nSplit chunks, sampleBuffer size= 8000000\r\nCodecID 28\r\nH.264 / AVC / MPEG-4 AVC / MPEG-4 part 10\r\n        blockLength 11109\r\ninitial avpkt->size 690\r\nv1.2 in use\r\nnal first byte 6\r\nsend packet ret = 0\r\nlen = 0\r\noriginal file, chunk offset= 48\r\nskip from 48 to 738\r\nProcessing at 738 of 782499888 bytes...\r\nnew sampleBuffer size= 8000000\r\nsampleSizeAssumption = 425\r\n field length = 4\r\nFirst sampleSizeAssumption = 429\r\n\r\nSplit chunks, sampleBuffer size= 8000000\r\nCodecID 28\r\nH.264 / AVC / MPEG-4 AVC / MPEG-4 part 10\r\n        blockLength 11109\r\ninitial avpkt->size 429\r\nv1.2 in use\r\nnal first byte 101\r\nsend packet ret = 0\r\nlen = 0\r\noriginal file, chunk offset= 738\r\n----\r\nNumber of found samples: 1\r\nSample number in chunk= 1\r\nSample In Box Offset= 690\r\nSync Sample (IDR)= 1\r\nSample belongs to Track: 0\r\nj= 0\r\n\r\nnext chunk offset= 1167\r\n----\r\n```\r\n</details>\r\n\r\n---\r\n\r\nAlso got this error:\r\n\r\n```\r\nUnhandled exception at 0x0099A870 in untrunc-w.exe:\r\n0xC0000005: Access violation reading location 0x00610C3C.\r\n```\r\n\r\nSee the output of debugger:\r\n\r\n<details>\r\n<summary>Debugger</summary>\r\n\r\n```\r\nCommandLine: C:\\untrunc-w.exe --uverbose --ffverbose workingfile.mp4 brokenfile.mp4\r\nSymbol search path is: srv*\r\nExecutable search path is: \r\nModLoad: 00000000`00990000 00000000`009ab000   image00000000`00990000\r\nModLoad: 00007ff8`cba30000 00007ff8`cbbdd000   ntdll.dll\r\nModLoad: 00000000`77860000 00000000`779cf000   ntdll.dll\r\nModLoad: 00000000`77790000 00000000`777db000   C:\\Windows\\SYSTEM32\\wow64.dll\r\nModLoad: 00000000`777f0000 00000000`77858000   C:\\Windows\\system32\\wow64win.dll\r\nModLoad: 00000000`777e0000 00000000`777e9000   C:\\Windows\\system32\\wow64cpu.dll\r\n(a70.48c): Break instruction exception - code 80000003 (first chance)\r\n*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll - \r\nntdll!LdrInitShimEngineDynamic+0x330:\r\n00007ff8`cbaf1b90 cc              int     3\r\n0:000> p\r\nntdll!LdrInitShimEngineDynamic+0x331:\r\n00007ff8`cbaf1b91 eb00            jmp     ntdll!LdrInitShimEngineDynamic+0x333 (00007ff8`cbaf1b93)\r\n0:000> p\r\nntdll!LdrInitShimEngineDynamic+0x333:\r\n00007ff8`cbaf1b93 4883c438        add     rsp,38h\r\n0:000> p\r\nntdll!LdrInitShimEngineDynamic+0x337:\r\n00007ff8`cbaf1b97 c3              ret\r\n0:000> p\r\nntdll!LdrInitShimEngineDynamic+0x23ab:\r\n00007ff8`cbaf3c0b 44893506bf0600  mov     dword ptr [ntdll!fltused+0x1b08 (00007ff8`cbb5fb18)],r14d ds:00007ff8`cbb5fb18=00000000\r\n0:000> p\r\nntdll!LdrInitShimEngineDynamic+0x23b2:\r\n00007ff8`cbaf3c12 f00fba765001    lock btr dword ptr [rsi+50h],1 ds:00000000`7f723050=00000003\r\n0:000> p\r\nntdll!LdrInitShimEngineDynamic+0x23b8:\r\n*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\\Windows\\SYSTEM32\\wow64.dll - \r\n00007ff8`cbaf3c18 488b1d79d70600  mov     rbx,qword ptr [ntdll!fltused+0x3388 (00007ff8`cbb61398)] ds:00007ff8`cbb61398={wow64!Wow64LdrpInitialize (00000000`777a1f70)}\r\n0:000> p\r\nntdll!LdrInitShimEngineDynamic+0x23bf:\r\n00007ff8`cbaf3c1f 488bcb          mov     rcx,rbx\r\n0:000> p\r\nntdll!LdrInitShimEngineDynamic+0x23c2:\r\n00007ff8`cbaf3c22 488b05a7d50700  mov     rax,qword ptr [ntdll!NlsAnsiCodePage+0xdb90 (00007ff8`cbb711d0)] ds:00007ff8`cbb711d0={ntdll!RtlDebugPrintTimes (00007ff8`cbab1cd0)}\r\n0:000> gu\r\nModLoad: 00000000`001d0000 00000000`0030e000   WOW64_IMAGE_SECTION\r\nModLoad: 00000000`764a0000 00000000`765e0000   WOW64_IMAGE_SECTION\r\nModLoad: 00000000`001d0000 00000000`0030e000   NOT_AN_IMAGE\r\nModLoad: 00000000`00320000 00000000`00497000   NOT_AN_IMAGE\r\nModLoad: 00000000`764a0000 00000000`765e0000   C:\\Windows\\SysWOW64\\KERNEL32.DLL\r\nModLoad: 00000000`77200000 00000000`772d7000   C:\\Windows\\SysWOW64\\KERNELBASE.dll\r\nModLoad: 00000000`6e760000 00000000`6ece6000   C:\\avformat-57.dll\r\nModLoad: 00000000`6c6a0000 00000000`6e75b000   C:\\avcodec-57.dll\r\nModLoad: 00000000`6c5d0000 00000000`6c695000   C:\\avutil-55.dll\r\nModLoad: 00000000`6c550000 00000000`6c5c1000   C:\\Windows\\SysWOW64\\MSVCP120.dll\r\nModLoad: 00000000`6c460000 00000000`6c54e000   C:\\Windows\\SysWOW64\\MSVCR120.dll\r\nModLoad: 00000000`775b0000 00000000`7762c000   C:\\Windows\\SysWOW64\\ADVAPI32.dll\r\nModLoad: 00000000`76df0000 00000000`76efe000   C:\\Windows\\SysWOW64\\GDI32.dll\r\nModLoad: 00000000`76fb0000 00000000`77073000   C:\\Windows\\SysWOW64\\msvcrt.dll\r\nModLoad: 00000000`72000000 00000000`7200a000   C:\\Windows\\SysWOW64\\Secur32.dll\r\nModLoad: 00000000`75180000 00000000`7643b000   C:\\Windows\\SysWOW64\\SHELL32.dll\r\nModLoad: 00000000`77630000 00000000`77783000   C:\\Windows\\SysWOW64\\USER32.dll\r\nModLoad: 00000000`6c430000 00000000`6c453000   C:\\Windows\\SysWOW64\\WINMM.DLL\r\nModLoad: 00000000`768d0000 00000000`7691f000   C:\\Windows\\SysWOW64\\WS2_32.dll\r\nModLoad: 00000000`75050000 00000000`75179000   C:\\Windows\\SysWOW64\\ole32.dll\r\nModLoad: 00000000`6c3a0000 00000000`6c425000   C:\\swresample-2.dll\r\nModLoad: 00000000`76630000 00000000`76671000   C:\\Windows\\SysWOW64\\sechost.dll\r\nModLoad: 00000000`76d30000 00000000`76dea000   C:\\Windows\\SysWOW64\\RPCRT4.dll\r\nModLoad: 00000000`77080000 00000000`771fd000   C:\\Windows\\SysWOW64\\combase.dll\r\nModLoad: 00000000`765e0000 00000000`76625000   C:\\Windows\\SysWOW64\\SHLWAPI.dll\r\nModLoad: 00000000`6c370000 00000000`6c393000   C:\\Windows\\SysWOW64\\WINMMBASE.dll\r\nModLoad: 00000000`76f00000 00000000`76f07000   C:\\Windows\\SysWOW64\\NSI.dll\r\nModLoad: 00000000`76920000 00000000`7693e000   C:\\Windows\\SysWOW64\\SspiCli.dll\r\nModLoad: 00000000`766b0000 00000000`766ec000   C:\\Windows\\SysWOW64\\cfgmgr32.dll\r\nModLoad: 00000000`721a0000 00000000`721c1000   C:\\Windows\\SysWOW64\\DEVOBJ.dll\r\nModLoad: 00000000`75040000 00000000`7504a000   C:\\Windows\\SysWOW64\\CRYPTBASE.dll\r\nModLoad: 00000000`74fe0000 00000000`75034000   C:\\Windows\\SysWOW64\\bcryptPrimitives.dll\r\n(a70.48c): WOW64 breakpoint - code 4000001f (first chance)\r\nFirst chance exceptions are reported before any exception handling.\r\nThis exception may be expected and handled.\r\n*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll - \r\nntdll_77860000!LdrInitShimEngineDynamic+0x6dd:\r\n77913c7d cc              int     3\r\n0:000:x86> gu\r\nntdll_77860000!LdrGetDllPath+0x92ec:\r\n778e853c 6a02            push    2\r\n0:000:x86> gu\r\nModLoad: 76680000 766a7000   C:\\Windows\\SysWOW64\\IMM32.DLL\r\nModLoad: 773f0000 77502000   C:\\Windows\\SysWOW64\\MSCTF.dll\r\nntdll_77860000!RtlInitializeHandleTable+0x45:\r\n778bccc5 8bf0            mov     esi,eax\r\n0:000:x86> gu\r\nntdll_77860000!LdrInitializeThunk+0x10:\r\n778ba830 6a01            push    1\r\n0:000:x86> p\r\nntdll_77860000!LdrInitializeThunk+0x12:\r\n778ba832 ff7508          push    dword ptr [ebp+8]    ss:002b:0019f580=0019f58c\r\n0:000:x86> p\r\nntdll_77860000!LdrInitializeThunk+0x15:\r\n778ba835 e8261efeff      call    ntdll_77860000!ZwContinue (7789c660)\r\n0:000:x86> p\r\n(a70.48c): Access violation - code c0000005 (first chance)\r\nFirst chance exceptions are reported before any exception handling.\r\nThis exception may be expected and handled.\r\n*** WARNING: Unable to verify checksum for C:\\untrunc-w.exe\r\n*** ERROR: Module load completed but symbols could not be loaded for C:\\untrunc-w.exe\r\nuntrunc+0xa870:\r\n0099a870 8b4764          mov     eax,dword ptr [edi+64h] ds:002b:ee3509b4=????????\r\n0:000:x86> p\r\n(a70.48c): Access violation - code c0000005 (!!! second chance !!!)\r\nwow64!Wow64ShallowThunkSIZE_T64TO32+0x13c9:\r\n00000000`777a0319 65488b042530000000 mov   rax,qword ptr gs:[30h] gs:00000000`00000030=????????????????\r\n```\r\n</details>\r\n\r\n---\r\n\r\nCan't upload mp4 files here, they are huge and github doesn't allow more than 10MB per attachment."},"comment":{"url":"https://api.github.com/repos/SuslikV/untrunc-w/issues/comments/423217534","html_url":"https://github.com/SuslikV/untrunc-w/issues/12#issuecomment-423217534","issue_url":"https://api.github.com/repos/SuslikV/untrunc-w/issues/12","id":423217534,"node_id":"MDEyOklzc3VlQ29tbWVudDQyMzIxNzUzNA==","user":{"login":"SuslikV","id":19683044,"node_id":"MDQ6VXNlcjE5NjgzMDQ0","avatar_url":"https://avatars0.githubusercontent.com/u/19683044?v=4","gravatar_id":"","url":"https://api.github.com/users/SuslikV","html_url":"https://github.com/SuslikV","followers_url":"https://api.github.com/users/SuslikV/followers","following_url":"https://api.github.com/users/SuslikV/following{/other_user}","gists_url":"https://api.github.com/users/SuslikV/gists{/gist_id}","starred_url":"https://api.github.com/users/SuslikV/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SuslikV/subscriptions","organizations_url":"https://api.github.com/users/SuslikV/orgs","repos_url":"https://api.github.com/users/SuslikV/repos","events_url":"https://api.github.com/users/SuslikV/events{/privacy}","received_events_url":"https://api.github.com/users/SuslikV/received_events","type":"User","site_admin":false},"created_at":"2018-09-20T15:03:32Z","updated_at":"2018-09-20T15:03:32Z","author_association":"OWNER","body":"Try other working sample file (at least 25 samples or so).\r\n\r\nTry to specify only working file to untrunc-w, like:\r\n`untrunc-w.exe workingfile.mp4`\r\nThe field \"Chunks interleaving Mask (track's #):\" from the console output  shouldn't be empty... I didn't make checks for this. Maybe will change it soon.\r\n\r\nFind me at https://obsproject.com/forum/ I could try to recover your file if you give me the link to the broken and working recordings via forum's private conversation. (look for the user \"Suslik V\" there)."}}
{"actor":{"display_login":"SuslikV"}}