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

Failure under wine #560

Open
lockie opened this issue Jul 24, 2023 · 0 comments
Open

Failure under wine #560

lockie opened this issue Jul 24, 2023 · 0 comments

Comments

@lockie
Copy link

lockie commented Jul 24, 2023

Environment

  1. Gentoo Linux + wine 8.12
  2. Dockerized Ubuntu 20.04 + wine 8.0

How to reproduce the issue

  1. Install roswell from msys2 packages under wine.
  2. Run wine ros.exe
  3. Roswell segfaults.

Expected behavior

Roswell does not segfault.

Investigating the problem

Running ros.exe with -v shows that it downloads latest sbcl (for its internal purposes I guess), tries to install it with msiexec and fails to do so, here's the excerpt from log:

sbcl_bin_download
Downloading https://github.com/roswell/sbcl_bin/releases/download/2.3.4/sbcl-2.3.4-x86-64-windows-binary.msi
ensure_directories_exist:C:\users\root\.roswell\archives\sbcl-bin-2.3.4-x86-64-windows.msi
Extracting the msi archive. sbcl-bin-2.3.4-x86-64-windows.msi to C:\users\root\.roswell\src\sbcl-2.3.4-x86-64-windows\
ensure_directories_exist:C:\users\root\.roswell\src\sbcl-2.3.4-x86-64-windows\
ensure_directories_exist:C:\users\root\.roswell\impls\log\sbcl-bin-2.3.4-x86-64-windows\install.log
msiexeccmd:cmd /c "C:\windows\system32\msiexec.exe /a "C:\users\root\.roswell\archives\sbcl-bin-2.3.4-x86-64-windows.msi" targetdir="C:\users\root\.roswell\src\sbcl-2.3.4-x86-64-windows" /qn /lv "C:\users\root\.roswell\impls\log\sbcl-bin-2.3.4-x86-64-windows\install.log""
System:'cmd /c "C:\windows\system32\msiexec.exe /a "C:\users\root\.roswell\archives\sbcl-bin-2.3.4-x86-64-windows.msi" targetdir="C:\users\root\.roswell\src\sbcl-2.3.4-x86-64-windows" /qn /lv "C:\users\root\.roswell\impls\log\sbcl-bin-2.3.4-x86-64-windows\install.log""'
ensure_directories_exist:C:\users\root\.roswell\tmp\
unlock!:setup
get_opt(sbcl-bin.version,0)=(null)
set_opt(impl)='sbcl-bin/'
get_opt(quicklisp,0)=(null)
set_opt(quicklisp)='C:\\users\\root\\.roswell\\lisp\\quicklisp\\'
set_opt(argv0)='Z:\ucrt64\bin\ros.exe'
set_opt(wargv0)='Z:\ucrt64\bin\ros.exe'
set_opt(homedir)='C:\users\root\.roswell\'
set_opt(verbose)='1'
set_opt(lispdir)='Z:\ucrt64\etc\roswell\'
set_opt(patchdir)='/ucrt64/etc/roswell/patch\'
get_opt(asdf.version,0)=(null)
set_opt(uname)='windows'
set_opt(uname-m)='x86-64'
get_opt(program,0)=(null)
get_opt(asdf.version,0)=(null)
set_opt(program)='(:eval"(ros:quicklisp)")'
get_opt(impl,0)=sbcl-bin/
get_opt(help,0)=(null)
get_opt(script,0)="Z:\\ucrt64\\etc\\roswell\\setup.ros"
get_opt(image,0)=(null)
get_opt(program,0)=(:eval"(ros:quicklisp)")
get_opt(dynamic-space-size,1)=(null)
get_opt(control-stack-size,1)=(null)
get_opt(without-roswell,0)=(null)
get_opt(enable-debugger,0)=(null)
wine: Unhandled page fault on read access to 0000000000000000 at address 00000000687AB3D0 (thread 0100), starting debugger...

Backtrace:
=>0 0x000000687ab3d0 strcmp+0x20(str1="system", str2=0x00000000000000000) [Z:\usr\src\packages\BUILD\dlls\msvcrt\string.c:3284] in ucrtbase (0x00000001697000)

Segfault happens here because of C:\users\root\.roswell\src\sbcl-2.3.4-x86-64-windows directory being empty.

I've experimented with the msiexec launch command (C:\windows\system32\msiexec.exe /a "C:\users\root\.roswell\archives\sbcl-bin-2.3.4-x86-64-windows.msi" targetdir="C:\users\root\.roswell\src\sbcl-2.3.4-x86-64-windows" /qn /lv "C:\users\root\.roswell\impls\log\sbcl-bin-2.3.4-x86-64-windows\install.log") and found that running it with /i switch ("install") instead of /a ("administrative install") seemingly makes it work. Is there any reason not to use the regular install in Roswell under Windows?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant