JuliaGraphics / Gtk.jl

Julia interface to Gtk windowing toolkit.
Other
290 stars 80 forks source link

Crash on load with version 1.2.3 or 1.3.0 on Windows #683

Open Vexatos opened 1 year ago

Vexatos commented 1 year ago

Since version 1.2.3, Gtk.jl crashes on load on Windows with the following error:

ERROR: LoadError: LoadError: InitError: IOError: could not spawn setenv(`'[redacted]\julia\artifacts\57bd9311faafa3d8e73dfb991c2cb420f2c65ab9\bin\gdk-pixbuf-query-loaders.exe'`,["GDK_PIXBUF_MODULEDIR=[redacted]\\julia\\artifacts\\57bd9311faafa3d8e73dfb991c2cb420f2c65ab9\\lib\\gdk-pixbuf-2.0\\2.10.0\\loaders", "GTK_THEME=Adwaita:dark", "JULIA_DEPOT_PATH=[redacted]\\julia", "XDG_DATA_DIRS=[redacted]\\julia\\artifacts\\65eca7c48dea1e32203b205613441ce9506045b4\\share;[redacted]\\julia\\artifacts\\eb6ac7b2d830e5142ad5e345e54fb33dc7aafd6c\\share;[redacted]\\julia\\artifacts\\da6c2aa0d20a483437256f245d3c35b25e667c62\\bin\\..\\share", "GTK_CSD=1", "GTK_AUTO_IDLE=false", "NUMBER_OF_PROCESSORS=8", "FONTCONFIG_FILE=[redacted]\\julia\\artifacts\\c916a560fa109a4db3d6938a8ab1a6a8b4a09731\\etc\\fonts\\fonts.conf", "FONTCONFIG_PATH=[redacted]\\julia\\artifacts\\c916a560fa109a4db3d6938a8ab1a6a8b4a09731\\etc\\fonts"]): invalid argument (EINVAL)
Stacktrace:
  [1] _spawn_primitive(file::String, cmd::Cmd, stdio::Vector{Any})
    @ Base .\process.jl:99
  [2] #637
    @ .\process.jl:112 [inlined]
  [3] setup_stdios(f::Base.var"#637#638"{Cmd}, stdios::Vector{Any})
    @ Base .\process.jl:196
  [4] _spawn
    @ .\process.jl:111 [inlined]
  [5] open(cmds::Cmd, stdio::Base.DevNull; write::Bool, read::Bool)
    @ Base .\process.jl:370
  [6] open
    @ .\process.jl:361 [inlined]
  [7] open(cmds::Cmd, mode::String, stdio::Base.DevNull)
    @ Base .\process.jl:341
  [8] read(cmd::Cmd)
    @ Base .\process.jl:410
  [9] read(cmd::Cmd, #unused#::Type{String})
    @ Base .\process.jl:421
 [10] readchomp
    @ .\io.jl:923 [inlined]
 [11] query_pixbuf_loaders
    @ [redacted]\julia\packages\Gtk\oo3cW\src\Gtk.jl:101 [inlined]
 [12] (::Gtk.var"#query_pixbuf_loaders#325"{Gtk.var"#query_pixbuf_loaders#320#326"})(dir::String)
    @ Gtk [redacted]\julia\packages\Gtk\oo3cW\src\Gtk.jl:100
 [13] (::Gtk.var"#321#327")(io::IOStream)
    @ Gtk [redacted]\julia\packages\Gtk\oo3cW\src\Gtk.jl:106
 [14] open(f::Gtk.var"#321#327", args::String; kwargs::Base.Iterators.Pairs{Symbol, Bool, Tuple{Symbol}, NamedTuple{(:write,), Tuple{Bool}}})
    @ Base .\io.jl:330
 [15] __init__()
    @ Gtk [redacted]\julia\packages\Gtk\oo3cW\src\Gtk.jl:104
 [16] _include_from_serialized(path::String, depmods::Vector{Any})
    @ Base .\loading.jl:674
 [17] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base .\loading.jl:760
 [18] _require(pkg::Base.PkgId)
    @ Base .\loading.jl:998
 [19] require(uuidkey::Base.PkgId)
    @ Base .\loading.jl:914
 [20] require(into::Module, mod::Symbol)
    @ Base .\loading.jl:901
 [21] include
    @ .\Base.jl:386 [inlined]
 [22] _require(pkg::Base.PkgId)
    @ Base .\loading.jl:1050
 [23] require(uuidkey::Base.PkgId)
    @ Base .\loading.jl:914
 [24] require(into::Module, mod::Symbol)
    @ Base .\loading.jl:901

The crash occurs upon executing the first file containing a using Gtk. We have confirmed that downgrading to Gtk.jl version 1.2.2 fixes the issue.

giordano commented 1 year ago

CC @staticfloat since I suspect this is related to https://github.com/JuliaGraphics/Gtk.jl/pull/619. However CI is passing on Windows, any clue of what could be special on your system?

Vexatos commented 1 year ago

This has been reported from at least five separate users, on all kinds of systems. The only notable thing so far is that one of our users confirmed they were using Windows 11, and none of the other affected people have yet confirmed which version of Windows they are using.

Edit: We got another crash report, another Windows 11 user. This might be related. Edit 2: More reports coming in, every user so far on Windows 11. Which version are you testing on?

marcos-lee commented 1 year ago

I have the same error on a Windows 10. I encountered this while trying to use ProfileView on a new project. Weirdly enough, on older projects it works. I've tested this on my own computer and on a remote server, all Windows 10.

Error message after add Gtk or add ProfileView or using Gtk or using ProfileView:

ERROR: InitError: IOError: could not spawn setenv(`'C:\Users\Marcos Lee\.julia\artifacts\57bd9311faafa3d8e73dfb991c2cb420f2c65ab9\bin\gdk-pixbuf-query-loaders.exe'`,["PATH=C:\\Users\\Marcos Lee\\.julia\\artifacts\\a5b7c195243758d88c64cd8547e527fbace3877b\\bin;C:\\Users\\Marcos Lee\\.julia\\artifacts\\e5872943f1078a6397a4f4d0f760db959ec50630\\bin;C:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Julia-1.7.1\\bin;C:\\Users\\Marcos Lee\\.julia\\artifacts\\431cad9bf95e817b5fc813666e353ae36b2202c0\\bin;C:\\Users\\Marcos Lee\\.julia\\artifacts\\f9f799e6ae3fe7f244bb55052db7ff1cea876c27\\bin;C:\\Users\\Marcos Lee\\.julia\\artifacts\\4f67e82ee394e74ca63b7dc589dcc9218c12b20a\\bin;C:\\Users\\Marcos Lee\\.julia\\artifacts\\ac8a1c48a02b397f6ce1beb6473de8bbb3b1e0ce\\bin;C:\\Users\\Marcos Lee\\.julia\\artifacts\\72037f1415327f12277eed0521c861517630a0ba\\bin;C:\\Users\\Marcos Lee\\.julia\\artifacts\\2e9a29903fddf79371cd5f82327f70ada670a234\\bin;C:\\Users\\Marcos Lee\\.julia\\artifacts\\17c7cf43a62bb170fc0e23af523744809703d7e2\\bin;C:\\Users\\Marcos Lee\\.julia\\artifacts\\01b969d96551292e78f0acfa204f120b09f4e7b4\\bin;C:\\Users\\Marcos Lee\\.julia\\artifacts\\57bd9311faafa3d8e73dfb991c2cb420f2c65ab9\\bin;C:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Julia-1.7.1\\bin\\..\\lib\\julia;C:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Julia-1.7.1\\bin\\..\\lib;C:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Julia-1.7.1\\bin;C:\\Rtools\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\MiKTeX 2.9\\miktex\\bin\\x64\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\SumatraPDF\\;C:\\Program Files\\MiKTeX 2.9\\;C:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Python\\Python37;C:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Python\\Python37\\Scripts;C:\\Program Files\\NVIDIA 
Corporation\\NVIDIA NvDLISR;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\Git\\cmd;C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Program Files\\Calibre2\\;C:\\Program Files\\dotnet\\;C:\\Program 
Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Python\\Python39\\Scripts\\;C:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Python\\Python39\\;C:\\Program Files (x86)\\Intel\\iCLS Client\\;C:\\Program Files\\Intel\\iCLS Client\\;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Users\\Marcos Lee\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Program Files\\SumatraPDF;C:\\Program Files\\Microsoft VS Code\\bin;C:\\Users\\Marcos Lee\\AppData\\Local\\atom\\bin;C:\\Program Files (x86)\\gfortran\\bin;C:\\Users\\Marcos Lee\\AppData\\Local\\Microsoft\\WindowsApps;C:\\MinGW;C:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Program Files\\Tesseract-OCR\\;C:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Julia-1.7.1\\bin;C:\\Users\\Marcos Lee\\AppData\\Local\\Pandoc\\", "USERDOMAIN_ROAMINGPROFILE=DESKTOP-2SP51JC", "HOMEPATH=\\Users\\Marcos Lee", "JD2_HOME=C:\\Users\\Marcos Lee\\AppData\\Local\\JDownloader 2.0", "GDK_PIXBUF_MODULEDIR=C:\\Users\\Marcos Lee\\.julia\\artifacts\\57bd9311faafa3d8e73dfb991c2cb420f2c65ab9\\lib\\gdk-pixbuf-2.0\\2.10.0\\loaders", "PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC", "SESSIONNAME=Console", "SYSTEMROOT=C:\\WINDOWS", "APPDATA=C:\\Users\\Marcos Lee\\AppData\\Roaming", "PSMODULEPATH=C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules", "COMMONPROGRAMW6432=C:\\Program Files\\Common Files", "PROGRAMDATA=C:\\ProgramData", "PUBLIC=C:\\Users\\Public", "USERDOMAIN=DESKTOP-2SP51JC", "OS=Windows_NT", "PROCESSOR_REVISION=9e09", "TMP=C:\\Users\\Marcos Lee\\AppData\\Local\\Temp", "COMSPEC=C:\\WINDOWS\\system32\\cmd.exe", "JULIA_EDITOR=code", "ALLUSERSPROFILE=C:\\ProgramData", "COMPUTERNAME=DESKTOP-2SP51JC", "USERNAME=Marcos Lee", "XDG_DATA_DIRS=C:\\Users\\Marcos Lee\\.julia\\artifacts\\65eca7c48dea1e32203b205613441ce9506045b4\\share;C:\\Users\\Marcos Lee\\.julia\\artifacts\\eb6ac7b2d830e5142ad5e345e54fb33dc7aafd6c\\share;C:\\Users\\Marcos Lee\\.julia\\artifacts\\da6c2aa0d20a483437256f245d3c35b25e667c62\\bin\\..\\share", "VSCODE_GIT_ASKPASS_NODE=C:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe", "VSCODE_GIT_ASKPASS_EXTRA_ARGS=--ms-enable-electron-run-as-node", "VSCODE_GIT_IPC_HANDLE=\\\\.\\pipe\\vscode-git-943492ead1-sock", "TMPDIR=C:\\Temp", "ONEDRIVECONSUMER=C:\\Users\\Marcos Lee\\OneDrive", "USERPROFILE=C:\\Users\\Marcos Lee", "PROCESSOR_LEVEL=6", "PROGRAMW6432=C:\\Program Files", "HOME=C:\\Users\\Marcos Lee", "TEMP=C:\\Users\\Marcos Lee\\AppData\\Local\\Temp", "HOMEDRIVE=C:", "COLORTERM=truecolor", "WINDIR=C:\\WINDOWS", "ZES_ENABLE_SYSMAN=1", "LOCALAPPDATA=C:\\Users\\Marcos Lee\\AppData\\Local", "PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 158 Stepping 9, GenuineIntel", "NUMBER_OF_PROCESSORS=8", "GIT_ASKPASS=c:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass.sh", "LANG=en_US.UTF-8", "FONTCONFIG_FILE=C:\\Users\\Marcos Lee\\.julia\\artifacts\\c916a560fa109a4db3d6938a8ab1a6a8b4a09731\\etc\\fonts\\fonts.conf", "COMMONPROGRAMFILES(X86)=C:\\Program Files (x86)\\Common Files", "TERM_PROGRAM_VERSION=1.80.1", "COMMONPROGRAMFILES=C:\\Program Files\\Common Files", "JULIA_NUM_THREADS=4", "ONEDRIVE=C:\\Users\\Marcos Lee\\OneDrive", "GRDIR=C:\\Users\\Marcos Lee\\.julia\\artifacts\\43ce7ef4e46e45d992472d8d032ff6cf56d0691a", "TERM_PROGRAM=vscode", "PROGRAMFILES(X86)=C:\\Program Files (x86)", "VSCODE_GIT_ASKPASS_MAIN=c:\\Users\\Marcos Lee\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass-main.js", "STATATMP=C:\\Temp", "PROGRAMFILES=C:\\Program Files", "CHROME_CRASHPAD_PIPE_NAME=\\\\.\\pipe\\LOCAL\\crashpad_22708_FRFJHQYGRFNKAOCU", "LOGONSERVER=\\\\DESKTOP-2SP51JC", "DRIVERDATA=C:\\Windows\\System32\\Drivers\\DriverData", "ORIGINAL_XDG_CURRENT_DESKTOP=undefined", "FONTCONFIG_PATH=C:\\Users\\Marcos Lee\\.julia\\artifacts\\c916a560fa109a4db3d6938a8ab1a6a8b4a09731\\etc\\fonts", "FPS_BROWSER_USER_PROFILE_STRING=Default", "SYSTEMDRIVE=C:", "FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer", "=C:", "PROCESSOR_ARCHITECTURE=AMD64", "OPENBLAS_MAIN_FREE=1"]): invalid argument (EINVAL)
Stacktrace:
  [1] _spawn_primitive(file::String, cmd::Cmd, stdio::Vector{Any})
    @ Base .\process.jl:100
  [2] #690
    @ .\process.jl:113 [inlined]
  [3] setup_stdios(f::Base.var"#690#691"{Cmd}, stdios::Vector{Any})
    @ Base .\process.jl:197
  [4] _spawn
    @ .\process.jl:112 [inlined]
  [5] open(cmds::Cmd, stdio::Base.DevNull; write::Bool, read::Bool)
    @ Base .\process.jl:371
  [6] open
    @ .\process.jl:362 [inlined]
  [7] open(cmds::Cmd, mode::String, stdio::Base.DevNull)
    @ Base .\process.jl:342
  [8] read(cmd::Cmd)
    @ Base .\process.jl:416
  [9] read(cmd::Cmd, #unused#::Type{String})
    @ Base .\process.jl:427
 [10] readchomp
    @ .\io.jl:926 [inlined]
 [11] query_pixbuf_loaders
    @ C:\Users\Marcos Lee\.julia\packages\Gtk\oo3cW\src\Gtk.jl:101 [inlined]
 [12] (::Gtk.var"#query_pixbuf_loaders#327"{Gtk.var"#query_pixbuf_loaders#322#328"})(dir::String)
    @ Gtk C:\Users\Marcos Lee\.julia\packages\Gtk\oo3cW\src\Gtk.jl:100
 [13] (::Gtk.var"#323#329")(io::IOStream)
    @ Gtk C:\Users\Marcos Lee\.julia\packages\Gtk\oo3cW\src\Gtk.jl:106
 [14] open(f::Gtk.var"#323#329", args::String; kwargs::Base.Pairs{Symbol, Bool, Tuple{Symbol}, NamedTuple{(:write,), Tuple{Bool}}})
    @ Base .\io.jl:330
 [15] __init__()
    @ Gtk C:\Users\Marcos Lee\.julia\packages\Gtk\oo3cW\src\Gtk.jl:104
 [16] _include_from_serialized(path::String, depmods::Vector{Any})
    @ Base .\loading.jl:768
 [17] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base .\loading.jl:854
 [18] _require(pkg::Base.PkgId)
    @ Base .\loading.jl:1097
 [19] require(uuidkey::Base.PkgId)
    @ Base .\loading.jl:1013
 [20] require(into::Module, mod::Symbol)
    @ Base .\loading.jl:997
 [21] eval
    @ .\boot.jl:373 [inlined]
 [22] eval
    @ .\Base.jl:68 [inlined]
 [23] repleval(m::Module, code::Expr, #unused#::String)
    @ VSCodeServer c:\Users\Marcos Lee\.vscode\extensions\julialang.language-julia-1.47.2\scripts\packages\VSCodeServer\src\repl.jl:222
 [24] (::VSCodeServer.var"#107#109"{Module, Expr, REPL.LineEditREPL, REPL.LineEdit.Prompt})()
    @ VSCodeServer c:\Users\Marcos Lee\.vscode\extensions\julialang.language-julia-1.47.2\scripts\packages\VSCodeServer\src\repl.jl:186
 [25] with_logstate(f::Function, logstate::Any)
    @ Base.CoreLogging .\logging.jl:511
 [26] with_logger
    @ .\logging.jl:623 [inlined]
 [27] (::VSCodeServer.var"#106#108"{Module, Expr, REPL.LineEditREPL, REPL.LineEdit.Prompt})()
    @ VSCodeServer c:\Users\Marcos Lee\.vscode\extensions\julialang.language-julia-1.47.2\scripts\packages\VSCodeServer\src\repl.jl:187
 [28] #invokelatest#2
    @ .\essentials.jl:716 [inlined]
 [29] invokelatest(::Any)
    @ Base .\essentials.jl:714
 [30] macro expansion
    @ c:\Users\Marcos Lee\.vscode\extensions\julialang.language-julia-1.47.2\scripts\packages\VSCodeServer\src\eval.jl:34 [inlined]
 [31] (::VSCodeServer.var"#61#62")()
    @ VSCodeServer .\task.jl:423
during initialization of module Gtk