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

SBCL abort is broken. #6

Open
Valera opened this issue Sep 9, 2010 · 5 comments
Open

SBCL abort is broken. #6

Valera opened this issue Sep 9, 2010 · 5 comments

Comments

@Valera
Copy link

Valera commented Sep 9, 2010

With sbcl 1.0.42, after
(asdf:operate 'asdf:load-op :cl-gtk2-gtk)
I can't abort execution of (sleep 10) with C-c C-c in SLIME, and with C-c in sbcl console.

1.0.39 works just fine.

@dmitryvk
Copy link
Owner

Can you provide more detailed description of what happened? E.g., this happened in SLIME or in a console window; if it was SLIME, what commands were entered into REPL and which were entered in inferior-lisp buffer.

In sbcl-win32-threads, sleep (and many other things) is uninterruptible because Windows lacks UNIX/POSIX signals and threading is implemented in entirely different way.

By the way, on my machine loading cl-gtk2-gtk from SLIME's REPL hangs at some point until I enter anything into inferior-lisp.

@Valera
Copy link
Author

Valera commented Sep 10, 2010

Originally I ran into this bug when I was trying to abort execution of my server main thread from slime. But then I reproduced it in raw sbcl console just as in the first comment.
sbcl 1.0.42 Ubuntu 10.04.

@dmitryvk
Copy link
Owner

The problems was that Gtk+ during initialization changes SIPIPE handler to SIGIGN and SBCL uses SIGPIPE to interrupt threads. I've commited the workaround, but this will need some more thought.

@guicho271828
Copy link

I post another issue here, because the root of the problem seems the same.
as long as on sbcl 1.1.2, timer function does not work after
(require :cl-gtk2-gtk) or (require :cl-gtk2-cairo), or both.

the package is quickloaded, so I will try the latest version after this post.

CL-USER>
(defparameter a 0)

(defun timer-test ()
(write-line "Hello, world")
(force-output t)
(incf a))

(defparameter timer
(sb-ext:make-timer #'timer-test
:name :helloworld
;; :thread (sb-thread:main-thread)
))

(sb-ext:schedule-timer timer 2)
Hello, world <----------------------------this is wrote properly after the delay
; No value
CL-USER> (require :cl-gtk2-gtk)
NIL
CL-USER>
(defparameter a 0)

(defun timer-test ()
(write-line "Hello, world")
(force-output t)
(incf a))

(defparameter timer
(sb-ext:make-timer #'timer-test
:name :helloworld
;; :thread (sb-thread:main-thread)
))

(sb-ext:schedule-timer timer 2)
STYLE-WARNING: redefining COMMON-LISP-USER::TIMER-TEST in DEFUN
; No value
CL-USER>

on

uname -a
Linux guicho-desktop 3.2.0-35-generic #55-Ubuntu SMP Wed Dec 5 17:42:16 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

@guicho271828
Copy link

sorry it wasn't actually the case, my sbcl was loading the old version which was asdf-installed 2 yrs ago.

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

3 participants