Skip to content
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

[BUG] Saving animated gif hangs indefinitely #3664

Closed
chris-revell opened this issue Jul 22, 2021 · 130 comments
Closed

[BUG] Saving animated gif hangs indefinitely #3664

chris-revell opened this issue Jul 22, 2021 · 130 comments

Comments

@chris-revell
Copy link

chris-revell commented Jul 22, 2021

Details

Backends

This bug occurs on ( insert x below )

Backend yes no untested
gr (default) x
pyplot x
plotly x
plotlyjs x
pgfplotsx x
inspectdr x

Versions

Plots.jl version: v1.19.3
Backend version (]st -m <backend(s)>): GR v0.58.0
Output of versioninfo():

Julia Version 1.6.2
Commit 1b93d53fc4 (2021-07-14 15:36 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin18.7.0)
  CPU: Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, skylake)

Environment:
JULIA_NUM_THREADS = 4

I have written a visualisation routine in my program that uses a loop of the following form to create an animated gif of the results from a previous call of DifferentialEquations.jl

anim = @animate for (i,u) in enumerate(sol.u)
        heatmap(u)
end
println("marker1")
gif(anim,"output/$folderName/anim_u.gif",fps=5)
println("marker2")

This loop successfully reaches println("marker1") but then hangs indefinitely on the gif() call and never reaches println("marker2"). Killing the program produces the following output:

InterruptException:
Stacktrace:
  [1] poptask(W::Base.InvasiveLinkedListSynchronized{Task})
    @ Base ./task.jl:760
  [2] wait
    @ ./task.jl:768 [inlined]
  [3] wait(c::Base.GenericCondition{Base.Threads.SpinLock})
    @ Base ./condition.jl:106
  [4] wait(x::Base.Process)
    @ Base ./process.jl:621
  [5] success
    @ ./process.jl:483 [inlined]
  [6] run(::Cmd; wait::Bool)
    @ Base ./process.jl:440
  [7] run
    @ ./process.jl:438 [inlined]
  [8] (::FFMPEG.var"#4#6"{Cmd})(command_path::String)
    @ FFMPEG ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:112
  [9] (::JLLWrappers.var"#2#3"{FFMPEG.var"#4#6"{Cmd}, String})()
    @ JLLWrappers ~/.julia/packages/JLLWrappers/bkwIo/src/runtime.jl:49
 [10] withenv(::JLLWrappers.var"#2#3"{FFMPEG.var"#4#6"{Cmd}, String}, ::Pair{String, String}, ::Vararg{Pair{String, String}, N} where N)
    @ Base ./env.jl:161
 [11] withenv_executable_wrapper(f::Function, executable_path::String, PATH::String, LIBPATH::String, adjust_PATH::Bool, adjust_LIBPATH::Bool)
    @ JLLWrappers ~/.julia/packages/JLLWrappers/bkwIo/src/runtime.jl:48
 [12] #invokelatest#2
    @ ./essentials.jl:708 [inlined]
 [13] invokelatest
    @ ./essentials.jl:706 [inlined]
 [14] #ffmpeg#7
    @ ~/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:7 [inlined]
 [15] ffmpeg
    @ ~/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:7 [inlined]
 [16] #exe#2
    @ ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:111 [inlined]
 [17] ffmpeg_exe
    @ ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:123 [inlined]
 [18] buildanimation(anim::Plots.Animation, fn::String, is_animated_gif::Bool; fps::Int64, loop::Int64, variable_palette::Bool, verbose::Bool, show_msg::Bool)
    @ Plots ~/.julia/packages/Plots/OchXa/src/animation.jl:96
 [19] #gif#249
    @ ~/.julia/packages/Plots/OchXa/src/animation.jl:64 [inlined]

Reinstalling Julia with the latest binaries has made no difference.

@giordano
Copy link
Contributor

Can you try gif(anim,"output/$folderName/anim_u.gif"; fps=5, verbose=true)? That might show some more output and maybe explain what's going wrong.

@chris-revell
Copy link
Author

The output with verbose=true is as follows:

ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with clang version 9.0.1 (/home/staticfloat/.julia/dev/BinaryBuilder/deps/downloads/llvm-project.git c1a0a213378a458fbea1a5c77b315c7dce08fd05)
  configuration: --enable-cross-compile --cross-prefix=/opt/x86_64-apple-darwin14/bin/x86_64-apple-darwin14- --arch=x86_64 --target-os=darwin --cc=cc --cxx=c++ --dep-cc=cc --ar=ar --nm=nm --objcc=objc --sysinclude=/workspace/destdir/include --pkg-config=/usr/bin/pkg-config --pkg-config-flags=--static --prefix=/workspace/destdir --sysroot=/opt/x86_64-apple-darwin14/x86_64-apple-darwin14/sys-root --extra-libs=-lpthread --enable-gpl --enable-version3 --enable-nonfree --disable-static --enable-shared --enable-pic --disable-debug --disable-doc --enable-avresample --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libvpx --enable-encoders --enable-decoders --enable-muxers --enable-demuxers --enable-parsers --enable-openssl --disable-schannel --extra-cflags=-I/workspace/destdir/include --extra-ldflags=-L/workspace/destdir/lib
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, image2, from '/var/folders/bc/myz58spx01l7pc6k8mgbv1gc0000gn/T/jl_fNyBAT/%06d.png':
  Duration: 00:00:04.04, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgb24(pc), 600x400, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (png (native) -> bmp (native))
Press [q] to stop, [?] for help
Output #0, image2, to '/var/folders/bc/myz58spx01l7pc6k8mgbv1gc0000gn/T/jl_fNyBAT/palette.bmp':
  Metadata:
    encoder         : Lavf58.45.100
    Stream #0:0: Video: bmp, bgra, 16x16 [SAR 1:1 DAR 1:1], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.91.100 bmp
[Parsed_palettegen_0 @ 0x7fd16750dc40] 255(+1) colors generated out of 1220 colors; ratio=0.209016
[Parsed_palettegen_0 @ 0x7fd16750dc40] Dupped color: FF954444
[Parsed_palettegen_0 @ 0x7fd16750dc40] Dupped color: FF9B7226
[Parsed_palettegen_0 @ 0x7fd16750dc40] Dupped color: FF9B7425
frame=    1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.415x    
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

@t-bltg
Copy link
Member

t-bltg commented Jul 23, 2021

This is the bug that we observe in JuliaPlots/PlotDocs.jl#248.

@BeastyBlacksmith it seems that it's not a Documenter issue after all but a bug in animate.jl which I could not fix yet ...

@t-bltg
Copy link
Member

t-bltg commented Jul 23, 2021

@chris-revell could you please try:

bug.jl

using Plots

@userplot CirclePlot
@recipe function f(cp::CirclePlot)
  x, y, i = cp.args
  n = length(x)
  inds = circshift(1:n, 1 - i)
  linewidth --> range(0, 10, length=n)
  seriesalpha --> range(0, 1, length=n)
  aspect_ratio --> 1
  label --> false
  x[inds], y[inds]
end

main() = begin
  n = 150
  t = range(0, 2π, length=n)
  x = sin.(t)
  y = cos.(t)

  anim = @animate for i  1:n
    circleplot(x, y, i)
  end
  println("marker1")
  gif(anim, "anim_fps15.gif", fps=15)
  println("marker2")
  return
end

main()

, and tell if that hangs or not ?

@chris-revell
Copy link
Author

@chris-revell could you please try:

using Plots

@userplot CirclePlot
@recipe function f(cp::CirclePlot)
  x, y, i = cp.args
  n = length(x)
  inds = circshift(1:n, 1 - i)
  linewidth --> range(0, 10, length=n)
  seriesalpha --> range(0, 1, length=n)
  aspect_ratio --> 1
  label --> false
  x[inds], y[inds]
end

main() = begin
  n = 150
  t = range(0, 2π, length=n)
  x = sin.(t)
  y = cos.(t)

  anim = @animate for i  1:n
    circleplot(x, y, i)
  end
  println("marker1")
  gif(anim, "anim_fps15.gif", fps=15)
  println("marker2")
  return
end

main()

, and tell if that hangs or not ?

This does indeed seem to hang indefinitely. "marker1" is printed, but "marker2" is not.

@t-bltg
Copy link
Member

t-bltg commented Jul 23, 2021

Odd, I cannot reproduce, the example does not hang on my laptop.

Could you please show the output of:

] status

@chris-revell
Copy link
Author

Odd, I cannot reproduce, the example does not hang on my laptop.

Could you please show the output of:

] status

Strangely, I have 2 machines here, and am getting the same behaviour on both. The function seems to reach line 96 in animation.jl and then go no further.

Here is the output you requested. Thanks for looking into this.

(@v1.6) pkg> status
      Status `~/.julia/environments/v1.6/Project.toml`
  [c52e3926] Atom v0.12.32
  [35d6a980] ColorSchemes v3.13.0
  [0c46a032] DifferentialEquations v6.17.2
  [e4b2fa32] GaussianRandomFields v2.1.2
  [916415d5] Images v0.24.1
  [033835bb] JLD2 v0.4.11
  [e5e0dc1b] Juno v0.8.4
  [bdcacae8] LoopVectorization v0.12.53
  [e7bfaba1] NumericalIntegration v0.3.3
  [5fb14364] OhMyREPL v0.5.10
  [58dd65bb] Plotly v0.4.0
  [a03496cd] PlotlyBase v0.5.4
  [91a5bcdd] Plots v1.19.3
  [295af30f] Revise v3.1.17
  [5d786b92] TerminalLoggers v0.1.4
  [56ddb016] Logging

@t-bltg
Copy link
Member

t-bltg commented Jul 23, 2021

Strangely, I have 2 machines here, and am getting the same behaviour on both. The function seems to reach line 96 in animation.jl and then go no further.

Here is the output you requested. Thanks for looking into this.

Thanks for helping here, if we can kill JuliaPlots/PlotDocs.jl#248 that'd be great 😉 !

Ha, I'm missing FFMPEG here, please try:

] st --manifest

@chris-revell
Copy link
Author

Strangely, I have 2 machines here, and am getting the same behaviour on both. The function seems to reach line 96 in animation.jl and then go no further.
Here is the output you requested. Thanks for looking into this.

Ha, I'm missing FFMPEG here, please try:

] st --manifest

Quite a long output for this one:

(@v1.6) pkg> st --manifest
      Status `~/.julia/environments/v1.6/Manifest.toml`
  [c3fe647b] AbstractAlgebra v0.15.1
  [621f4979] AbstractFFTs v1.0.1
  [1520ce14] AbstractTrees v0.3.4
  [79e6a3ab] Adapt v3.3.1
  [ec485272] ArnoldiMethod v0.1.0
  [7d9fca2a] Arpack v0.5.0
  [4fba245c] ArrayInterface v3.1.17
  [4c555306] ArrayLayouts v0.7.3
  [bf4720bc] AssetRegistry v0.1.0
  [c52e3926] Atom v0.12.32
  [13072b0f] AxisAlgorithms v1.0.0
  [39de3d68] AxisArrays v0.4.3
  [aae01518] BandedMatrices v0.16.10
  [9e28174c] BinDeps v1.0.2
  [ad839575] Blink v0.12.5
  [764a87c0] BoundaryValueDiffEq v2.7.1
  [fa961155] CEnum v0.4.1
  [00ebfdb7] CSTParser v2.5.0
  [aafaddc9] CatIndices v0.2.2
  [d360d2e6] ChainRulesCore v0.10.13
  [53a63b46] CodeTools v0.7.1
  [da1fd8a2] CodeTracking v1.0.5
  [35d6a980] ColorSchemes v3.13.0
  [3da002f7] ColorTypes v0.11.0
  [c3611d14] ColorVectorSpace v0.9.5
  [5ae59095] Colors v0.12.8
  [861a8166] Combinatorics v1.0.2
  [a80b9123] CommonMark v0.8.2
  [38540f10] CommonSolve v0.2.0
  [bbf7d656] CommonSubexpressions v0.3.0
  [34da2185] Compat v3.31.0
  [b152e2b5] CompositeTypes v0.1.2
  [ed09eef8] ComputationalResources v0.3.2
  [187b0558] ConstructionBase v1.3.0
  [d38c429a] Contour v0.5.7
  [150eb455] CoordinateTransformations v0.6.1
  [a8cc5b0e] Crayons v4.0.4
  [dc8bdbbb] CustomUnitRanges v1.0.1
  [9a962f9c] DataAPI v1.7.0
  [864edb3b] DataStructures v0.18.9
  [e2d170a0] DataValueInterfaces v1.0.0
  [bcd4f6db] DelayDiffEq v5.31.1
  [2b5f629d] DiffEqBase v6.68.1
  [459566f4] DiffEqCallbacks v2.16.1
  [5a0ffddc] DiffEqFinancial v2.4.0
  [c894b116] DiffEqJump v6.15.1
  [77a26b50] DiffEqNoiseProcess v5.9.0
  [055956cb] DiffEqPhysics v3.9.0
  [163ba53b] DiffResults v1.0.3
  [b552c78f] DiffRules v1.0.2
  [0c46a032] DifferentialEquations v6.17.2
  [c619ae07] DimensionalPlotRecipes v1.2.0
  [b4f34e82] Distances v0.10.3
  [31c24e10] Distributions v0.24.18
  [33d173f1] DocSeeker v0.4.3
  [ffbed154] DocStringExtensions v0.8.5
  [e30172f5] Documenter v0.26.3
  [5b8099bc] DomainSets v0.5.2
  [da5c29d0] EllipsisNotation v1.1.0
  [d4d017d3] ExponentialUtilities v1.8.4
  [e2ba6199] ExprTools v0.1.6
  [c87230d0] FFMPEG v0.4.1
  [4f61f5a4] FFTViews v0.3.1
  [7a1cc6ca] FFTW v1.4.3
  [7034ab61] FastBroadcast v0.1.8
  [9aa1b823] FastClosures v0.3.2
  [442a2c76] FastGaussQuadrature v0.4.5
  [5789e2e9] FileIO v1.10.1
  [1a297f60] FillArrays v0.11.9
  [6a86dc24] FiniteDiff v2.8.1
  [53c48c17] FixedPointNumbers v0.8.4
  [08572546] FlameGraphs v0.2.5
  [59287772] Formatting v0.4.2
  [f6369f11] ForwardDiff v0.10.18
  [069b7b12] FunctionWrappers v1.1.2
  [de31a74c] FunctionalCollections v0.5.0
  [fb4132e2] FuzzyCompletions v0.4.1
  [28b8d3ca] GR v0.58.0
  [e4b2fa32] GaussianRandomFields v2.1.2
  [5c1252a2] GeometryBasics v0.3.12
  [a2bd30eb] Graphics v1.1.0
  [42e2da0e] Grisu v1.0.2
  [cd3eb016] HTTP v0.9.12
  [9fb69e20] Hiccup v0.2.2
  [0e44f5e4] Hwloc v2.0.0
  [b5f81e59] IOCapture v0.1.1
  [bbac6d45] IdentityRanges v0.3.1
  [615f187c] IfElse v0.1.0
  [2803e5a7] ImageAxes v0.6.9
  [f332f351] ImageContrastAdjustment v0.3.7
  [a09fc81d] ImageCore v0.8.22
  [51556ac3] ImageDistances v0.2.13
  [6a3955dd] ImageFiltering v0.6.21
  [82e4d734] ImageIO v0.5.6
  [6218d12a] ImageMagick v1.2.1
  [bc367c6b] ImageMetadata v0.9.5
  [787d08f9] ImageMorphology v0.2.11
  [2996bd0c] ImageQualityIndexes v0.2.2
  [4e3cecfd] ImageShow v0.3.1
  [02fcd773] ImageTransformations v0.8.12
  [916415d5] Images v0.24.1
  [9b13fd28] IndirectArrays v0.5.1
  [d25df0c9] Inflate v0.1.2
  [83e8ac13] IniFile v0.5.0
  [a98d9a8b] Interpolations v0.13.3
  [8197267c] IntervalSets v0.5.3
  [c8e1da08] IterTools v1.3.0
  [42fd0dbc] IterativeSolvers v0.9.1
  [82899510] IteratorInterfaceExtensions v1.0.0
  [033835bb] JLD2 v0.4.11
  [1019f520] JLFzf v0.1.3
  [692b3bcd] JLLWrappers v1.3.0
  [97c1335a] JSExpr v0.5.3
  [682c06a0] JSON v0.21.1
  [98e50ef6] JuliaFormatter v0.13.7
  [aa1ae85d] JuliaInterpreter v0.8.18
  [e5e0dc1b] Juno v0.8.4
  [7c4cb9fa] LNR v0.2.1
  [b964fa9f] LaTeXStrings v1.2.1
  [2ee39098] LabelledArrays v1.6.2
  [23fbe1c1] Latexify v0.15.6
  [50d2b5c4] Lazy v0.15.1
  [1d6d02ad] LeftChildRightSiblingTrees v0.1.2
  [093fc24a] LightGraphs v1.3.5
  [d3d80556] LineSearches v7.1.1
  [2ab3a3ac] LogExpFunctions v0.2.5
  [bdcacae8] LoopVectorization v0.12.53
  [6f1432cf] LoweredCodeUtils v2.1.0
  [1914dd2f] MacroTools v0.5.6
  [d125e4d3] ManualMemory v0.1.4
  [dbb5928d] MappedArrays v0.4.0
  [739be429] MbedTLS v1.0.3
  [442fdcdd] Measures v0.3.1
  [e89f7d12] Media v0.5.0
  [e1d29d7a] Missings v1.0.0
  [961ee093] ModelingToolkit v5.16.0
  [e94cdb99] MosaicViews v0.3.3
  [46d2c3a1] MuladdMacro v0.2.2
  [f9640e96] MultiScaleArrays v1.8.1
  [ffc61752] Mustache v1.0.10
  [a975b10e] Mux v0.7.6
  [d41bc354] NLSolversBase v7.8.0
  [2774e3e8] NLsolve v4.5.1
  [77ba4419] NaNMath v0.3.5
  [f09324ee] Netpbm v1.0.1
  [8913a72c] NonlinearSolve v0.3.8
  [e7bfaba1] NumericalIntegration v0.3.3
  [510215fc] Observables v0.3.3
  [6fe1bfb0] OffsetArrays v1.10.3
  [5fb14364] OhMyREPL v0.5.10
  [429524aa] Optim v1.3.0
  [bac558e1] OrderedCollections v1.4.1
  [1dea7af3] OrdinaryDiffEq v5.60.1
  [90014a1f] PDMats v0.11.1
  [f57f5aa1] PNGFiles v0.3.7
  [5432bcbf] PaddedViews v0.5.8
  [65888b18] ParameterizedFunctions v5.10.0
  [d96e819e] Parameters v0.12.2
  [69de0a69] Parsers v1.1.0
  [fa939f87] Pidfile v1.2.0
  [b98c9c47] Pipe v1.3.0
  [eebad327] PkgVersion v0.1.1
  [ccf2f8ad] PlotThemes v2.0.1
  [995b91a9] PlotUtils v1.0.11
  [58dd65bb] Plotly v0.4.0
  [a03496cd] PlotlyBase v0.5.4
  [f0f68f2c] PlotlyJS v0.14.1
  [91a5bcdd] Plots v1.19.3
  [e409e4f3] PoissonRandom v0.4.0
  [f517fe37] Polyester v0.3.4
  [85a6dd25] PositiveFactorizations v0.2.4
  [21216c6a] Preferences v1.2.2
  [33c8b6b6] ProgressLogging v0.1.4
  [92933f4c] ProgressMeter v1.7.1
  [1fd47b50] QuadGK v2.4.1
  [74087812] Random123 v1.4.2
  [fb686558] RandomExtensions v0.4.3
  [e6cf234a] RandomNumbers v1.4.0
  [b3c3ace0] RangeArrays v0.3.2
  [c84ed2f1] Ratios v0.4.0
  [3cdcf5f2] RecipesBase v1.1.1
  [01d81517] RecipesPipeline v0.3.4
  [731186ca] RecursiveArrayTools v2.14.9
  [f2c3362d] RecursiveFactorization v0.1.13
  [189a3867] Reexport v1.1.0
  [ae029012] Requires v1.1.3
  [ae5879a3] ResettableStacks v1.1.1
  [295af30f] Revise v3.1.17
  [79098fc4] Rmath v0.7.0
  [6038ab10] Rotations v1.0.2
  [7e49a35a] RuntimeGeneratedFunctions v0.5.2
  [476501e8] SLEEFPirates v0.6.22
  [1bc83da4] SafeTestsets v0.0.1
  [0bca4576] SciMLBase v1.18.1
  [6c6a2e73] Scratch v1.1.0
  [efcf1570] Setfield v0.7.0
  [992d4aef] Showoff v1.0.3
  [699a6c99] SimpleTraits v0.9.4
  [a2af1166] SortingAlgorithms v1.0.1
  [47a9eef4] SparseDiffTools v1.13.2
  [276daf66] SpecialFunctions v1.5.1
  [cae243ae] StackViews v0.1.1
  [aedffcd0] Static v0.2.5
  [90137ffa] StaticArrays v0.12.5
  [82ae8749] StatsAPI v1.0.0
  [2913bbd2] StatsBase v0.33.8
  [4c63d2b9] StatsFuns v0.9.8
  [9672c7b4] SteadyStateDiffEq v1.6.4
  [789caeaf] StochasticDiffEq v6.35.0
  [7792a7ef] StrideArraysCore v0.1.16
  [88034a9c] StringDistances v0.10.0
  [09ab397b] StructArrays v0.5.1
  [c3572dad] Sundials v4.5.3
  [d1185830] SymbolicUtils v0.11.0
  [0c5d862f] Symbolics v0.1.32
  [3783bdb8] TableTraits v1.0.1
  [bd369af6] Tables v1.4.4
  [62fd8b95] TensorCore v0.1.1
  [5d786b92] TerminalLoggers v0.1.4
  [8290d209] ThreadingUtilities v0.4.5
  [731e570b] TiffImages v0.4.1
  [06e1c1a7] TiledIteration v0.3.0
  [a759f4b9] TimerOutputs v0.5.12
  [0796e94c] Tokenize v0.5.18
  [3bb67fe8] TranscodingStreams v0.9.5
  [a2a6695c] TreeViews v0.3.0
  [30578b45] URIParser v0.4.1
  [5c2747f8] URIs v1.3.0
  [3a884ed6] UnPack v1.0.2
  [1986cc42] Unitful v1.9.0
  [3d5dd08c] VectorizationBase v0.20.24
  [19fa3120] VertexSafeGraphs v0.1.2
  [0f1e0344] WebIO v0.8.15
  [104b5d7c] WebSockets v1.5.9
  [cc8bc4a8] Widgets v0.6.3
  [efce3f68] WoodburyMatrices v0.5.3
  [700de1a5] ZygoteRules v0.2.1
  [68821587] Arpack_jll v3.8.0+0
  [6e34b625] Bzip2_jll v1.0.6+5
  [83423d85] Cairo_jll v1.16.0+6
  [5ae413db] EarCut_jll v2.1.5+1
  [2e619515] Expat_jll v2.2.10+0
  [b22a6f82] FFMPEG_jll v4.3.1+4
  [f5851436] FFTW_jll v3.3.9+8
  [a3f928ae] Fontconfig_jll v2.13.1+14
  [d7e528f0] FreeType2_jll v2.10.1+5
  [559328eb] FriBidi_jll v1.0.10+0
  [0656b61e] GLFW_jll v3.3.5+0
  [d2c73de3] GR_jll v0.58.0+0
  [78b55507] Gettext_jll v0.21.0+0
  [7746bdde] Glib_jll v2.68.1+0
  [e33a78d0] Hwloc_jll v2.5.0+0
  [c73af94c] ImageMagick_jll v6.9.10-12+3
  [1d5cc7b8] IntelOpenMP_jll v2018.0.3+2
  [aacddb02] JpegTurbo_jll v2.1.0+0
  [f7e6163d] Kaleido_jll v0.1.0+0
  [c1c5ebd0] LAME_jll v3.100.1+0
  [dd4b983a] LZO_jll v2.10.1+0
  [dd192d2f] LibVPX_jll v1.10.0+0
  [e9f186c6] Libffi_jll v3.2.2+0
  [d4300ac3] Libgcrypt_jll v1.8.7+0
  [7e76a0d4] Libglvnd_jll v1.3.0+3
  [7add5ba3] Libgpg_error_jll v1.42.0+0
  [94ce4f54] Libiconv_jll v1.16.1+1
  [4b2f31a3] Libmount_jll v2.35.0+0
  [89763e89] Libtiff_jll v4.3.0+0
  [38a345b3] Libuuid_jll v2.36.0+0
  [856f044c] MKL_jll v2021.1.1+1
  [e7412a2a] Ogg_jll v1.3.5+0
  [458c3c95] OpenSSL_jll v1.1.10+0
  [efe28fd5] OpenSpecFun_jll v0.5.5+0
  [91d4177d] Opus_jll v1.3.2+0
  [2f80f16e] PCRE_jll v8.44.0+0
  [30392449] Pixman_jll v0.40.1+0
  [ea2cea3b] Qt5Base_jll v5.15.3+0
  [f50d1b31] Rmath_jll v0.3.0+0
  [fb77eaff] Sundials_jll v5.2.0+1
  [a2964d1f] Wayland_jll v1.19.0+0
  [2381bf8a] Wayland_protocols_jll v1.18.0+4
  [02c8fc9c] XML2_jll v2.9.12+0
  [aed1982a] XSLT_jll v1.1.34+0
  [4f6342f7] Xorg_libX11_jll v1.6.9+4
  [0c0b7dd1] Xorg_libXau_jll v1.0.9+4
  [935fb764] Xorg_libXcursor_jll v1.2.0+4
  [a3789734] Xorg_libXdmcp_jll v1.1.3+4
  [1082639a] Xorg_libXext_jll v1.3.4+4
  [d091e8ba] Xorg_libXfixes_jll v5.0.3+4
  [a51aa0fd] Xorg_libXi_jll v1.7.10+4
  [d1454406] Xorg_libXinerama_jll v1.1.4+4
  [ec84b674] Xorg_libXrandr_jll v1.5.2+4
  [ea2f1a96] Xorg_libXrender_jll v0.9.10+4
  [14d82f49] Xorg_libpthread_stubs_jll v0.1.0+3
  [c7cfdc94] Xorg_libxcb_jll v1.13.0+3
  [cc61e674] Xorg_libxkbfile_jll v1.1.0+4
  [12413925] Xorg_xcb_util_image_jll v0.4.0+1
  [2def613f] Xorg_xcb_util_jll v0.4.0+1
  [975044d2] Xorg_xcb_util_keysyms_jll v0.4.0+1
  [0d47668e] Xorg_xcb_util_renderutil_jll v0.3.9+1
  [c22f9ab0] Xorg_xcb_util_wm_jll v0.4.1+1
  [35661453] Xorg_xkbcomp_jll v1.4.2+4
  [33bec58e] Xorg_xkeyboard_config_jll v2.27.0+4
  [c5fb5394] Xorg_xtrans_jll v1.4.0+3
  [3161d3a3] Zstd_jll v1.5.0+0
  [214eeab7] fzf_jll v0.24.4+0
  [0ac62f75] libass_jll v0.14.0+4
  [f638f0a6] libfdk_aac_jll v0.1.6+4
  [b53b4c65] libpng_jll v1.6.38+0
  [f27f6e37] libvorbis_jll v1.3.7+0
  [1270edf5] x264_jll v2020.7.14+2
  [dfaa095f] x265_jll v3.0.0+3
  [d8fb68d0] xkbcommon_jll v0.9.1+5
  [0dad84c5] ArgTools
  [56f22d72] Artifacts
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8bb1440f] DelimitedFiles
  [8ba89e20] Distributed
  [f43a241f] Downloads
  [7b1f6079] FileWatching
  [9fa8497b] Future
  [b77e0a4c] InteractiveUtils
  [4af54fe1] LazyArtifacts
  [b27032c2] LibCURL
  [76f85450] LibGit2
  [8f399da3] Libdl
  [37e2e46d] LinearAlgebra
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [ca575930] NetworkOptions
  [44cfe95a] Pkg
  [de0858da] Printf
  [9abbd945] Profile
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [1a1011a3] SharedArrays
  [6462fe0b] Sockets
  [2f01184e] SparseArrays
  [10745b16] Statistics
  [4607b0f0] SuiteSparse
  [fa267f1f] TOML
  [a4e569a6] Tar
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
  [e66e0078] CompilerSupportLibraries_jll
  [deac9b47] LibCURL_jll
  [29816b5a] LibSSH2_jll
  [c8ffd9c3] MbedTLS_jll
  [14a3606d] MozillaCACerts_jll
  [4536629a] OpenBLAS_jll
  [bea87d4a] SuiteSparse_jll
  [83775a58] Zlib_jll
  [8e850ede] nghttp2_jll
  [3f19e933] p7zip_jll

@t-bltg
Copy link
Member

t-bltg commented Jul 23, 2021

Ok, we're on the same page here.

Now, please re-run the example, adding show_msg=false:
gif(anim, "anim_fps15.gif", fps=15, show_msg=false)

@chris-revell
Copy link
Author

Ok, we're on the same page here.

Now, please re-run the example, adding show_msg=false:
gif(anim, "anim_fps15.gif", fps=15, show_msg=false)

Still seems to hang unfortunately.

@chris-revell
Copy link
Author

Ok, we're on the same page here.
Now, please re-run the example, adding show_msg=false:
gif(anim, "anim_fps15.gif", fps=15, show_msg=false)

Still seems to hang unfortunately.

Killing the function (which only works after manually quitting the gksqt app that appears in the dock) produces the same stacktrace as in the original post above, emphasising line 96 in animation.jl and then FFMPEG.

@t-bltg
Copy link
Member

t-bltg commented Jul 23, 2021

Killing the function (which only works after manually quitting the gksqt app that appears in the dock) produces the same stacktrace as in the original post above, emphasising line 96 in animation.jl and then FFMPEG.

Ha great, I could not obtain a stacktrace on the CI.

This one

ffmpeg_exe(`-v $verbose_level -i $(animdir)/%06d.png -vf "palettegen=stats_mode=diff" -y "$(animdir)/palette.bmp"`)
?

@chris-revell
Copy link
Author

Killing the function (which only works after manually quitting the gksqt app that appears in the dock) produces the same stacktrace as in the original post above, emphasising line 96 in animation.jl and then FFMPEG.

Ha great, I could obtain a stacktrace on the CI.

This one

ffmpeg_exe(`-v $verbose_level -i $(animdir)/%06d.png -vf "palettegen=stats_mode=diff" -y "$(animdir)/palette.bmp"`)

?

Yes, exactly

@chris-revell
Copy link
Author

chris-revell commented Jul 23, 2021

Killing the function (which only works after manually quitting the gksqt app that appears in the dock) produces the same stacktrace as in the original post above, emphasising line 96 in animation.jl and then FFMPEG.
Ha great, I could obtain a stacktrace on the CI.
This one

ffmpeg_exe(`-v $verbose_level -i $(animdir)/%06d.png -vf "palettegen=stats_mode=diff" -y "$(animdir)/palette.bmp"`)

?

Yes, exactly

Stacktrace copied here again for reference:

ERROR: InterruptException:
Stacktrace:
  [1] poptask(W::Base.InvasiveLinkedListSynchronized{Task})
    @ Base ./task.jl:760
  [2] wait
    @ ./task.jl:768 [inlined]
  [3] wait(c::Base.GenericCondition{Base.Threads.SpinLock})
    @ Base ./condition.jl:106
  [4] wait(x::Base.Process)
    @ Base ./process.jl:621
  [5] success
    @ ./process.jl:483 [inlined]
  [6] run(::Cmd; wait::Bool)
    @ Base ./process.jl:440
  [7] run
    @ ./process.jl:438 [inlined]
  [8] (::FFMPEG.var"#4#6"{Cmd})(command_path::String)
    @ FFMPEG ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:112
  [9] (::JLLWrappers.var"#2#3"{FFMPEG.var"#4#6"{Cmd}, String})()
    @ JLLWrappers ~/.julia/packages/JLLWrappers/bkwIo/src/runtime.jl:49
 [10] withenv(::JLLWrappers.var"#2#3"{FFMPEG.var"#4#6"{Cmd}, String}, ::Pair{String, String}, ::Vararg{Pair{String, String}, N} where N)
    @ Base ./env.jl:161
 [11] withenv_executable_wrapper(f::Function, executable_path::String, PATH::String, LIBPATH::String, adjust_PATH::Bool, adjust_LIBPATH::Bool)
    @ JLLWrappers ~/.julia/packages/JLLWrappers/bkwIo/src/runtime.jl:48
 [12] #invokelatest#2
    @ ./essentials.jl:708 [inlined]
 [13] invokelatest
    @ ./essentials.jl:706 [inlined]
 [14] #ffmpeg#7
    @ ~/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:7 [inlined]
 [15] ffmpeg
    @ ~/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:7 [inlined]
 [16] #exe#2
    @ ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:111 [inlined]
 [17] ffmpeg_exe
    @ ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:123 [inlined]
 [18] buildanimation(anim::Animation, fn::String, is_animated_gif::Bool; fps::Int64, loop::Int64, variable_palette::Bool, verbose::Bool, show_msg::Bool)
    @ Plots ~/.julia/packages/Plots/OchXa/src/animation.jl:96
 [19] #gif#249
    @ ~/.julia/packages/Plots/OchXa/src/animation.jl:64 [inlined]
 [20] main()
    @ Main ./REPL[6]:11
 [21] top-level scope
    @ REPL[7]:1

@t-bltg
Copy link
Member

t-bltg commented Jul 23, 2021

Ok, and running again with FFMPEG verbose please, so that we are on a reproducible example ?

@chris-revell
Copy link
Author

Ok, and running again with FFMPEG verbose please, so that we are on a reproducible example ?

Output with verbose=true is as follows:

julia> main()
marker1
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with clang version 9.0.1 (/home/staticfloat/.julia/dev/BinaryBuilder/deps/downloads/llvm-project.git c1a0a213378a458fbea1a5c77b315c7dce08fd05)
  configuration: --enable-cross-compile --cross-prefix=/opt/x86_64-apple-darwin14/bin/x86_64-apple-darwin14- --arch=x86_64 --target-os=darwin --cc=cc --cxx=c++ --dep-cc=cc --ar=ar --nm=nm --objcc=objc --sysinclude=/workspace/destdir/include --pkg-config=/usr/bin/pkg-config --pkg-config-flags=--static --prefix=/workspace/destdir --sysroot=/opt/x86_64-apple-darwin14/x86_64-apple-darwin14/sys-root --extra-libs=-lpthread --enable-gpl --enable-version3 --enable-nonfree --disable-static --enable-shared --enable-pic --disable-debug --disable-doc --enable-avresample --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libvpx --enable-encoders --enable-decoders --enable-muxers --enable-demuxers --enable-parsers --enable-openssl --disable-schannel --extra-cflags=-I/workspace/destdir/include --extra-ldflags=-L/workspace/destdir/lib
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, image2, from '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_DZmPn9/%06d.png':
  Duration: 00:00:06.00, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgb24(pc), 600x400, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (png (native) -> bmp (native))
Press [q] to stop, [?] for help
Output #0, image2, to '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_DZmPn9/palette.bmp':
  Metadata:
    encoder         : Lavf58.45.100
    Stream #0:0: Video: bmp, bgra, 16x16 [SAR 1:1 DAR 1:1], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.91.100 bmp
[Parsed_palettegen_0 @ 0x7f9df11055c0] 255(+1) colors generated out of 6748 colors; ratio=0.037789
[Parsed_palettegen_0 @ 0x7f9df11055c0] Dupped color: FF2CABFA
[Parsed_palettegen_0 @ 0x7f9df11055c0] Dupped color: FF40B3FA
[Parsed_palettegen_0 @ 0x7f9df11055c0] Dupped color: FF6DC4FA
[Parsed_palettegen_0 @ 0x7f9df11055c0] Dupped color: FFAFDFFD
[Parsed_palettegen_0 @ 0x7f9df11055c0] Dupped color: FFCDEBFE
[Parsed_palettegen_0 @ 0x7f9df11055c0] Dupped color: FFD7EFFE
[Parsed_palettegen_0 @ 0x7f9df11055c0] Dupped color: FFDDF1FE
frame=    1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.351x    
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Still hangs at this point.

@t-bltg
Copy link
Member

t-bltg commented Jul 23, 2021

I'm wondering if the images at /var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_DZmPn9/%06d.png are really present on your filesystem (of course %06d is a pattern).

We note that is hangs on the first frame ...

@giordano
Copy link
Contributor

You can make FFMPEG even more verbose with verbose=40, verbose=48 or verbose=56 (see log levels in https://ffmpeg.org/ffmpeg.html).

@chris-revell
Copy link
Author

I'm wondering if the images at /var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_DZmPn9/%06d.png are really present on your filesystem (of course %06d is a pattern).

ls /var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_DZmPn9/                              
000001.png  000020.png  000039.png  000058.png  000077.png  000096.png  000115.png  000134.png
000002.png  000021.png  000040.png  000059.png  000078.png  000097.png  000116.png  000135.png
000003.png  000022.png  000041.png  000060.png  000079.png  000098.png  000117.png  000136.png
000004.png  000023.png  000042.png  000061.png  000080.png  000099.png  000118.png  000137.png
000005.png  000024.png  000043.png  000062.png  000081.png  000100.png  000119.png  000138.png
000006.png  000025.png  000044.png  000063.png  000082.png  000101.png  000120.png  000139.png
000007.png  000026.png  000045.png  000064.png  000083.png  000102.png  000121.png  000140.png
000008.png  000027.png  000046.png  000065.png  000084.png  000103.png  000122.png  000141.png
000009.png  000028.png  000047.png  000066.png  000085.png  000104.png  000123.png  000142.png
000010.png  000029.png  000048.png  000067.png  000086.png  000105.png  000124.png  000143.png
000011.png  000030.png  000049.png  000068.png  000087.png  000106.png  000125.png  000144.png
000012.png  000031.png  000050.png  000069.png  000088.png  000107.png  000126.png  000145.png
000013.png  000032.png  000051.png  000070.png  000089.png  000108.png  000127.png  000146.png
000014.png  000033.png  000052.png  000071.png  000090.png  000109.png  000128.png  000147.png
000015.png  000034.png  000053.png  000072.png  000091.png  000110.png  000129.png  000148.png
000016.png  000035.png  000054.png  000073.png  000092.png  000111.png  000130.png  000149.png
000017.png  000036.png  000055.png  000074.png  000093.png  000112.png  000131.png  000150.png
000018.png  000037.png  000056.png  000075.png  000094.png  000113.png  000132.png  palette.bmp
000019.png  000038.png  000057.png  000076.png  000095.png  000114.png  000133.png

@chris-revell
Copy link
Author

You can make FFMPEG even more verbose with verbose=40, verbose=48 or verbose=56 (see log levels in https://ffmpeg.org/ffmpeg.html).

Where should these be used?

@giordano
Copy link
Contributor

Always as keyword argument to gif

@chris-revell
Copy link
Author

Always as keyword argument to gif

Output with verbose=56 is as follows:

julia> main()
marker1
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with clang version 9.0.1 (/home/staticfloat/.julia/dev/BinaryBuilder/deps/downloads/llvm-project.git c1a0a213378a458fbea1a5c77b315c7dce08fd05)
  configuration: --enable-cross-compile --cross-prefix=/opt/x86_64-apple-darwin14/bin/x86_64-apple-darwin14- --arch=x86_64 --target-os=darwin --cc=cc --cxx=c++ --dep-cc=cc --ar=ar --nm=nm --objcc=objc --sysinclude=/workspace/destdir/include --pkg-config=/usr/bin/pkg-config --pkg-config-flags=--static --prefix=/workspace/destdir --sysroot=/opt/x86_64-apple-darwin14/x86_64-apple-darwin14/sys-root --extra-libs=-lpthread --enable-gpl --enable-version3 --enable-nonfree --disable-static --enable-shared --enable-pic --disable-debug --disable-doc --enable-avresample --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libvpx --enable-encoders --enable-decoders --enable-muxers --enable-demuxers --enable-parsers --enable-openssl --disable-schannel --extra-cflags=-I/workspace/destdir/include --extra-ldflags=-L/workspace/destdir/lib
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '56'.
Reading option '-i' ... matched as input url with argument '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/%06d.png'.
Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'palettegen=stats_mode=diff'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/palette.bmp' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 56.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url /var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/%06d.png.
Successfully parsed a group of options.
Opening an input file: /var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/%06d.png.
Probing image2 score:100 size:0
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000001.png' for reading
[file @ 0x7fc443d05a80] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d05c00] Statistics: 20743 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000002.png' for reading
[file @ 0x7fc443e04140] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e04240] Statistics: 20613 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000003.png' for reading
[file @ 0x7fc443e04280] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e048c0] Statistics: 20575 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000004.png' for reading
[file @ 0x7fc443e04900] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e04a00] Statistics: 20537 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000005.png' for reading
[file @ 0x7fc443e049c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e04ac0] Statistics: 20529 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000006.png' for reading
[file @ 0x7fc443e04b00] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e04bc0] Statistics: 20493 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000007.png' for reading
[file @ 0x7fc443e04bc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e04d40] Statistics: 20446 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000008.png' for reading
[file @ 0x7fc443e04dc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e04b40] Statistics: 20379 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000009.png' for reading
[file @ 0x7fc443e04bc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e04f00] Statistics: 20426 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000010.png' for reading
[file @ 0x7fc443e04f80] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e05040] Statistics: 20418 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000011.png' for reading
[file @ 0x7fc443e04bc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e051c0] Statistics: 20402 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000012.png' for reading
[file @ 0x7fc443e051c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e05280] Statistics: 20453 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000013.png' for reading
[file @ 0x7fc443e05280] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e05340] Statistics: 20518 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000014.png' for reading
[file @ 0x7fc443e05340] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e05400] Statistics: 20531 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000015.png' for reading
[file @ 0x7fc443e05400] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e05500] Statistics: 20429 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000016.png' for reading
[file @ 0x7fc443e054c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e056c0] Statistics: 20516 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000017.png' for reading
[file @ 0x7fc443e056c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e05480] Statistics: 20453 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000018.png' for reading
[file @ 0x7fc443c0e340] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0e400] Statistics: 20506 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000019.png' for reading
[file @ 0x7fc443c0e400] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0e600] Statistics: 20533 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000020.png' for reading
[file @ 0x7fc443e05480] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e058c0] Statistics: 20635 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000021.png' for reading
[file @ 0x7fc4458041c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc4458042c0] Statistics: 20713 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000022.png' for reading
[file @ 0x7fc445804300] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc4458044c0] Statistics: 20690 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000023.png' for reading
[file @ 0x7fc445804500] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445804600] Statistics: 20660 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000024.png' for reading
[file @ 0x7fc4458045c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc4458046c0] Statistics: 20647 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000025.png' for reading
[file @ 0x7fc445804700] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445804800] Statistics: 20605 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000026.png' for reading
[file @ 0x7fc4458047c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc4458048c0] Statistics: 20679 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000027.png' for reading
[file @ 0x7fc445804900] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445804a00] Statistics: 20691 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000028.png' for reading
[file @ 0x7fc4458049c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445804b80] Statistics: 20665 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000029.png' for reading
[file @ 0x7fc445804b80] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445804940] Statistics: 20765 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000030.png' for reading
[file @ 0x7fc443e058c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445804900] Statistics: 20839 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000031.png' for reading
[file @ 0x7fc445804900] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445804c80] Statistics: 20866 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000032.png' for reading
[file @ 0x7fc445804e40] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445804f00] Statistics: 20794 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000033.png' for reading
[file @ 0x7fc445904100] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445904380] Statistics: 20875 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000034.png' for reading
[file @ 0x7fc445804f00] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445804fc0] Statistics: 20944 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000035.png' for reading
[file @ 0x7fc445804fc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc4458050c0] Statistics: 20888 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000036.png' for reading
[file @ 0x7fc445804ec0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc4458050c0] Statistics: 20926 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000037.png' for reading
[file @ 0x7fc445805040] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc4458052c0] Statistics: 20864 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000038.png' for reading
[file @ 0x7fc4458052c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445805380] Statistics: 20889 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000039.png' for reading
[file @ 0x7fc445805380] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445805500] Statistics: 20778 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000040.png' for reading
[file @ 0x7fc445805500] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc4458055c0] Statistics: 20681 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000041.png' for reading
[file @ 0x7fc445805380] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445805780] Statistics: 20689 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000042.png' for reading
[file @ 0x7fc443e05480] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e058c0] Statistics: 20654 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000043.png' for reading
[file @ 0x7fc443e058c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e05480] Statistics: 20611 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000044.png' for reading
[file @ 0x7fc443e05b80] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e05c40] Statistics: 20643 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000045.png' for reading
[file @ 0x7fc443e05900] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e05dc0] Statistics: 20637 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000046.png' for reading
[file @ 0x7fc443e05c40] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e05dc0] Statistics: 20595 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000047.png' for reading
[file @ 0x7fc445805800] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc4458058c0] Statistics: 20604 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000048.png' for reading
[file @ 0x7fc4458058c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445805980] Statistics: 20551 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000049.png' for reading
[file @ 0x7fc445805980] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445805a40] Statistics: 20605 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000050.png' for reading
[file @ 0x7fc445805a40] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc4458058c0] Statistics: 20609 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000051.png' for reading
[file @ 0x7fc445805c40] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445805d00] Statistics: 20626 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000052.png' for reading
[file @ 0x7fc445805a80] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445805e80] Statistics: 20693 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000053.png' for reading
[file @ 0x7fc445805d00] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445805e80] Statistics: 20776 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000054.png' for reading
[file @ 0x7fc445805e80] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445805f40] Statistics: 20671 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000055.png' for reading
[file @ 0x7fc445805d00] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806100] Statistics: 20775 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000056.png' for reading
[file @ 0x7fc445806100] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc4458061c0] Statistics: 20768 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000057.png' for reading
[file @ 0x7fc445805d00] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806340] Statistics: 20767 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000058.png' for reading
[file @ 0x7fc443c0e600] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0e6c0] Statistics: 20766 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000059.png' for reading
[file @ 0x7fc443c0e3c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0e840] Statistics: 20727 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000060.png' for reading
[file @ 0x7fc443c0e840] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0e900] Statistics: 20882 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000061.png' for reading
[file @ 0x7fc443c0e900] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0e3c0] Statistics: 20820 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000062.png' for reading
[file @ 0x7fc443c0eac0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0e880] Statistics: 20904 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000063.png' for reading
[file @ 0x7fc443c0e880] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0ec00] Statistics: 20864 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000064.png' for reading
[file @ 0x7fc443c0ec00] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0ecc0] Statistics: 20834 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000065.png' for reading
[file @ 0x7fc443c0ecc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0ed80] Statistics: 20932 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000066.png' for reading
[file @ 0x7fc443c0ed80] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0ee40] Statistics: 20853 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000067.png' for reading
[file @ 0x7fc443e05dc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e05e80] Statistics: 20961 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000068.png' for reading
[file @ 0x7fc443e05c40] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e06000] Statistics: 20936 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000069.png' for reading
[file @ 0x7fc443e06000] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e060c0] Statistics: 20992 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000070.png' for reading
[file @ 0x7fc443e060c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e06180] Statistics: 21067 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000071.png' for reading
[file @ 0x7fc443c0eec0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0efc0] Statistics: 21021 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000072.png' for reading
[file @ 0x7fc443c0f000] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0f100] Statistics: 20973 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000073.png' for reading
[file @ 0x7fc443c0f140] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0f200] Statistics: 20937 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000074.png' for reading
[file @ 0x7fc443c0f280] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0f340] Statistics: 20928 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000075.png' for reading
[file @ 0x7fc443c0f3c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0f480] Statistics: 20829 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000076.png' for reading
[file @ 0x7fc443c0f480] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0f540] Statistics: 20853 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000077.png' for reading
[file @ 0x7fc443c0f5c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0f680] Statistics: 20733 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000078.png' for reading
[file @ 0x7fc443c0f680] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0f740] Statistics: 20640 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000079.png' for reading
[file @ 0x7fc443c0f740] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0f900] Statistics: 20628 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000080.png' for reading
[file @ 0x7fc443c0f900] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806340] Statistics: 20603 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000081.png' for reading
[file @ 0x7fc445806340] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806400] Statistics: 20633 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000082.png' for reading
[file @ 0x7fc445806580] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806640] Statistics: 20587 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000083.png' for reading
[file @ 0x7fc445806640] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806740] Statistics: 20582 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000084.png' for reading
[file @ 0x7fc445806780] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806840] Statistics: 20599 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000085.png' for reading
[file @ 0x7fc445806840] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806940] Statistics: 20559 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000086.png' for reading
[file @ 0x7fc445806980] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806a40] Statistics: 20546 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000087.png' for reading
[file @ 0x7fc445806a40] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806b40] Statistics: 20574 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000088.png' for reading
[file @ 0x7fc445806b00] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806cc0] Statistics: 20535 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000089.png' for reading
[file @ 0x7fc443d05bc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d05c80] Statistics: 20559 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000090.png' for reading
[file @ 0x7fc443d05d00] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d05dc0] Statistics: 20617 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000091.png' for reading
[file @ 0x7fc445806cc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806dc0] Statistics: 20676 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000092.png' for reading
[file @ 0x7fc445806d80] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806f40] Statistics: 20636 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000093.png' for reading
[file @ 0x7fc445904300] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445904400] Statistics: 20671 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000094.png' for reading
[file @ 0x7fc4459043c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0f700] Statistics: 20578 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000095.png' for reading
[file @ 0x7fc443c0f940] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0fa00] Statistics: 20636 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000096.png' for reading
[file @ 0x7fc443c0fb80] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0fc40] Statistics: 20687 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000097.png' for reading
[file @ 0x7fc443c0fc40] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0fdc0] Statistics: 20706 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000098.png' for reading
[file @ 0x7fc443c0fdc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0fbc0] Statistics: 20765 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000099.png' for reading
[file @ 0x7fc443c0fbc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0ff40] Statistics: 20802 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000100.png' for reading
[file @ 0x7fc443c0ff40] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c10000] Statistics: 20850 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000101.png' for reading
[file @ 0x7fc443c10000] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d05d00] Statistics: 20864 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000102.png' for reading
[file @ 0x7fc443d05d80] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d05e40] Statistics: 20855 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000103.png' for reading
[file @ 0x7fc443d05ec0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d05f80] Statistics: 20850 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000104.png' for reading
[file @ 0x7fc443d06000] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d060c0] Statistics: 20858 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000105.png' for reading
[file @ 0x7fc443d06140] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d06200] Statistics: 20812 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000106.png' for reading
[file @ 0x7fc443d06200] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d062c0] Statistics: 20893 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000107.png' for reading
[file @ 0x7fc445904480] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445904340] Statistics: 20892 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000108.png' for reading
[file @ 0x7fc443d06440] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d06500] Statistics: 20935 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000109.png' for reading
[file @ 0x7fc443d06500] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d06680] Statistics: 20911 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000110.png' for reading
[file @ 0x7fc445904300] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445904580] Statistics: 20913 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000111.png' for reading
[file @ 0x7fc443d06680] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d06740] Statistics: 20819 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000112.png' for reading
[file @ 0x7fc443d06740] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d06900] Statistics: 20845 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000113.png' for reading
[file @ 0x7fc443d06900] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445904300] Statistics: 20858 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000114.png' for reading
[file @ 0x7fc445904300] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445904700] Statistics: 20766 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000115.png' for reading
[file @ 0x7fc443d069c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445904300] Statistics: 20641 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000116.png' for reading
[file @ 0x7fc445904740] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445904800] Statistics: 20687 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000117.png' for reading
[file @ 0x7fc445904980] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c0ff40] Statistics: 20620 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000118.png' for reading
[file @ 0x7fc443c100c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c10180] Statistics: 20655 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000119.png' for reading
[file @ 0x7fc443c10300] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c103c0] Statistics: 20755 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000120.png' for reading
[file @ 0x7fc443c103c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445806cc0] Statistics: 20688 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000121.png' for reading
[file @ 0x7fc445806f80] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445807040] Statistics: 20655 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000122.png' for reading
[file @ 0x7fc4458071c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445807280] Statistics: 20665 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000123.png' for reading
[file @ 0x7fc445807280] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445807400] Statistics: 20675 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000124.png' for reading
[file @ 0x7fc445807400] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445807200] Statistics: 20649 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000125.png' for reading
[file @ 0x7fc443e06180] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e06240] Statistics: 20723 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000126.png' for reading
[file @ 0x7fc443e06240] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e06340] Statistics: 20711 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000127.png' for reading
[file @ 0x7fc443e06300] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e06500] Statistics: 20750 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000128.png' for reading
[file @ 0x7fc445a04240] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445904a40] Statistics: 20827 bytes read, 0 seeks
[image2 @ 0x7fc44400a000] max_analyze_duration 5000000 reached at 5000000 microseconds st:0
[image2 @ 0x7fc44400a000] stream 0: start_time: 0 duration: 6
[image2 @ 0x7fc44400a000] format: start_time: 0 duration: 6 (estimate from stream) bitrate=0 kb/s
Input #0, image2, from '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/%06d.png':
  Duration: 00:00:06.00, start: 0.000000, bitrate: N/A
    Stream #0:0, 127, 1/25: Video: png, 1 reference frame, rgb24(pc), 600x400, 0/1, 25 fps, 25 tbr, 25 tbn, 25 tbc
Successfully opened the file.
Parsing a group of options: output url /var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/palette.bmp.
Applying option vf (set video filters) with argument palettegen=stats_mode=diff.
Successfully parsed a group of options.
Opening an output file: /var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/palette.bmp.
Successfully opened the file.
detected 8 logical cores
Stream mapping:
  Stream #0:0 -> #0:0 (png (native) -> bmp (native))
Press [q] to stop, [?] for help
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
    Last message repeated 8 times
[Parsed_palettegen_0 @ 0x7fc445b04880] Setting 'stats_mode' to value 'diff'
[graph 0 input from stream 0:0 @ 0x7fc445a05f80] Setting 'video_size' to value '600x400'
[graph 0 input from stream 0:0 @ 0x7fc445a05f80] Setting 'pix_fmt' to value '2'
[graph 0 input from stream 0:0 @ 0x7fc445a05f80] Setting 'time_base' to value '1/25'
[graph 0 input from stream 0:0 @ 0x7fc445a05f80] Setting 'pixel_aspect' to value '0/1'
[graph 0 input from stream 0:0 @ 0x7fc445a05f80] Setting 'frame_rate' to value '25/1'
[graph 0 input from stream 0:0 @ 0x7fc445a05f80] w:600 h:400 pixfmt:rgb24 tb:1/25 fr:25/1 sar:0/1
[format @ 0x7fc445a06500] Setting 'pix_fmts' to value 'bgra|bgr24|rgb565le|rgb555le|rgb444le|rgb8|bgr8|rgb4_byte|bgr4_byte|gray|pal8|monob'
[auto_scaler_0 @ 0x7fc445907cc0] Setting 'flags' to value 'bicubic'
[auto_scaler_0 @ 0x7fc445907cc0] w:iw h:ih flags:'bicubic' interl:0
[Parsed_palettegen_0 @ 0x7fc445b04880] auto-inserting filter 'auto_scaler_0' between the filter 'graph 0 input from stream 0:0' and the filter 'Parsed_palettegen_0'
[AVFilterGraph @ 0x7fc445a05e80] query_formats: 4 queried, 2 merged, 1 already done, 0 delayed
[swscaler @ 0x7fc443fbd000] Forcing full internal H chroma due to input having non subsampled chroma
[auto_scaler_0 @ 0x7fc445907cc0] w:600 h:400 fmt:rgb24 sar:0/1 -> w:600 h:400 fmt:bgra sar:0/1 flags:0x4
Output #0, image2, to '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/palette.bmp':
  Metadata:
    encoder         : Lavf58.45.100
    Stream #0:0, 0, 1/25: Video: bmp, 1 reference frame, bgra, 16x16 [SAR 1:1 DAR 1:1], 0/1, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.91.100 bmp
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
    Last message repeated 119 times
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000129.png' for reading
[file @ 0x7fc445a09fc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c110c0] Statistics: 20920 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000130.png' for reading
[file @ 0x7fc44580a840] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc44580a540] Statistics: 20774 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000131.png' for reading
[file @ 0x7fc443c110c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445a09d80] Statistics: 20842 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000132.png' for reading
[file @ 0x7fc443d08200] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445c08440] Statistics: 20849 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000133.png' for reading
[file @ 0x7fc44580a540] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445809280] Statistics: 20826 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000134.png' for reading
[file @ 0x7fc443e07f80] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e075c0] Statistics: 20799 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000135.png' for reading
[file @ 0x7fc445809280] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc44580a540] Statistics: 20772 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000136.png' for reading
[file @ 0x7fc445809280] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc44580a540] Statistics: 20811 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000137.png' for reading
[file @ 0x7fc44580a5c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445b0aac0] Statistics: 20904 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000138.png' for reading
[file @ 0x7fc443c110c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c11180] Statistics: 20970 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000139.png' for reading
[file @ 0x7fc443d08200] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445c08e00] Statistics: 20964 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000140.png' for reading
[file @ 0x7fc445b0b040] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445b0ab00] Statistics: 21074 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000141.png' for reading
[file @ 0x7fc443e07600] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e07f40] Statistics: 21103 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000142.png' for reading
[file @ 0x7fc44580a5c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc44580ac40] Statistics: 21091 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000143.png' for reading
[file @ 0x7fc44590c5c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445c090c0] Statistics: 21095 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000144.png' for reading
[file @ 0x7fc443c11180] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c11280] Statistics: 21066 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000145.png' for reading
[file @ 0x7fc443e075c0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443e07680] Statistics: 21122 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000146.png' for reading
[file @ 0x7fc445b0b040] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445b0ab00] Statistics: 21083 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000147.png' for reading
[file @ 0x7fc445b0b780] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445b0aa80] Statistics: 20971 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000148.png' for reading
[file @ 0x7fc443d07880] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc445c08480] Statistics: 20922 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000149.png' for reading
[file @ 0x7fc443d07940] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443d086c0] Statistics: 20924 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[image2 @ 0x7fc44400a000] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/000150.png' for reading
[file @ 0x7fc445a09fc0] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c11200] Statistics: 20858 bytes read, 0 seeks
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
    Last message repeated 8 times
[Parsed_palettegen_0 @ 0x7fc445b04880] 255(+1) colors generated out of 6748 colors; ratio=0.037789
[Parsed_palettegen_0 @ 0x7fc445b04880] Dupped color: FF2CABFA
[Parsed_palettegen_0 @ 0x7fc445b04880] Dupped color: FF40B3FA
[Parsed_palettegen_0 @ 0x7fc445b04880] Dupped color: FF6DC4FA
[Parsed_palettegen_0 @ 0x7fc445b04880] Dupped color: FFAFDFFD
[Parsed_palettegen_0 @ 0x7fc445b04880] Dupped color: FFCDEBFE
[Parsed_palettegen_0 @ 0x7fc445b04880] Dupped color: FFD7EFFE
[Parsed_palettegen_0 @ 0x7fc445b04880] Dupped color: FFDDF1FE
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
Clipping frame in rate conversion by 0.000008
[image2 @ 0x7fc446101200] Opening '/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/palette.bmp' for writing
[file @ 0x7fc443c11400] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0x7fc443c114c0] Statistics: 0 seeks, 1 writeouts
[out_0_0 @ 0x7fc445a06380] EOF on sink link out_0_0:default.
No more output streams to write to, finishing.
frame=    1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.196x    
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/%06d.png):
  Input stream #0:0 (video): 150 packets read (3111861 bytes); 150 frames decoded; 
  Total: 150 packets (3111861 bytes) demuxed
Output file #0 (/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/palette.bmp):
  Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (1078 bytes); 
  Total: 1 packets (1078 bytes) muxed
150 frames successfully decoded, 0 decoding errors

@giordano
Copy link
Contributor

So FFMPEG just hangs at the end after it finishes successfully? 🤷

@t-bltg
Copy link
Member

t-bltg commented Jul 23, 2021

Is /var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/palette.bmp there and readable as bmp ?

@chris-revell
Copy link
Author

So FFMPEG just hangs at the end after it finishes successfully? 🤷

It also doesn't actually save a file.

@chris-revell
Copy link
Author

/var/folders/1p/d2llcrq564b69q93j1l51k140000gn/T/jl_QEhmKc/

It's there and I can successfully open it in Preview.

@giordano
Copy link
Contributor

I'm confused

It also doesn't actually save a file.

It's there and I can successfully open it in Preview.

These two statements look inconsistent.

@chris-revell
Copy link
Author

I'm confused

It also doesn't actually save a file.

It's there and I can successfully open it in Preview.

These two statements look inconsistent.

Sorry, I mean it doesn't save an animated gif file as intended by the function as a whole.

@dapu
Copy link

dapu commented Jul 25, 2021

Hi,
I got the same bug with the Julia version 1.6.1 under rosetta.
Plots version: Plots v1.19.3
Julia version:
Commit 6aaedecc44 (2021-04-23 05:59 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin18.7.0)
CPU: Apple M1
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-11.0.1 (ORCJIT, westmere)
output of the latest example:
https://pastebin.com/B9SBG0e6

I tried the following example:

using Plots 
using FFMPEG 

anim = Animation(); 

for i = 1:1:5 
	p = Plots.plot(rand(10,10)); 
	frame(anim, p); 
end 

gif(anim, "test.gif", fps=15, verbose=true);

It hangs as well. But I got it worked with the following steps, when it hangs: 
1. force kill the gksqt
2. break the code running with ctrl + c 
3. rerun "gif(anim, "test.gif", fps=15, verbose=true);"
Then it worked. 

@chris-revell
Copy link
Author

Ok, I must admit I'm a bit out of ideas here.

I think I am going to brute force add an export LD_LIBRARY_PATH=$(julia -e 'using FFMPEG; println(FFMPEG.FFMPEG_jll.LIBPATH[]')) for JuliaPlots/PlotDocs.jl#248.
EDIT: doesn't fix a thing 😞

At least we have a workaround for generating your animations ...

It think this won't work (because of the loading mechanism in julia), but can your try:

using Plots

@userplot CirclePlot
@recipe function f(cp::CirclePlot)
  x, y, i = cp.args
  n = length(x)
  inds = circshift(1:n, 1 - i)
  linewidth --> range(0, 10, length=n)
  seriesalpha --> range(0, 1, length=n)
  aspect_ratio --> 1
  label --> false
  x[inds], y[inds]
end

main() = begin
  n = 150
  t = range(0, 2π, length=n)
  x = sin.(t)
  y = cos.(t)

  anim = @animate for i  1:n
    circleplot(x, y, i)
  end
  println("marker1")
  withenv("DYLD_LIBRARY_PATH"=>Plots.FFMPEG.FFMPEG_jll.LIBPATH[]) do
    gif(anim, "anim_fps15.gif", fps=15)
  end
  println("marker2")
  return
end

main()

This ran to completion without hanging for me. I did not set DYLD_LIBRARY_PATH before running it, so the previous version of bug.jl failed.

@t-bltg
Copy link
Member

t-bltg commented Jul 26, 2021

Ok, thank you, so this workaround seems reasonable for now:

  • wrap all gifcalls in a withenv("DYLD_LIBRARY_PATH"=>Plots.FFMPEG.FFMPEG_jll.LIBPATH[]) do <body> end block.

@dapu can you try and report if this workaround works for you ?

@chris-revell
Copy link
Author

Ok, thank you, so this workaround seems reasonable for now:

  • wrap all gifcalls in a withenv("DYLD_LIBRARY_PATH"=>Plots.FFMPEG.FFMPEG_jll.LIBPATH[]) do <body> end block.

@dapu can you try and report if this workaround works for you ?

Just to add another spanner in the works, this does work when I run julia bug.jl but it does not work when I open a Julia REPL, import my package, and then run the function exported by my package 🤷‍♂️

@t-bltg
Copy link
Member

t-bltg commented Jul 26, 2021

And by adding export DYLD_LIBRARY_PATH=..., before you start the REPL and include(...) by hand ?

@dapu
Copy link

dapu commented Jul 26, 2021

Ok, thank you, so this workaround seems reasonable for now:

  • wrap all gifcalls in a withenv("DYLD_LIBRARY_PATH"=>Plots.FFMPEG.FFMPEG_jll.LIBPATH[]) do <body> end block.

@dapu can you try and report if this workaround works for you ?

Nope, it hangs.

@chris-revell
Copy link
Author

And by adding export DYLD_LIBRARY_PATH=..., before you start the REPL and include(...) by hand ?

It worked when I opened the REPL with export DYLD_LIBRARY_PATH="$(julia -E 'using FFMPEG; FFMPEG.FFMPEG_jll.LIBPATH[]')"; julia but I think we knew it would anyway.

I think I might just find a different visualisation technique...

@t-bltg
Copy link
Member

t-bltg commented Jul 26, 2021

Nope, it hangs.

Try with export DYLD_LIBRARY_PATH="$(julia -e 'using FFMPEG; println(FFMPEG.FFMPEG_jll.LIBPATH[])')" before starting julia REPL or running your script.

@giordano
Copy link
Contributor

I'm extremely confused why setting DYLD_LIBRARY_PATH to that value would make any difference since that value is already what's used by FFMPEG_jll.ffmpeg, unless your DYLD_LIBRARY_PATH is normally non-empty in your shell.

@dapu
Copy link

dapu commented Jul 26, 2021

Nope, it hangs.

Try with export DYLD_LIBRARY_PATH="$(julia -e 'using FFMPEG; println(FFMPEG.FFMPEG_jll.LIBPATH[])')" before starting julia REPL or running your script.

It hangs at first. Then I force killed the gksqt and hit the "ctrl + c" and it worked...
here is the log: https://gist.github.com/dapu/f4eae7617b125dc642d8f5df1f40f001

@giordano
Copy link
Contributor

giordano commented Jul 26, 2021

I have the strong feeling the entire DYLD_LIBRARY_PATH business is a huge red herring.

@chris-revell do this:

ENV["JULIA_GR_PROVIDER"] = "GR"
using Pkg; Pkg.build("Plots")

restart Julia and try again.

@t-bltg
Copy link
Member

t-bltg commented Jul 26, 2021

I have the strong feeling the entire DYLD_LIBRARY_PATH business is a huge red herring.

I agree, feels like running in circles.

@dapu
Copy link

dapu commented Jul 26, 2021

ENV["JULIA_GR_PROVIDER"] = "GR"

This workaround works for me.

@chris-revell
Copy link
Author

I have the strong feeling the entire DYLD_LIBRARY_PATH business is a huge red herring.

@chris-revell do this:

ENV["JULIA_GR_PROVIDER"] = "GR"
using Pkg; Pkg.build("Plots")

restart Julia and try again.

This worked for me too

@giordano
Copy link
Contributor

That's it then, I guess? 🙂

@t-bltg
Copy link
Member

t-bltg commented Jul 26, 2021

I've tried #3664 (comment) in the CI, but unfortunately it does not solve JuliaPlots/PlotDocs.jl#248.

@giordano
Copy link
Contributor

I've tried #3664 (comment) in the CI, but unfortunately it does not solve JuliaPlots/PlotDocs.jl#248.

But that's running on Linux? So maybe it's a completely different issue?

@t-bltg
Copy link
Member

t-bltg commented Jul 26, 2021

It's hard to think it's not related: also animations, also hangs, and this used to build fine a few days ago.

@giordano
Copy link
Contributor

Did you try an older version of GR (since that was the culprit here)? Last release is 10 days ago, does it match the time when you started having problems?

@t-bltg
Copy link
Member

t-bltg commented Jul 26, 2021

This is something I haven't tried yet, good idea.

EDIT:

  1. GR@0.58.0 + GR_jll@0.58.0 is KO
  2. downgrading to GR@0.57.5, GR_jll@0.58.0 + export JULIA_GR_PROVIDER=GR and Pkg.build("Plots") seems to work 👍 .
  3. downgrading to GR @0.57.5, GR_jll@0.58.0 and using Pkg.build("Plots") is KO.
  4. downgrading to GR@0.57.5 and GR_jll@0.57.3 and using `Pkg.build("Plots") is OK.
  5. downgrading to GR_jll@0.57.3 and using `Pkg.build("Plots") is OK.

@t-bltg
Copy link
Member

t-bltg commented Jul 26, 2021

Thanks @giordano for narrowing the origin of this bug.

@jheinen, do you known what might cause this in the recent changes of GR.jl or gr ?

@jheinen
Copy link
Member

jheinen commented Jul 26, 2021

I can't reproduce it on macOS. Does your example work with:

env GKSwstype=100 julia ...
using Plots 

anim = Animation(); 

for i = 1:1:5 
	p = Plots.plot(rand(10,10)); 
	frame(anim, p); 
end 

gif(anim, "test.gif", fps=15, verbose=true);

@giordano
Copy link
Contributor

I can't reproduce it on macOS.

The problem was only with the JLL, the default setup, is that what you tried? I suggested above to use GR provider as workaround

@jheinen
Copy link
Member

jheinen commented Jul 26, 2021

Yes, I tried with the JLL. But would be interesting to see what happens if gksqt is bypassed using GKSwstype=100. I suspect a problem in the interaction of one of the JLLs and gksqt.

BTW: It's a pity that videos in Plots are not created directly with GR and animations are still (awkwardly) created in "Matplotlib style".

@giordano
Copy link
Contributor

I could reproduce the issue on M1 with Rosetta using the (probably not minimal) code shown above that I'm going to copy here for reference:

using Plots

@userplot CirclePlot
@recipe function f(cp::CirclePlot)
  x, y, i = cp.args
  n = length(x)
  inds = circshift(1:n, 1 - i)
  linewidth --> range(0, 10, length=n)
  seriesalpha --> range(0, 1, length=n)
  aspect_ratio --> 1
  label --> false
  x[inds], y[inds]
end

main() = begin
  n = 150
  t = range(0, 2π, length=n)
  x = sin.(t)
  y = cos.(t)

  anim = @animate for i  1:n
    circleplot(x, y, i)
  end
  println("marker1")
  gif(anim, "anim_fps15.gif", fps=15)
  println("marker2")
  return
end

main()

@jheinen
Copy link
Member

jheinen commented Jul 26, 2021

Yes , the problem is related to gksqt - that's why it doesn't happen on macOS with GKSTerm. A quick workaround is to set GKSwstype=100 (for animations). The underlying routines in GR ask for a device resolution when the default output is set to the default gksqt terminal. As at this point, no window ist mapped, the inquire operation fails (or times out). Will try to find a solution for that, although in principle, it's a problem within Plots.

@t-bltg
Copy link
Member

t-bltg commented Jul 27, 2021

I can't reproduce it on macOS. Does your example work with:

Unfortunately, I can't reproduce this locally on Linux, this bug occurs on the CI (linux) for building the docs or on MacOS as the OP.

The problem was only with the JLL, the default setup, is that what you tried?
Will try to find a solution for that, although in principle, it's a problem within Plots.

After further investigation, the problem seems triggered by GR_jll@0.58.0: downgrading to GR_jll@0.57.3 works.

I could reproduce the issue on M1 with Rosetta using the (probably not minimal) code shown above that I'm going to copy here for reference

This is the failing example from the docs that hangs the docs build on CI.

But would be interesting to see what happens if gksqt is bypassed using GKSwstype=100. I suspect a problem in the interaction of one of the JLLs and gksqt.

I forgot about export GKSwstype=nul: I should've tried that in the first place... It solves the build hang on the CI, finally. Thanks for your help !

t-bltg added a commit that referenced this issue Jul 27, 2021
@t-bltg t-bltg closed this as completed Jul 28, 2021
@t-bltg t-bltg removed the priority label Dec 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants