[its-hackers] sys; atsign dragon

Ken Harrenstien iceklh at gmail.com
Thu Nov 17 08:13:24 CET 2016


Random problems?  Different on different platforms?

I'm thinking timing races, especially for code that doesn't
run as an ITS user job.  The instantaneous response of the
virtual disk hardware really messes with the assumptions of
a surprising amount of low-level I/O code.

Something you can try is to impose an artificial delay.  There is
a KLH10 user configuration variable that you can set at startup
that will delay disk operations by whatever amount you specify; this
is most reliable when used with a KLH10 built using SYNCH mode,
where the clock is slaved to the instruction count and everything in
theory is entirely synchronous rather than being driving by real-time
interrupts.   This is how I was able to discover and bypass, if not
fix, several race conditions.

Try that, giving the delay/timeout a large number (eg a few thousand
instructions) and see if things magically become more reliable or not.

There are other debug tools available, including the ability to generate
an instruction trace (again most useful with a SYNCH build so the clock
doesn't go berserk when you suspend execution to turn on the trace).
Sometimes that helps, sometimes not.

--Ken




On Wed, Nov 16, 2016 at 10:47 PM, Lars Brinkhoff <lars at nocrew.org> wrote:

> Ken Harrenstien wrote:
> > Note there are timing races in the original DSKDMP (or am I thinking
> > about NSALV?) that will cause it to fail, since the code expects the
> > hardware disk to take a long time but the virtual disk responds
> > instantly and wipes out the code that is still being executed.
>
> I'm creating an automated ITS install, starting from tapes, and building
> as much as possible from source code.
>
> At first, I loaded everything - binaries and source code - onto a fresh
> disk using NSALV.  This worked fine in the beginning, when there weren't
> many files.  But as I started to add more and more code, I began to
> experience random problems here and there.  They would come and go in
> different places, or dissapear when I reran the build.  Also, some host
> machines were worse than others.
>
> Now I only load a few essential binaries with NSALV, and the rest with
> DUMP in timesharing.  This seems to have fixed the problems.  Phew.
>
> Do you have patches for NSALV or DSKDMP?  (Or to anything else in ITS?)
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://its.victor.se/mailman/private/its-hackers_its.victor.se/attachments/20161116/19060401/attachment-0001.html>


More information about the its-hackers mailing list