Opened 7 years ago

Closed 5 years ago

#147 closed defect (fixed)

Console lockup

Reported by: charles.unix.pro@… Owned by: Eric Swenson
Priority: minor Milestone: MR12.8
Component: Hardcore Version: MR12.6f
Keywords: console opcon lockup Cc:

Description

With the multi-threaded dps8, the operator console occasionally locks up. Waiting 30 seconds allows the console to timeout and become accessible again.

Olin S. says:

"This behaviour is not unprecedented--console
hangs are something we had occasionally and
always had the devil's time diagnosing.

My guess is that it's due to an interrupt being
lost or mis-handled, which might be a side-effect of connect misbehaviour.

I think it's unlikely to be a problem in the
ipc_$block path and associated mechanisms--an
interrupt should arrive and be processed pretty
much immediately to send an event to an event channel.

Typically, what we'd do is put in some syserr
calls to trace relevant events in ring zero, and
look for unusual delays. In the emulator, you
have more opportunities since you can log events
internal to the emulated devices as well. The ocdcm code is not simple.

Another possibility is that something else is
keeping the Initializer process busy (or
waiting), and that you're seeing the results as
an effect on console responsiveness, even though
the actual problem is unrelated. This would be even more annoying to diagnose."

Change History (4)

comment:1 by canthony, 7 years ago

Some observations;

This has only been observed in the multithreaded emulator when more then one CPU is running.

It is often seen to occur after a "rcf add cpu b" command (when going from single CPU to dual CPU).

Instrumenting the emulator, I see the following events:

Operator press ATTN

Multics does a write, printing the "M-> " prompt

Multics issue a read, unlocking the console

Operator types "rcf add cpu b\n"

Emulator sends the input to Multics and locks the console

Multics does a series of writes:

1645.1 start_cpu: Added CPU B.
Ready
M->

Multics does not issue a console read until about 20 seconds has elapsed.

2nd scenario: Repeatedly pressing ATTN/enter. The ATTN key should produce a prompt, pressing Enter should send an empty command to Multics and relock the console. Sometimes Multic does not respond to the ATTN key for tens of seconds. (The dps8 instrumentation indicates the the special interrupt was sent.)

3rd scenario: Repeatedly pressing ATTN/enter. The ATTN key should produce a prompt, pressing Enter should send an empty command to Multics and relock the console. Sometimes Multics does not issue the read command for tens of seconds after printing the prompt.

comment:2 by Eric Swenson, 5 years ago

Milestone: MR12.8
Status: newassigned

comment:3 by Eric Swenson, 5 years ago

Fixed with 2021-10-29,MR12.8-1004.

comment:4 by Eric Swenson, 5 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.