[Ecls-list] threading failures

James M. Lawrence llmjjmll at gmail.com
Sat Dec 19 21:45:51 UTC 2015


On Wed, Sep 2, 2015 at 3:32 PM, Daniel Kochmański
> Ok, so I guess I'll just set up 32-bit VM. I hope this will be able to
> reproduce the problems (next test doesn't fail neither on my x86_64 for
> my tests). Yeah, I also think that kernel bug is unlikely, but I'll keep
> that possibility in mind.
>
> I've added your tests to repository and will integrate them soon
> (infinite loop isn't a good pick for regression tests :-)).

An update: I tried this on a newer kernel and obtained the same
results. It also fails on Linux x86_64 running 32-bit Ubuntu 15.10 (kernel
version 4.2) inside virtualbox.

http://releases.ubuntu.com/15.10/ubuntu-15.10-desktop-i386.iso

There wasn't an error with only one CPU enabled in virtualbox, but
when I enabled all 8 CPUs (for my machine) in virtualbox I received a
similarly-intermittent error, though the error text was different.
This is for the first test given in this thread. Both 16.0.0 and the
latest from git fail in the same way.

lmj at u1510:~$ uname -a
Linux u1510 4.2.0-16-generic #19-Ubuntu SMP Thu Oct 8 14:46:51 UTC
2015 i686 i686 i686 GNU/Linux
lmj at u1510:~$ ~/usr/stow/ecl-dev/bin/ecl -norc -eval '(load
(compile-file "bug.lisp"))' -eval '(run)'
;;; Loading #P"/home/lmj/usr/stow/ecl-dev/lib/ecl-16.1.0/cmp.fas"
;;;
;;; Compiling bug.lisp.
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0
;;;
;;; Compiling (DEFUN TEST ...).
;;; Compiling (DEFUN RUN ...).
;;; End of Pass 1.
;;; Emitting code for TEST.
;;; Emitting code for #:G5.
;;; Emitting code for RUN.
;;; Finished compiling bug.lisp.
;;;
;;; Loading "/home/lmj/bug.fas"
.......................................................................An
error occurred during initialization:
Unable to interrupt process #<process test>
C library explanation: Interrupted system call..

Condition of type: SIMPLE-ERROR
Unable to interrupt process #<process test>
C library explanation: Interrupted system call.

Available restarts:

1. (CONTINUE) Ignore initialization errors and continue.
2. (ABORT) Quit ECL unsafely, ignoring all existing threads.

Top level in: #<process TOP-LEVEL>.
>



More information about the ecl-devel mailing list