-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Reproducible] PropSet inside ScriptClip crashes Avisynth #359
Comments
Seems not to be the case as reading & writing frame props to a separate clip (bars2) also triggers it:
|
Thanks, I can see the crash, thanks for the test script. |
There is something with setting It seems that for the first frame the function is doing this: PropSet gets its child clip, which has another child clip, which has another child clip... When a big enough depth (~700+ in my debug build) is reached, the initial calling stack (1 MB) is consumed totally ,it will crash with stack overflow (debug build reports this fatal error) This is why avsmeter was showing incremental slowdown, as more and more call was done as the frame count advanced. For whatever is the reason, I don't understand it yet. |
Ok well thanks for looking into it, I guess it's just a limitation. The reason I wanted to write frameprop to global clip is so I can check that same prop the next frame and see what the counter was, for purpose of detecting multithreading desynchronisation and warning user. Storing the counter in a global var instead of frameprop seems to work too, but I thought it would be safer using a frameprop since Avisynth always displays frames in chronological order, whereas ScriptClip may not occur in chronological order if mulithreading. So the frameprop counter is like a guaranteed reference point for knowing what the counter should be for a given frame. |
This is crashing after 2600-2800 frames rendered:
This is reproducible on both my systems with 3.7.2 & 3.7.3 under the following scenarios:
In all cases the rendering of the script just stops abruptly at around the 2600-2800 frame mark with no error message (I tried try & catch block to no effect). On one of my machines MPC-HC was reporting ntdll.dll as the crashing module, on the other MPC-HC just closes without any error. ffmpeg.exe just stops rendering without any error.
Speculation: perhaps the ScriptClip and Avisynth are both trying to write frame properties at the same time?
The text was updated successfully, but these errors were encountered: