-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
crash on wine after building system image #4213
Comments
This probably happens during the atexit callback, since the sys.ji file has already been successfully written (on my machine). I'm having trouble acquiring direct information on this because (a) it doesn't happen on the native build (b) I haven't figured out how to run winedbg on julia in months (c) I only see it with win32, not win64, which is strange since your report appears to be for win64. All that not-with-standing, I believe this occurs because it is illegal on windows & linux to finalize an |
Yes @vtjnash, I can confirm that in my case this happened with win64. Thanks for trying to sort it out. |
P.S. I wanted also to confirm that this doesn't happen on the native build (I just built Julia on Windows natively without problems), so it appears only when cross-compiling. |
The |
@vtjnash is there something other than calling |
what else is IOStream potentially also calling?
|
would IOStream care if |
I believe |
I see you use lseek. This function exists on windows, but has been deprecated for a very long time (documentation for it doesn't appear to exist). It should be using the posix compliant |
I think ftruncate has already been replaced by |
Ok that sounds like a reasonable change. |
actually, make that |
I tried to cross-compile after your recent fixes and it's not there yet - it still gives the same error. |
I know, I was making other corrections, not fixing this. |
i see this on windows now -- |
here's the partial backtrace: #0 0x000007fefe0d12bf in msvcrt!memcmp () from C:\Windows\system32\msvcrt.dll
#1 0x0000000069ef0312 in ios_write (s=0xc5edc0, data=0xc5ecf7 "\003", n=1) at ios.c:387
#2 0x0000000069ef1afc in ios_putc (c=3, s=0xc5edc0) at ios.c:892
#3 0x0000000069ec609e in jl_serialize_value_ ()
from C:\users\julia\desktop\julia\usr\bin\libjulia.dll
#4 0x0000000000c5edc0 in ?? ()
|
more complete backtrace:
@JeffBezanson can you offer any help? |
The |
cool. now i can stop tracking down that unrelated issue (forgetting to set JL_PRIVATE_LIBDIR) and get back to the real one (TTY throws a method error when exiting) :/
|
well, the good new is that this is a bug in wine's emulation of windows. the bad news is that it is libuv's fault for hitting this bug (it closes the TTY handle for stdout, then thinks it can still use/close it for stderr) @loladiro can you help me edit libuv to duplicate all handles it gets from outside sources which it will not fully own (e.g. after it calls |
moved to 0.3, since this doesn't seem like it should be release-blocking |
apparently this was nothing more than a foolish double-close |
I thought it would be better to submit this as a separate issue in order to bring it to the attention of the wider community. Although a temporary fix for #3420 has been achieved and the Julia compilation on Windows was working fine, I get a new error after the latest update (compiling and linking works fine, the following error appears towards the end of make):
This is apparently a Windows specific error, since Julia updates fine on Linux.
The text was updated successfully, but these errors were encountered: