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

SIGSEGV failures in pdp11 code #24

Closed
jguillaumes opened this issue Jan 7, 2013 · 1 comment
Closed

SIGSEGV failures in pdp11 code #24

jguillaumes opened this issue Jan 7, 2013 · 1 comment
Assignees

Comments

@jguillaumes
Copy link
Contributor

I have found several SIGSEGV aborts in the pdp11 simulator (master HEAD in the repo). The easier to reproduce is this one:

  • Boot standalone BRU
  • Attach TS0 to a new file, and KEEP IT WRITE LOCKED
  • Try to write to TS0.
  • Boom!

I have observed other unexpected SIGSEGVs but this one can be reproduced consistently.

Here is a console log:

sim> att ts0 brusys.tap
sim> show ts
TS, address=17772520-17772523, vector=224, attached to brusys.tap, write locked, SIMH format, unlimited capacity
sim> show rp
RP, Massbus adapter 0, 8 units
RP0, 87MW, attached to RP06.000, write enabled, RP06
RP1, 43MW, attached to RP04.001, write enabled, RP04
RP2, 33MW, not attached, write enabled, autosize
RP3, 33MW, not attached, write enabled, autosize
RP4, 33MW, not attached, write enabled, autosize
RP5, 33MW, not attached, write enabled, autosize
RP6, 33MW, not attached, write enabled, autosize
RP7, 33MW, not attached, write enabled, autosize
sim> b ts

RSX-11M/RSX-11M-PLUS STANDALONE COPY SYSTEM V4.8

RSX-11M/RSX-11M-PLUS Standalone Configuration and Disk Sizing Program

Valid switches are:
/CSR=nnnnnn to change the default device CSR
/VEC=nnn to change the default device vector
/FOR=n to change the default magtape formatter number
/DEV to list all default device CSR and vectors

Enter first device: ms0:

Enter second device: db0:

Hit RETURN and enter date and time as 'TIM HH:MM MM/DD/YY'

Simulation stopped, PC: 001344 (CLRB (R1)+)
sim> att ts0 newtape.tap
TS: creating new file
sim> show ts0
TS0, attached to newtape.tap, write locked, SIMH format, unlimited capacity
sim> c

run bru

BRU>
From: db0:
To: ms0:
BRU -- WARNING -- Volume write locked

BRU -- WARNING -- Mount another tape
Violació de segment

@ghost ghost assigned markpizz Jan 7, 2013
@markpizz
Copy link
Member

markpizz commented Jan 7, 2013

Hi Jordi,

There were two related issues you're tests identified here. These were in recently added code which exists to properly cancel potentially pending asynchronous I/O operations when canceling is needed. The code didn't check for asynch being disabled (the non default case), and thus referenced things through null pointers when asynch as disabled.

Thanks for finding this flaw.

  • Mark

@markpizz markpizz closed this as completed Jan 7, 2013
markpizz added a commit that referenced this issue Apr 16, 2013
…ssue #22 and return RI if DTR is not set, and DCD if it is.  This solves the modem behavior issue #24 as well.
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

2 participants