mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-02-14 21:23:42 +00:00
bufferInput causes infinite loop; no bufferinput causes failures #192
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mackworth on GitHub (Oct 10, 2016).
I have a sample file that will cause an infinite loop through stdin when
-bufferinputis off. 100% CPU after a few seconds into processing; never stops; no output even with-debug -vides. Setting bufferinput on fixes the problem. Setting--stream 1has no effect.Unfortunately, I have a few other sample files that process fine with bufferinput off, but randomly fails ~2/3 of the time with bufferinput on. To be clear, that means that if you take one of these files and run it 30 times, it will work fine about 10 times and fail about 20 times.
Please let me know how to submit the samples if you'd like them.
I should add some context:
Sourceforge 0.82 version compiled with Xcode 8 on Mac 10.11.6.
Here's the mediaInfo on the two files (rename to .rtf)
AdventureTimeBIRequired.txt
RobotChicken-RandomFailuresBI.txt
@mackworth commented on GitHub (Oct 10, 2016):
And, if the Mac is an issue, I'm happy to pair up and interactively to find this; I'm sure I can isolate it down to where/what's happening in both cases, but I don't know enough about video formats/ccextractor to fix it.
@cfsmp3 commented on GitHub (Oct 11, 2016):
This seems impossible... I'd definitely need to check the file myself, I don't think it's possible to figure it out just by looking at the console output.
@mackworth commented on GitHub (Oct 11, 2016):
Great! Seems like the next step would be to get you the files; 400M each. (Dropbox, or ...?) If they work on Windows and/or Linux, I'm happy to work through why the Mac is different.
@cfsmp3 commented on GitHub (Oct 11, 2016):
Any link (dropbox, google drive, etc) will work. But please nothing that
requires me to sign up.
On Mon, Oct 10, 2016 at 4:50 PM, Hugh Mackworth notifications@github.com
wrote:
@mackworth commented on GitHub (Oct 11, 2016):
I'm out now, but I'll send you a link in a couple hours.
@mackworth commented on GitHub (Oct 11, 2016):
So, this is the one that goes infinite loop without
-bi....https://dl.dropboxusercontent.com/u/21507587/AdventureTimeBIRequired.mpg
Here's what it looks like on my machine with
-debugand-vides:AdventureTimeBIRequired.txt
And here's one that randomly fails with
-bi(fine without it).https://dl.dropboxusercontent.com/u/21507587/RobotChicken-RandomFailuresBI.mpg
and here's a good pass:
RobotChickenGood.txt
And just repeating the same command line:
RobotChickenBad.txt
@cfsmp3 commented on GitHub (Oct 11, 2016):
Just tested the first one and can confirm this indeed happens.
Fixed the old position_sanity_check() function (which still didn't use context) but turns out we can't use it at all since lseek(stdin) always returns -1.
But well, the bug or whatever is real...
@cfsmp3 commented on GitHub (Oct 11, 2016):
Fixed the first one. Can't reproduce the other - in fact what's the difference there between the good and the bad pass? Anyway please open a separate ticket for it if the problem is not still fixed so we don't miss two (apparently) separate issues.
@mackworth commented on GitHub (Oct 12, 2016):
So, yes, I confirm that the requiresb1 case works now. Thank you!
The other one is still there, I uploaded the wrong file for Bad.txt. Will open a second case.