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

[BUG] Multiple failures on ECL when running test suite #25

Open
adlai opened this issue Oct 7, 2024 · 4 comments
Open

[BUG] Multiple failures on ECL when running test suite #25

adlai opened this issue Oct 7, 2024 · 4 comments
Labels
bug Failures exists between the ears of programmers.

Comments

@adlai
Copy link
Collaborator

adlai commented Oct 7, 2024

Describe the bug
Running tests triggers numerous failures on ECL.

To Reproduce
Steps to reproduce the behavior:

  1. Install ECL
  2. Prepare yourself to kill ECL
  3. Run tests
  4. Kill ECL if unresponsive

Expected behavior
It should report failures, rather than triggering errors and then livelocking.

Screenshots or Error Logs
This is how far it gets before errors:

*******************
** Starting test **
*******************

Running test suite CHANL
 Running test suite QUEUES
  Running test FRESH-QUEUES ....
  Running test QUEUE-SIMPLE .........
  Running test QUEUE-FULL-P ......
  Running test QUEUE-EMPTY-P ................
  Running test QUEUE-LENGTH-ERROR ....
  Running test QUEUE-OVERFLOW-ERROR ..
  Running test QUEUE-UNDERFLOW-ERROR ................
  Running test QUEUE-STRESS-TEST ......................................................................................................
 Running test suite QUEUES
 Running test suite CHANNELS
  Running test suite CONSTRUCTION
   Running test MAKE-UNBUFFERED .......
   Running test MAKE-STACK .......
   Running test MAKE-BOUNDED ........
   Running test MAKE-UNBOUNDED .......
   Running test MAKE-INVALID ..
  Running test suite MESSAGING
   Running test suite SENDING
    Running test SEND-UNBUFFERED .X
    Running test SEND-BUFFERED .........
    Running test SEND-SEQUENCE .

The error signalled is:

mp:condition-variable-wait can not be used with recursive locks:
#<lock "Anonymous recursive lock" 0x7de08a44ca00>
   [Condition of type SIMPLE-ERROR]


System (please complete the following information):

  • Hardware: dual-core x86_64
  • OS: Arch Linux
  • Compiler: ECL
  • Version 23.9.9-2 [from Arch's package local/ecl]
@adlai
Copy link
Collaborator Author

adlai commented Oct 7, 2024

Manually signalling failures by SIGINT and selection of the IGNORE restart leads to the following final report, after numerous encounters of the error mp:condition-variable-wait can not be used with recursive locks:

*******************
** Starting test **
*******************

Running test suite CHANL
 Running test suite QUEUES
  Running test FRESH-QUEUES ....
  Running test QUEUE-SIMPLE .........
  Running test QUEUE-FULL-P ......
  Running test QUEUE-EMPTY-P ................
  Running test QUEUE-LENGTH-ERROR ....
  Running test QUEUE-OVERFLOW-ERROR ..
  Running test QUEUE-UNDERFLOW-ERROR ................
  Running test QUEUE-STRESS-TEST ......................................................................................................
 Running test suite QUEUES
 Running test suite CHANNELS
  Running test suite CONSTRUCTION
   Running test MAKE-UNBUFFERED .......
   Running test MAKE-STACK .......
   Running test MAKE-BOUNDED ........
   Running test MAKE-UNBOUNDED .......
   Running test MAKE-INVALID ..
  Running test suite MESSAGING
   Running test suite SENDING
    Running test SEND-UNBUFFERED .X
    Running test SEND-BUFFERED .........
    Running test SEND-SEQUENCE .X
   Running test suite RECEIVING
    Running test RECV-UNBUFFERED ..X
    Running test RECV-BUFFERED ......X
    Running test RECV-SEQUENCE ..X
  Running test suite RACING
   Running test RACE-UNBUFFERED fffffff
   Running test RACE-STACK ffffff
   Running test RACE-BUFFERED ffffff
   Running test RACE-UNBOUNDED .ffX
 Running test suite CHANNELS
  Running test suite CONSTRUCTION
  Running test suite MESSAGING
   Running test suite SENDING
   Running test suite RECEIVING
  Running test suite RACING
 Running test suite SELECT
  Running test SELECT-BASIC ....
  Running test suite SELECT-UNBUFFERED
   Running test SELECT-UNBUFFERED-RECV .X
   Running test SELECT-UNBUFFERED-SEND .ff
 Running test suite SELECT
  Running test suite SELECT-UNBUFFERED
 Did 244 checks.
    Pass: 218 (89%)
    Skip: 0 ( 0%)
    Fail: 26 (10%)

 Failure Details:
 --------------------------------
 SELECT-UNBUFFERED-SEND in SELECT-UNBUFFERED []: 
      SELECT didn't SEND when it could've
 --------------------------------
 --------------------------------
 SELECT-UNBUFFERED-SEND in SELECT-UNBUFFERED []: 
      SELECT didn't return the last form's values
 --------------------------------
 --------------------------------
 SELECT-UNBUFFERED-RECV in SELECT-UNBUFFERED []: 
      Unexpected Error: #<a SIMPLE-ERROR 0x7de08a735600>
mp:condition-variable-wait can not be used with recursive locks:
#<lock "Anonymous recursive lock" 0x7de0886ae000>.
 --------------------------------
 --------------------------------
 RACE-UNBOUNDED in RACING []: 
      count=6, RACE-UNBOUNDED

Contested Channel:


#<unbounded-channel [0] 0x7de08a47b4c0> is an instance of class UNBOUNDED-CHANNEL
it has the following instance slots
VALUE:                  (NIL)
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de0886ae410>
SEND-OK:                #<condition-variable 0x7de08a47b480>
RECV-OK:                #<condition-variable 0x7de08a47b440>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a47b400>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de0886ae410> - MP:LOCK


Competing Threads:
#<process s0 0x7de08a78b780>
#<process r1 0x7de08a78b6c0>
#<process s1 0x7de08a78b600>
#<process r2 0x7de08a78b480>
#<process s2 0x7de08a78b3c0>
#<process r3 0x7de08a78b300>
#<process s3 0x7de08a78b240>
#<process r4 0x7de08a78b180>
#<process s4 0x7de08a78b0c0>
#<process r5 0x7de08a78b000>
#<process s5 0x7de081ce1f00>

 --------------------------------
 --------------------------------
 RACE-UNBOUNDED in RACING []: 
      count=10, RACE-UNBOUNDED

Contested Channel:


#<unbounded-channel [0] 0x7de08a47b040> is an instance of class UNBOUNDED-CHANNEL
it has the following instance slots
VALUE:                  (NIL 4)
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de0886ae050>
SEND-OK:                #<condition-variable 0x7de08a47b000>
RECV-OK:                #<condition-variable 0x7de08a735fc0>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a735f80>
RECV-GRABBED-VALUE-P:   T

#<lock "Anonymous recursive lock" 0x7de0886ae050> - MP:LOCK


Competing Threads:
#<process s0 0x7de081ce1d80>
#<process r2 0x7de081ce1b40>
#<process s2 0x7de081ce1a80>
#<process r3 0x7de081ce19c0>
#<process r4 0x7de081ce1840>
#<process r5 0x7de081ce16c0>
#<process s5 0x7de081ce1600>
#<process s6 0x7de081ce1480>
#<process r7 0x7de081ce13c0>
#<process s7 0x7de081ce1300>
#<process r8 0x7de081ce1240>
#<process s8 0x7de081ce1180>
#<process s9 0x7de081ce1000>

 --------------------------------
 --------------------------------
 RACE-UNBOUNDED in RACING []: 
      Unexpected Error: #<a SIMPLE-ERROR 0x7de08a735b80>
Cannot interrupt the inactive process #<process r8 0x7de081ce1240>.
 --------------------------------
 --------------------------------
 RACE-BUFFERED in RACING []: 
      count=3, RACE-BUFFERED

Contested Channel:


#<bounded-channel [0/1] 0x7de08a7148c0> is an instance of class BOUNDED-CHANNEL
it has the following instance slots
VALUE:                  #(2 2 EMPTY)
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de0886aeb90>
SEND-OK:                #<condition-variable 0x7de08a714880>
RECV-OK:                #<condition-variable 0x7de08a714840>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a7147c0>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de0886aeb90> - MP:LOCK


Competing Threads:
#<process s0 0x7de08870de40>
#<process s1 0x7de08870dcc0>
#<process r2 0x7de08870dc00>
#<process s2 0x7de08870da80>

 --------------------------------
 --------------------------------
 RACE-BUFFERED in RACING []: 
      count=6, RACE-BUFFERED

Contested Channel:


#<bounded-channel [1/1] 0x7de08a714240> is an instance of class BOUNDED-CHANNEL
it has the following instance slots
VALUE:                  #(2 2 2)
READERS:                0
WRITERS:                1
LOCK:                   #<lock Anonymous recursive lock 0x7de0886aeaf0>
SEND-OK:                #<condition-variable 0x7de08a714180>
RECV-OK:                #<condition-variable 0x7de08a714140>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a714100>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de0886aeaf0> - MP:LOCK


Competing Threads:
#<process s0 0x7de08870d840>
#<process s1 0x7de08870d6c0>
#<process r2 0x7de08870d600>
#<process r3 0x7de08a78bf00>
#<process s3 0x7de08a78be40>
#<process r4 0x7de08a78bd80>
#<process s4 0x7de08a78bcc0>
#<process r5 0x7de08a78bc00>
#<process s5 0x7de08a78bb40>

 --------------------------------
 --------------------------------
 RACE-BUFFERED in RACING []: 
      count=10, RACE-BUFFERED

Contested Channel:


#<bounded-channel [0/1] 0x7de08a714b00> is an instance of class BOUNDED-CHANNEL
it has the following instance slots
VALUE:                  #(2 2 EMPTY)
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de0886aea50>
SEND-OK:                #<condition-variable 0x7de08a714a80>
RECV-OK:                #<condition-variable 0x7de08a714a40>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a714800>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de0886aea50> - MP:LOCK


Competing Threads:
#<process s0 0x7de08a78b900>
#<process r1 0x7de08a78b840>
#<process s1 0x7de08a78b780>
#<process r2 0x7de08a78b6c0>
#<process s2 0x7de08a78b600>
#<process s3 0x7de08a78b480>
#<process r4 0x7de08a78b3c0>
#<process s4 0x7de08a78b300>
#<process r5 0x7de08a78b240>
#<process s5 0x7de08a78b180>
#<process r6 0x7de08a78b0c0>
#<process s6 0x7de08a78b000>
#<process r7 0x7de08ca613c0>
#<process s7 0x7de08ca61300>
#<process r8 0x7de08ca61240>
#<process s8 0x7de08ca61180>
#<process r9 0x7de08ca61000>
#<process s9 0x7de08a77fd80>

 --------------------------------
 --------------------------------
 RACE-BUFFERED in RACING []: 
      count=15, RACE-BUFFERED

Contested Channel:


#<bounded-channel [0/1] 0x7de08a714400> is an instance of class BOUNDED-CHANNEL
it has the following instance slots
VALUE:                  #(2 2 EMPTY)
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de0886ae9b0>
SEND-OK:                #<condition-variable 0x7de08a7143c0>
RECV-OK:                #<condition-variable 0x7de08a714380>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a714340>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de0886ae9b0> - MP:LOCK


Competing Threads:
#<process s0 0x7de08a77f0c0>
#<process r1 0x7de08a77f000>
#<process s1 0x7de08a1a7f00>
#<process r2 0x7de08a1a7e40>
#<process s2 0x7de08a1a7d80>
#<process r3 0x7de08a1a7cc0>
#<process s3 0x7de08a1a7c00>
#<process r4 0x7de08a1a7b40>
#<process s4 0x7de08a1a7a80>
#<process r5 0x7de08a1a79c0>
#<process s5 0x7de08a1a7900>
#<process r6 0x7de08a1a7840>
#<process s6 0x7de08a1a7780>
#<process r7 0x7de08a1a76c0>
#<process s7 0x7de08a1a7600>
#<process r8 0x7de08a6f7e40>
#<process s8 0x7de08a6f7cc0>
#<process r9 0x7de08a6f7b40>
#<process s9 0x7de08a237f00>
#<process r10 0x7de08a237e40>
#<process s10 0x7de08a237d80>
#<process r11 0x7de08a237cc0>
#<process s11 0x7de08a237c00>
#<process r12 0x7de08a237b40>
#<process s12 0x7de08a237a80>
#<process r13 0x7de08a2379c0>
#<process s13 0x7de08a237900>
#<process r14 0x7de08a237840>
#<process s14 0x7de08a237780>

 --------------------------------
 --------------------------------
 RACE-BUFFERED in RACING []: 
      count=21, RACE-BUFFERED

Contested Channel:


#<bounded-channel [0/1] 0x7de08a4281c0> is an instance of class BOUNDED-CHANNEL
it has the following instance slots
VALUE:                  #(2 2 EMPTY)
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de0886ae690>
SEND-OK:                #<condition-variable 0x7de08a428180>
RECV-OK:                #<condition-variable 0x7de08a47bfc0>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a47bf80>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de0886ae690> - MP:LOCK


Competing Threads:
#<process s0 0x7de08a237540>
#<process r1 0x7de08a237480>
#<process s1 0x7de08a237300>
#<process r2 0x7de08a237240>
#<process s2 0x7de08a237180>
#<process r3 0x7de08a237000>
#<process s3 0x7de08a78bf00>
#<process r4 0x7de08a78be40>
#<process s4 0x7de08a78bd80>
#<process r5 0x7de08a78bcc0>
#<process s5 0x7de08a78bc00>
#<process r6 0x7de08a78bb40>
#<process s6 0x7de08a78ba80>
#<process r7 0x7de088876f00>
#<process s7 0x7de088876e40>
#<process r8 0x7de088876d80>
#<process s8 0x7de088876cc0>
#<process r9 0x7de088876c00>
#<process s9 0x7de088876b40>
#<process r10 0x7de088876a80>
#<process s10 0x7de0888769c0>
#<process r11 0x7de088876900>
#<process s11 0x7de088876840>
#<process r12 0x7de088876780>
#<process s12 0x7de0888766c0>
#<process r13 0x7de088876600>
#<process s13 0x7de088876480>
#<process r14 0x7de0888763c0>
#<process s14 0x7de088876300>
#<process r15 0x7de088876240>
#<process s15 0x7de088876180>
#<process r16 0x7de0888760c0>
#<process s16 0x7de088876000>
#<process r17 0x7de08870de40>
#<process s17 0x7de08870dcc0>
#<process r18 0x7de08870da80>
#<process s18 0x7de08870d9c0>
#<process r19 0x7de08870d600>
#<process s19 0x7de08870d540>
#<process r20 0x7de08870d3c0>
#<process s20 0x7de08870d240>

 --------------------------------
 --------------------------------
 RACE-STACK in RACING []: 
      count=3, RACE-STACK

Contested Channel:


#<stack-channel [0] 0x7de08a729c00> is an instance of class STACK-CHANNEL
it has the following instance slots
VALUE:                  NIL
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de0886aeeb0>
SEND-OK:                #<condition-variable 0x7de08a724fc0>
RECV-OK:                #<condition-variable 0x7de08a724f40>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a724e40>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de0886aeeb0> - MP:LOCK


Competing Threads:
#<process s0 0x7de08a1a7480>
#<process r1 0x7de08a1a73c0>
#<process s1 0x7de08a1a7300>
#<process r2 0x7de08a1a7240>
#<process s2 0x7de08a1a7180>

 --------------------------------
 --------------------------------
 RACE-STACK in RACING []: 
      count=6, RACE-STACK

Contested Channel:


#<stack-channel [0] 0x7de08a724c40> is an instance of class STACK-CHANNEL
it has the following instance slots
VALUE:                  NIL
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de0886aee10>
SEND-OK:                #<condition-variable 0x7de08a724c00>
RECV-OK:                #<condition-variable 0x7de08a724b80>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a724b40>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de0886aee10> - MP:LOCK


Competing Threads:
#<process s0 0x7de08a6f7e40>
#<process s1 0x7de08a6f7cc0>
#<process r2 0x7de08a6f7c00>
#<process s2 0x7de08a6f7b40>
#<process r3 0x7de08a6f7a80>
#<process s3 0x7de08a6f79c0>
#<process r4 0x7de08a6f7900>
#<process s4 0x7de08a6f7840>
#<process r5 0x7de08a6f7780>
#<process s5 0x7de08a6f76c0>

 --------------------------------
 --------------------------------
 RACE-STACK in RACING []: 
      count=10, RACE-STACK

Contested Channel:


#<stack-channel [0] 0x7de08a724780> is an instance of class STACK-CHANNEL
it has the following instance slots
VALUE:                  NIL
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de0886aed70>
SEND-OK:                #<condition-variable 0x7de08a724740>
RECV-OK:                #<condition-variable 0x7de08a724600>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a7245c0>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de0886aed70> - MP:LOCK


Competing Threads:
#<process s0 0x7de08a6f7480>
#<process r1 0x7de08a6f73c0>
#<process s1 0x7de08a6f7300>
#<process r2 0x7de08a77fd80>
#<process s2 0x7de08a77fcc0>
#<process s3 0x7de08870df00>
#<process r4 0x7de08870de40>
#<process s4 0x7de08870dd80>
#<process r5 0x7de08870dcc0>
#<process s5 0x7de08870dc00>
#<process r6 0x7de08870db40>
#<process s6 0x7de08870da80>
#<process r7 0x7de08870d9c0>
#<process s7 0x7de08870d900>
#<process r8 0x7de08870d840>
#<process s8 0x7de08870d780>
#<process r9 0x7de08870d6c0>
#<process s9 0x7de08870d600>

 --------------------------------
 --------------------------------
 RACE-STACK in RACING []: 
      count=15, RACE-STACK

Contested Channel:


#<stack-channel [0] 0x7de08a724380> is an instance of class STACK-CHANNEL
it has the following instance slots
VALUE:                  NIL
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de0886aecd0>
SEND-OK:                #<condition-variable 0x7de08a724340>
RECV-OK:                #<condition-variable 0x7de08a724300>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a7242c0>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de0886aecd0> - MP:LOCK


Competing Threads:
#<process s0 0x7de08870d3c0>
#<process r1 0x7de08870d300>
#<process s1 0x7de08870d240>
#<process r2 0x7de08870d180>
#<process s2 0x7de08870d0c0>
#<process r3 0x7de08870d000>
#<process s3 0x7de088876f00>
#<process r4 0x7de088876e40>
#<process s4 0x7de088876d80>
#<process r5 0x7de088876cc0>
#<process s5 0x7de088876c00>
#<process r6 0x7de088876b40>
#<process s6 0x7de088876a80>
#<process r7 0x7de0888769c0>
#<process s7 0x7de088876900>
#<process r8 0x7de088876840>
#<process s8 0x7de088876780>
#<process r9 0x7de0888766c0>
#<process s9 0x7de088876600>
#<process r10 0x7de088876540>
#<process s10 0x7de088876480>
#<process r11 0x7de0888763c0>
#<process s11 0x7de088876300>
#<process r12 0x7de088876240>
#<process s12 0x7de088876180>
#<process r13 0x7de0888760c0>
#<process s13 0x7de088876000>
#<process r14 0x7de08a6f7e40>
#<process s14 0x7de08a6f7cc0>

 --------------------------------
 --------------------------------
 RACE-STACK in RACING []: 
      count=21, RACE-STACK

Contested Channel:


#<stack-channel [0] 0x7de08a714f40> is an instance of class STACK-CHANNEL
it has the following instance slots
VALUE:                  NIL
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de0886aec30>
SEND-OK:                #<condition-variable 0x7de08a714f00>
RECV-OK:                #<condition-variable 0x7de08a714ec0>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a714d40>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de0886aec30> - MP:LOCK


Competing Threads:
#<process s0 0x7de08a6f79c0>
#<process r1 0x7de08a6f7900>
#<process s1 0x7de08a6f7840>
#<process r2 0x7de08a6f7780>
#<process s2 0x7de08a6f76c0>
#<process r3 0x7de08a6f7600>
#<process s3 0x7de08a6f7180>
#<process r4 0x7de08a6f70c0>
#<process s4 0x7de08a6f7000>
#<process r5 0x7de08a77ff00>
#<process s5 0x7de08a77f780>
#<process r6 0x7de08a77f600>
#<process s6 0x7de08a77f540>
#<process r7 0x7de08a77f480>
#<process s7 0x7de08a77f3c0>
#<process r8 0x7de08a0f6f00>
#<process s8 0x7de08a0f6e40>
#<process r9 0x7de08a0f6d80>
#<process s9 0x7de08a0f6cc0>
#<process r10 0x7de08a0f6c00>
#<process s10 0x7de08a0f6b40>
#<process s11 0x7de08a0f69c0>
#<process r12 0x7de08a0f6840>
#<process s12 0x7de08a0f6780>
#<process r13 0x7de08a0f66c0>
#<process s13 0x7de08a0f6600>
#<process r14 0x7de08a0f6540>
#<process s14 0x7de08a0f6480>
#<process r15 0x7de08a0f6300>
#<process s15 0x7de08a0f6240>
#<process r16 0x7de08a0f6180>
#<process s16 0x7de08a0f60c0>
#<process r17 0x7de08a0f6000>
#<process s17 0x7de08a1a7480>
#<process r18 0x7de08a1a7300>
#<process s18 0x7de08a1a7240>
#<process r19 0x7de08a1a7180>
#<process s19 0x7de08a1a70c0>
#<process r20 0x7de08a6f7480>
#<process s20 0x7de08a6f73c0>

 --------------------------------
 --------------------------------
 RACE-UNBUFFERED in RACING []: 
      count=3, RACE-UNBUFFERED

Contested Channel:


#<a CHANL:CHANNEL 0x7de08ac6fd00> is an instance of class CHANNEL
it has the following instance slots
VALUE:                  SECRETLY-UNBOUND-151
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de08a44cc30>
SEND-OK:                #<condition-variable 0x7de08ac6fcc0>
RECV-OK:                #<condition-variable 0x7de08ac6fc80>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08ac6fc00>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de08a44cc30> - MP:LOCK


Competing Threads:
#<process r0 0x7de08a77f840>
#<process s0 0x7de08a77f780>
#<process r1 0x7de08a77f6c0>
#<process s1 0x7de08a77f600>
#<process r2 0x7de08a77f540>
#<process s2 0x7de08a77f480>

 --------------------------------
 --------------------------------
 RACE-UNBUFFERED in RACING []: 
      count=6, RACE-UNBUFFERED

Contested Channel:


#<a CHANL:CHANNEL 0x7de08ac6f9c0> is an instance of class CHANNEL
it has the following instance slots
VALUE:                  SECRETLY-UNBOUND-151
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de08a44cb90>
SEND-OK:                #<condition-variable 0x7de08ac6f940>
RECV-OK:                #<condition-variable 0x7de08ac6f900>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08ac6f8c0>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de08a44cb90> - MP:LOCK


Competing Threads:
#<process s0 0x7de08a77f240>
#<process s1 0x7de08a77f0c0>
#<process r2 0x7de08a77f000>
#<process s2 0x7de08ca61480>
#<process r3 0x7de08ca613c0>
#<process s3 0x7de08ca61300>
#<process r4 0x7de08ca61240>
#<process s4 0x7de08ca61180>
#<process r5 0x7de08ca610c0>
#<process s5 0x7de08ca61000>

 --------------------------------
 --------------------------------
 RACE-UNBUFFERED in RACING []: 
      count=10, RACE-UNBUFFERED

Contested Channel:


#<a CHANL:CHANNEL 0x7de08ac6f700> is an instance of class CHANNEL
it has the following instance slots
VALUE:                  SECRETLY-UNBOUND-151
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de08a44caf0>
SEND-OK:                #<condition-variable 0x7de08ac6f6c0>
RECV-OK:                #<condition-variable 0x7de08ac6f680>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08ac6f640>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de08a44caf0> - MP:LOCK


Competing Threads:
#<process s0 0x7de08a77fd80>
#<process r1 0x7de08a77fcc0>
#<process s1 0x7de08a77fc00>
#<process r2 0x7de08a6f7f00>
#<process s2 0x7de08a6f7e40>
#<process r3 0x7de08a6f7d80>
#<process s3 0x7de08a6f7cc0>
#<process r4 0x7de08a6f7c00>
#<process s4 0x7de08a6f7b40>
#<process r5 0x7de08a6f7a80>
#<process s5 0x7de08a6f79c0>
#<process r6 0x7de08a6f7900>
#<process s6 0x7de08a6f7840>
#<process r7 0x7de08a6f7780>
#<process s7 0x7de08a6f76c0>
#<process r8 0x7de08a6f7600>
#<process s8 0x7de08a6f7540>
#<process r9 0x7de08a6f7480>
#<process s9 0x7de08a6f73c0>

 --------------------------------
 --------------------------------
 RACE-UNBUFFERED in RACING []: 
      count=15, RACE-UNBUFFERED

Contested Channel:


#<a CHANL:CHANNEL 0x7de08ac6f440> is an instance of class CHANNEL
it has the following instance slots
VALUE:                  SECRETLY-UNBOUND-151
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de08a44ca50>
SEND-OK:                #<condition-variable 0x7de08ac6f400>
RECV-OK:                #<condition-variable 0x7de08ac6f3c0>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08ac6f380>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de08a44ca50> - MP:LOCK


Competing Threads:
#<process s0 0x7de08a6f7180>
#<process r1 0x7de08a6f70c0>
#<process s1 0x7de08a6f7000>
#<process r2 0x7de08a0f6f00>
#<process s2 0x7de08a0f6e40>
#<process r3 0x7de08a0f6d80>
#<process s3 0x7de08a0f6cc0>
#<process r4 0x7de08a0f6c00>
#<process s4 0x7de08a0f6b40>
#<process r5 0x7de08a0f6a80>
#<process s5 0x7de08a0f69c0>
#<process r6 0x7de08a0f6900>
#<process s6 0x7de08a0f6840>
#<process r7 0x7de08a0f6780>
#<process s7 0x7de08a0f66c0>
#<process r8 0x7de08a0f6600>
#<process s8 0x7de08a0f6540>
#<process r9 0x7de08a0f6480>
#<process r10 0x7de08a0f6300>
#<process s10 0x7de08a0f6240>
#<process r11 0x7de08a0f6180>
#<process s11 0x7de08a0f60c0>
#<process r12 0x7de08a0f6000>
#<process s12 0x7de08a77ff00>
#<process r13 0x7de08a77f780>
#<process s13 0x7de08a77f600>
#<process r14 0x7de08a77f540>
#<process s14 0x7de08a77f480>

 --------------------------------
 --------------------------------
 RACE-UNBUFFERED in RACING []: 
      count=21, RACE-UNBUFFERED

Contested Channel:


#<a CHANL:CHANNEL 0x7de08ac6f180> is an instance of class CHANNEL
it has the following instance slots
VALUE:                  SECRETLY-UNBOUND-151
READERS:                1
WRITERS:                0
LOCK:                   #<lock Anonymous recursive lock 0x7de0886aef50>
SEND-OK:                #<condition-variable 0x7de08ac6f140>
RECV-OK:                #<condition-variable 0x7de08a729fc0>
SEND-RETURN-WAIT:       #<condition-variable 0x7de08a729f80>
RECV-GRABBED-VALUE-P:   NIL

#<lock "Anonymous recursive lock" 0x7de0886aef50> - MP:LOCK


Competing Threads:
#<process s0 0x7de08ca613c0>
#<process r1 0x7de08ca61300>
#<process s1 0x7de08ca61240>
#<process r2 0x7de08ca61180>
#<process s2 0x7de08ca61000>
#<process r3 0x7de08a77f240>
#<process s3 0x7de08a77f0c0>
#<process r4 0x7de08a77f000>
#<process s4 0x7de08a237f00>
#<process r5 0x7de08a237e40>
#<process s5 0x7de08a237d80>
#<process r6 0x7de08a237cc0>
#<process s6 0x7de08a237c00>
#<process r7 0x7de08a237b40>
#<process s7 0x7de08a237a80>
#<process r8 0x7de08a2379c0>
#<process s8 0x7de08a237900>
#<process r9 0x7de08a237840>
#<process s9 0x7de08a237780>
#<process r10 0x7de08a2376c0>
#<process s10 0x7de08a237600>
#<process r11 0x7de08a237540>
#<process s11 0x7de08a237480>
#<process r12 0x7de08a2373c0>
#<process s12 0x7de08a237300>
#<process r13 0x7de08a237240>
#<process s13 0x7de08a237180>
#<process r14 0x7de08a2370c0>
#<process s14 0x7de08a237000>
#<process r15 0x7de08a1a7f00>
#<process s15 0x7de08a1a7e40>
#<process r16 0x7de08a1a7d80>
#<process s16 0x7de08a1a7cc0>
#<process r17 0x7de08a1a7c00>
#<process s17 0x7de08a1a7b40>
#<process r18 0x7de08a1a7a80>
#<process s18 0x7de08a1a79c0>
#<process r19 0x7de08a1a7900>
#<process s19 0x7de08a1a7840>
#<process r20 0x7de08a1a7780>
#<process s20 0x7de08a1a76c0>

 --------------------------------
 --------------------------------
 RECV-SEQUENCE in RECEIVING []: 
      Unexpected Error: #<a SIMPLE-ERROR 0x7de08ac6ff80>
Something bad happened.
 --------------------------------
 --------------------------------
 RECV-BUFFERED in RECEIVING []: 
      Unexpected Error: #<a SIMPLE-ERROR 0x7de08a01c0c0>
mp:condition-variable-wait can not be used with recursive locks:
#<lock "Anonymous recursive lock" 0x7de08a44c9b0>.
 --------------------------------
 --------------------------------
 RECV-UNBUFFERED in RECEIVING []: 
      Unexpected Error: #<a SIMPLE-ERROR 0x7de08a469280>
mp:condition-variable-wait can not be used with recursive locks:
#<lock "Anonymous recursive lock" 0x7de08a44ca00>.
 --------------------------------
 --------------------------------
 SEND-SEQUENCE in SENDING []: 
      Unexpected Error: #<a SIMPLE-ERROR 0x7de08a469700>
Something bad happened.
 --------------------------------
 --------------------------------
 SEND-UNBUFFERED in SENDING []: 
      Unexpected Error: #<a SIMPLE-ERROR 0x7de081f71540>
mp:condition-variable-wait can not be used with recursive locks:
#<lock "Anonymous recursive lock" 0x7de081e3a910>.
 --------------------------------

@adlai adlai changed the title [BUG] Failure XYZ when running test suite [BUG] Multiple failures on ECL when running test suite Oct 7, 2024
@adlai adlai added the bug Failures exists between the ears of programmers. label Oct 7, 2024
@adlai
Copy link
Collaborator Author

adlai commented Oct 7, 2024

Arguably it should be labelled ENHANCE; however, I remember there being a strong emphasis on portability when ChanL was written, so these failures really rub me the wrong way.

@adlai adlai linked a pull request Nov 20, 2024 that will close this issue
Merged
@adlai
Copy link
Collaborator Author

adlai commented Nov 24, 2024

I still don't understand why anywhere in this code are needed recursive locks; however, that argument is flogging a dead horse.

@adlai adlai pinned this issue Nov 28, 2024
@adlai adlai closed this as completed in #33 Dec 18, 2024
@adlai adlai removed a link to a pull request Dec 18, 2024
Merged
@adlai
Copy link
Collaborator Author

adlai commented Dec 18, 2024

Incorrectly closed by excessive GitHub automation.

@adlai adlai reopened this Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Failures exists between the ears of programmers.
Projects
None yet
Development

No branches or pull requests

1 participant