Opened 5 years ago

Closed 4 years ago

#1345 closed defect (moved)

CCL 1.11-r16635 hangs after calling (quit) on Windows 8 or Windows 10

Reported by: TVossen Owned by:
Priority: normal Milestone:
Component: Runtime (threads, GC) Version: 1.11
Keywords: Cc:

Description

I'm using Windows 8.1 and CCL 1.11-r16635 (wx86cl64.exe). When I start wx86cl64 and call (quit), the binary does not quit. It just hangs there with no further activity.

? (quit)

I've tested this with the 64-bit binary and with the 32-bit binary. This issue does not happen all the time. With the 32-bit binary (wx86cl.exe) this hang does not occur as often as with the 64-bit binary. The 64-bit binary seems to hang on (quit) with a much higher likelihood on my windows. Windows 8.1 and Windows 10 seem to behave identical.

In the windows taskmanager I see that the wx86cl64 binary changes from two thread to one thread when I call (quit). After this the application seems to hang on its last thread.

Furthermore I've noticed that I can avoid the problem quite reliably when I change the compatibility setting of the wx86cl64.exe binary to Windows7. (This setting can be changed in the properties dialogue for the file wx86cl64.exe)

I've seen that there is a similar ticket already:

http://trac.clozure.com/ccl/ticket/1142

However I did not rebuild my lisp image and I don't see any error message at all (or at least I don't know where to look for an error message). If this is related to the same cause then just close this ticket.

Any help on this is appreciated.

Change History (13)

comment:1 Changed 5 years ago by shassard

I've noticed this as well, and it seems to be exacerbated by quicklisp in particular. This makes using emacs/slime on Windows with clozure pretty challenging.

comment:2 Changed 5 years ago by gb

just to be clear, if you run the image in svn and QuickLisp? is not involved, does QUIT hang ?

comment:3 Changed 5 years ago by shassard

To confirm, I've checked out a build from svn at:

http://svn.clozure.com/publicsvn/openmcl/trunk/windows/ccl

I'm getting build version 1.12-dev-r16752 (WindowsX8664).

quicklisp is configured to autoload in my "ccl-init.lisp", as per the generic quicklisp installation instructions.

I can confirm that with the latest trunk build that I'm still seeing the hang on "(quit)".

I'm running Windows 10 x64 Version 1511 Build 10586.420 (via "winver.exe").

Hopefully this helps!

comment:4 Changed 5 years ago by shassard

This seems to reproduce 100% of the time on my machine.

I'm not sure if having Visual Studio 2015 and it's components might have any effect, in the case that others can't reproduce this problem on stock Windows 10 ..?

comment:5 Changed 5 years ago by shassard

Sorry, I forgot to test without Quicklisp.

Removing it from the picture, I'm still seeing the hang with the x64 image 100% of the time.

comment:6 Changed 5 years ago by shassard

Also, switching the application to Windows 8 compatibility mode seems to make the hang on quit go away.

comment:7 Changed 5 years ago by gb

I have not been able to reproduce this in either the 1.11 release or the trunk. surprisingly, the two wx86cl64 executables return different results for SOFTWARE-VERSION:

in the trunk

? (software-version)
"10.0 Build 10586 (Workstation)"
?
in the 1.11 release:

? (software-version)
"6.2 Build 9200 (Workstation)"

I don't know if or how this is significant, see https://msdn.microsoft.com/en-us/library/windows/desktop/ms724451(v=vs.85).aspx

comment:8 Changed 5 years ago by shassard

Any suggestions on how to debug this since I'm getting a consistent repro?

comment:9 Changed 5 years ago by gb

the only way that I know of debugging the code involved is to use gdb. QUIT uses PROCESS-INTERRUPT to force the initial thread to shutdown any other threads.

yesterday, you said that " switching the application to Windows 8 compatibility mode seems to make the hang on quit go away."

has that changed ?

comment:10 Changed 5 years ago by shassard

Forcing the compatibility mode to Windows 8 still works fine, but it seems like it would be nice to figure out why it's failing in the default Windows 10 mode.

comment:11 Changed 5 years ago by shassard

I've installed a cygwin environment for poking around at things, and strangely my desktop machine doesn't experience the hang. I can only reproduce the hang on my laptop!

I'm a little inexperienced with gdb, and clozure in particular, so if you have any quick tips to get a useful trace that would be a great help.

comment:12 Changed 5 years ago by rme

  • Milestone Clozure CL 1.10 deleted

Milestone Clozure CL 1.10 deleted

comment:13 Changed 4 years ago by rme

  • Resolution set to moved
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.