JuliaIO / VideoIO.jl

Reading and writing of video files in Julia via ffmpeg
https://juliaio.github.io/VideoIO.jl/stable
Other
125 stars 53 forks source link

`sigatomic_end` throws error with VSCode Debugger #371

Closed mrufsvold closed 1 year ago

mrufsvold commented 2 years ago

VideoIO.get_time_duration() runs normally when I use it from the Julia REPL. However, when using the Julia Debugger in VSCode, it throws the following exception

sigatomic_end called in non-sigatomic region

Stacktrace:
 [1] close(avin::VideoIO.AVInput{String})
   @ VideoIO C:\Users\mrufsvold\.julia\packages\VideoIO\V24Bg\src\avio.jl:968
 [2] get_time_duration(file::String)
   @ VideoIO C:\Users\mrufsvold\.julia\packages\VideoIO\V24Bg\src\info.jl:45

It appears that PyCall had the same problem, and they were able to resolve it by replacing sigatomic_(end|begin) with disable_sigint. My understanding from reading their conversation is that sigatomic_(end|begin) is an internal function for Julia and disable_sigint is its the public API sibling.

I can put in a PR if the maintainers aren't opposed to the change for some reason!

IanButterworth commented 2 years ago

Sounds reasonable. PR welcome!

mrufsvold commented 2 years ago

Excellent! Upon further inspection, looks like there are lots of functions (load, get_number_frames, etc) that use the same pattern. I'll try changing them and submit the PR soon!

IanButterworth commented 1 year ago

Closed by #372