lem-project / lem

Common Lisp editor/IDE with high expansibility
http://lem-project.github.io/
MIT License
2.18k stars 162 forks source link

v2.0.0 binary on Windows requires internet connection to start #805

Open VitoVan opened 1 year ago

VitoVan commented 1 year ago

Without internet, it will flash and quit (#804), then left a log file at %HOMEPATH%\lem.log:

The alien function "gai_strerror" is undefined.
Backtrace for: #<SB-THREAD:THREAD "editor" RUNNING {100427B243}>
0: ("undefined function")
1: ((SB-KERNEL::CONDITION-REPORT SB-BSD-SOCKETS:NAME-SERVICE-ERROR) #<SB-BSD-SOCKETS:HOST-NOT-FOUND-ERROR {100509E4B3}> #<SB-IMPL::STRING-OUTPUT-STREAM {86AEFC3}>)
2: ((LABELS SB-IMPL::HANDLE-IT :IN SB-KERNEL:OUTPUT-OBJECT) #<SB-IMPL::STRING-OUTPUT-STREAM {86AEFC3}>)
3: (PRINC #<SB-BSD-SOCKETS:HOST-NOT-FOUND-ERROR {100509E4B3}> #<SB-IMPL::STRING-OUTPUT-STREAM {86AEFC3}>)
4: (LEM:POP-UP-BACKTRACE #<SB-BSD-SOCKETS:HOST-NOT-FOUND-ERROR {100509E4B3}>)
5: ((FLET "H0" :IN LEM::TOPLEVEL-COMMAND-LOOP) #<SB-BSD-SOCKETS:HOST-NOT-FOUND-ERROR {100509E4B3}>)
6: (SB-KERNEL::%SIGNAL #<SB-BSD-SOCKETS:HOST-NOT-FOUND-ERROR {100509E4B3}>)
7: (ERROR SB-BSD-SOCKETS:HOST-NOT-FOUND-ERROR :ERRNO 11001 :SYSCALL "getaddrinfo")
8: (SB-BSD-SOCKETS:NAME-SERVICE-ERROR "getaddrinfo" 11001)
9: (SB-BSD-SOCKETS:GET-HOST-BY-NAME #<unavailable argument>)
10: ((:METHOD QL-NETWORK::%OPEN-CONNECTION (QL-IMPL:SBCL T T)) #<unused argument> "beta.quicklisp.org" 80) [fast-method]
11: ((:METHOD QL-NETWORK::%CALL-WITH-CONNECTION (T T T T)) #<unused argument> "beta.quicklisp.org" 80 #<FUNCTION (LAMBDA (QL-HTTP::CONNECTION) :IN QL-HTTP:HTTP-FETCH) {1005033C6B}>) [fast-method]
12: (QL-HTTP:HTTP-FETCH #<QL-HTTP:URL "http://beta.quicklisp.org/dist/quicklisp.txt"> #P"C:/Users/vito/.lem/quicklisp/tmp/install-dist-distinfo.txt" :FOLLOW-REDIRECTS T :QUIETLY NIL :IF-EXISTS :RENAME-AND-DELETE :MAXIMUM-REDIRECTS NIL)
13: (QL-DIST:INSTALL-DIST #<QL-HTTP:URL "http://beta.quicklisp.org/dist/quicklisp.txt"> :PROMPT NIL :REPLACE NIL)
14: (LEM::INIT #S(LEM::COMMAND-LINE-ARGUMENTS :ARGS NIL :DEBUG NIL :LOG-FILENAME NIL :NO-INIT-FILE NIL))
15: (LEM::TOPLEVEL-COMMAND-LOOP #<FUNCTION (LAMBDA NIL :IN LEM::RUN-EDITOR-THREAD) {1004F7318B}>)
16: ((LAMBDA NIL :IN LEM::RUN-EDITOR-THREAD))
17: ((LAMBDA NIL :IN LEM::RUN-EDITOR-THREAD))
18: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
19: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
20: ((FLET "WITHOUT-INTERRUPTS-BODY-138" :IN SB-THREAD::RUN))
21: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
22: ((FLET "WITHOUT-INTERRUPTS-BODY-131" :IN SB-THREAD::RUN))
23: (SB-THREAD::RUN)
24: ("foreign function: #x14003EBE5")
25: ("foreign function: #x14000685A")

After I connected to the internet, everything worked.

Is this the expected behavior?

Some cautious person would have a bad feeling about this.

cxxxr commented 1 year ago

certainly. This is strange behavior. Thanks for the report.

VitoVan commented 1 year ago

It seems to be this line:

https://github.com/lem-project/lem/blob/9575d16f48675458f71775caf650dc5636a173e9/src/lem.lisp#L173

VitoVan commented 1 year ago

And this:

https://github.com/lem-project/lem/blob/9575d16f48675458f71775caf650dc5636a173e9/src/lem.lisp#L145

cxxxr commented 1 year ago

Thanks for the research, very helpful.