Closed aap closed 7 years ago
This may be a problem with SIMH. @eswenson1, have you noticed this using KLH10?
No, I've never had any issues with either ^N or $^N. When I get a chance, I'll try out your specific example.
I just tried to assemble and debug your SIMPLE program on ES-ITS. I had no trouble stepping with ^N or $^N.
I see this too in SIMH, so now I'm fairly certain it's a SIMH bug. I'll try it in the latest SIMH to see if it's a fixed bug.
$^N works in SIMH, so it's a problem with 1-proceed.
I forgot to say, ES-ITS uses KLH10. Also, it wasn't built using the DB build, so it is still possible that a DB-built version on KLH10 would fail -- except that I've debugged many, many issues on DB ITS (under KLH10) with no problems. And I use a combination of ^N and $^N so I'm pretty confident that KLH10 supports all this fine. I never use SIMH because it doesn't support the network.
So @larsbrinkhoff labels this as a bug. If one of the exiting parties to this discussion doesn't want to dig into the simulator to fix it, then please provide: 1) sim> SHOW VERSION output for the failing simulator 2) a simulator configuration file which reflects a minimal configuration that demonstrates the problem 3) critical data files (i.e. disk image, etc.) necessary to reproduce the problem 4) precise instructions to get to the point which demonstrates the failure. 5) the expected behavior which currently isn't being achieved.
Thanks.
Right. I tested with klh10 yesterday and indeed did not experience this issue, so I cross-posted this issue to the simh repo: https://github.com/simh/simh/issues/373 When I get home I will provide the info you asked for on the simh issue page.
Until simh is fixed I think we should leave this issue open.
Quick check: show version
says
PDP-10 simulator V3.8-1 [64b data, 32b addresses, Ethernet support]
I looked into the SIMH git log, and didn't find any comments about ITS 1-proceed since it was implemented in 2001.
I also tested SIMH built from GitHub today. Same problem. show version
:
PDP-10 simulator V4.0-0 Beta
Simulator Framework Capabilities:
64b data
32b addresses
Ethernet Packet transports:TAP:NAT:UDP
Idle/Throttling support is available
Virtual Hard Disk (VHD) support
RAW disk and CD/DVD ROM support
Asynchronous I/O support
FrontPanel API Version 2
Host Platform:
Compiler: GCC 4.8.4
Simulator Compiled as C arch: x64 (Release Build) on Nov 8 2016 at 12:51:38
Memory Access: Little Endian
Memory Pointer Size: 64 bits
Large File (>2GB) support
SDL Video support: No Video Support
PCRE RegEx support for EXPECT commands
OS clock resolution: 1ms
Time taken by msleep(1): 2ms
OS: Linux delphi 4.4.0-53-generic #74~14.04.1-Ubuntu SMP Fri Dec 2 03:43:31 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
git commit id: $Format:
Hmmm.... I would expect to see the git commit id: $Format to reflect the current commit.
How did you pick up the github version? and how did you build it?
I believe the exact steps were:
git clone https://github.com/simh/simh
cd simh
make pdp10
Then I ran BIN/pdp10
.
The commit id is 0461008991aa12bd677bf448809fe214be13d8d9
I believed you about it being current. I'm still wondering how the commit id didn't get into the binary.
When I do exactly what you said, I get the commit id:
mark@mark-VirtualBox:~$ git clone https://github.com/simh/simh
Cloning into 'simh'...
remote: Counting objects: 19814, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 19814 (delta 2), reused 0 (delta 0), pack-reused 19804
Receiving objects: 100% (19814/19814), 29.78 MiB | 6.96 MiB/s, done.
Resolving deltas: 100% (15592/15592), done.
Checking connectivity... done.
mark@mark-VirtualBox:~$ cd simh
mark@mark-VirtualBox:~/simh$ make pdp10
*** Installing git hooks in local repository ***
lib paths are: /lib/x86_64-linux-gnu/ /usr/lib/ /usr/lib/x86_64-linux-gnu/ /usr/lib/x86_64-linux-gnu/libfakeroot/ /usr/lib/x86_64-linux-gnu/mesa-egl/ /usr/lib/x86_64-linux-gnu/mesa/
include paths are: /usr/include
using libm: /usr/lib/x86_64-linux-gnu/libm.so
using librt: /usr/lib/x86_64-linux-gnu/librt.so
using libpthread: /usr/lib/x86_64-linux-gnu/libpthread.so /usr/include/pthread.h
using libpcreposix: /usr/lib/x86_64-linux-gnu/libpcreposix.so /usr/include/pcreposix.h
using libdl: /usr/lib/x86_64-linux-gnu/libdl.so /usr/include/dlfcn.h
using libpcap: /usr/include/pcap.h
*** Info ***
*** Info *** pdp10 Simulator are being built with
*** Info *** minimal libpcap networking support
*** Info ***
*** Info ***
*** Info *** Simulators on your Linux platform can also be built with
*** Info *** extended LAN Ethernet networking support by using VDE Ethernet.
*** Info ***
*** Info *** To build simulator(s) with extended networking support you
*** Info *** should install the vde2 package to provide this
*** Info *** functionality for your Linux system:
*** Info *** $ sudo apt-get install libvdeplug-dev
*** Info ***
***
*** pdp10 Simulator being built with:
*** - compiler optimizations and no debugging support. GCC Version: 5.4.0.
*** - dynamic networking support using Linux provided libpcap components.
*** - Local LAN packet transports: PCAP TAP NAT(SLiRP)
***
*** git commit id is 0461008991aa12bd677bf448809fe214be13d8d9.
***
mkdir -p BIN
gcc -std=gnu99 -U__STRICT_ANSI__ -O2 -finline-functions -fgcse-after-reload -fpredictive-commoning -fipa-cp-clone -fno-unsafe-loop-optimizations -fno-strict-overflow -Wno-unused-result -DSIM_GIT_COMMIT_ID=0461008991aa12bd677bf448809fe214be13d8d9 -DSIM_COMPILER="GCC Version: 5.4.0" -I . -D_GNU_SOURCE -DUSE_READER_THREAD -DSIM_ASYNCH_IO -DHAVE_PCREPOSIX_H -DHAVE_DLOPEN=so -DHAVE_GLOB PDP10/pdp10_fe.c PDP11/pdp11_dz.c PDP10/pdp10_cpu.c PDP10/pdp10_ksio.c PDP10/pdp10_lp20.c PDP10/pdp10_mdfp.c PDP10/pdp10_pag.c PDP10/pdp10_rp.c PDP10/pdp10_sys.c PDP10/pdp10_tim.c PDP10/pdp10_tu.c PDP10/pdp10_xtnd.c PDP11/pdp11_pt.c PDP11/pdp11_ry.c PDP11/pdp11_cr.c PDP11/pdp11_dup.c PDP11/pdp11_dmc.c PDP11/pdp11_kmc.c PDP11/pdp11_xu.c scp.c sim_console.c sim_fio.c sim_timer.c sim_sock.c sim_tmxr.c sim_ether.c sim_tape.c sim_disk.c sim_serial.c sim_video.c sim_imd.c sim_card.c -DVM_PDP10 -DUSE_INT64 -I PDP10 -I PDP11 -DHAVE_PCAP_NETWORK -I/usr/include/ -DBPF_CONST_STRING -DUSE_SHARED -DHAVE_TAP_NETWORK -Islirp -Islirp_glue -Islirp_glue/qemu -DHAVE_SLIRP_NETWORK -DUSE_SIMH_SLIRP_DEBUG slirp/*.c slirp_glue/*.c -o BIN/pdp10 -lm -lrt -lpthread -lpcreposix -ldl
mark@mark-VirtualBox:~/simh$ BIN/pdp10
s
PDP-10 simulator V4.0-0 Beta git commit id: 04610089
sim>
I built it again, in a fresh directory. Now it worked.
When I did it the first time, I checked out SIMH as a subdirectory inside another git repository. That may be the problem.
The latest simh will now also be able to display its commit-id when simh is a submodule of another repo.
Since it seems to be fixed now, I'll close this issue.
I'm still somewhat of a luser when it comes to ITS, I hope the issue is not just my stupidity. I assembled the simple program from Henry Baker's pdp-10 assembly tutorial and tried to step through it with DDT, but once I type ^N the system crashes. See my transcript from simh: