Pascal programs won't run

Pascal programs won't run

Program Hello(Input, Output);
Begin
WriteLn('Hello, world!');
End.

Error: out_of_bounds at >user_dir_dir>SysEng>Cooper>hello|15 (line 1)
referencing !BBBJbPkCGGwHDg.area.linker|777777 (in process dir)
Attempt to access beyond end of segment.

I found some example Pascal source in pascal.changes.info; they fail as well, indicating the probem is probably related to Pascal runtime, not a source code bug.
The meesages are not consistent:

hello
Error: fault_tag_1 by >user_dir_dir>User>Anthony>hello|15 (line 1)
referencing !BBBJfCpmlxDlLd.area.linker|40040 (in process dir)
Ascii data where pointer expected.
hello
Error: out_of_bounds at >user_dir_dir>User>Anthony>hello|15 (line 1)
referencing !BBBJfCpmlxDlLd.area.linker|777777 (in process dir)
Attempt to access beyond end of segment.
pascal hello -db
hello
Error: out_of_bounds at >user_dir_dir>User>Anthony>hello|15 (line 1)
referencing !BBBJfCpmlxDlLd.area.linker|777777 (in process dir)
Attempt to access beyond end of segment.
r 07:13 0.136 0 level 2
pascal_area_status
Pascal standard area:
Size: 255 pages of 1024 words, free: 100.00%, new: 261094 words max
release
caller
Error: out_of_bounds at >user_dir_dir>User>Anthony>caller|22 (line 14)
(while in operator ext_call)
referencing !BBBJfCpmlxDlLd.area.linker|777777 (in process dir)
Attempt to access beyond end of segment.
rl
caller
Error: Illegal machine operation by >user_dir_dir>User>Anthony>caller|22 (line
\c 14)
Current instruction is:
0 000000000001 .... 0
r 07:31 0.159 1 level 2
rl
caller
Error: Illegal machine operation by >user_dir_dir>User>Anthony>caller|22 (line
\c 14)
Current instruction is:
1 776000000000 .... -2000

logout/login

caller
Error: out_of_bounds at >user_dir_dir>User>Anthony>caller|22 (line 14)
(while in operator ext_call)
referencing !BBBJfCppZCdQbG.area.linker|777777 (in process dir)
Attempt to access beyond end of segment.
caller
Error: Illegal machine operation by >user_dir_dir>User>Anthony>caller|22 (line
\c 14)
Current instruction is:
0 000000000001 .... 0
logout/login
hello
Error: pascal_error condition by >user_dir_dir>User>Anthony>hello|17 (line 1)
PASCAL file status block is inconsistent
pascal_io_$REWRITE: Error during REWRITE on Pascal sequential file \000\000\000
\c\000\000\000\000\000\000\000\000\000\024\026\001\754\000\000\000\000\000\000\ \c000\000\000\000\000\000\000\000\000\000
probe
Condition pascal_error raised at line 1 of hello (level 4).
sk
9 command_processor_ (pl1)
8 release_stack (pl1)
7 unclaimed_signal (pl1)
6 wall (pl1)
5 any_other.2 (pl1)
4 hello (line 1) pascal_error
3 command_processor_ (pl1)
2 listen_ (pl1)
1 initialize_process_ (pl1)
pascal_display
probe: Unknown request. "pascal_display"
q
r 07:38 0.549 16 level 2
pascal_display
Active procedures in the Multics stack are:
234|13000 command_processor_$command_processor_|412 (bound_multics_bce_|412) (P
\cL/I)
234|12500 listen_$release_stack|72 (bound_command_loop_|34040) (PL/I)
234|12100 get_to_cl_$unclaimed_signal|77 (bound_command_loop_|35421) (PL/I)
234|7320 default_error_handler_$wall|413 (bound_error_handlers_|413) (PL/I)
234|7220 initialize_process_$any_other.2|415 (bound_process_init_|415) (PL/I)
234|6660 signal_$signal_|52 (bound_library_1_|7570) (PL/I)
234|4000 pascal_io_$REWRITE|6031 (bound_pascal_runtime_|32125) (PL/I)
234|3640 hello$hello|2 (PASCAL) (line 1)
- main -
234|2700 command_processor_$command_processor_|412 (bound_multics_bce_|412) (P
\cL/I)
234|2400 listen_$listen_|50 (bound_command_loop_|34016) (PL/I)
234|2000 initialize_process_$initialize_process_|232 (bound_process_init_|232)
\c (PL/I)
      - globals for >user_dir_dir>User>Anthony>hello are :
input =
- Multics io switch :
syn_ user_input
stream_input_output
- Pascal file status :
text file input interactive eoln
input^ = '#'
output =
(file status block is not initialized)

The issue seems to be in the Pascal runtime initialization:

234|4000 pascal_io_$REWRITE|6031 (bound_pascal_runtime_|32125) (PL/I)

Adding of trace statements idicates that init_fsb is not being called….

Now they won't compile:

[pwd]>pascal h
pascal: Warning: Pascal closes current file mpcogin
pascal: Warning: Pascal detaches I/O switch mpcogin
pascal: Warning: Pascal closes current file mpcogout
pascal: Warning: Pascal detaches I/O switch mpcogout
pascal: Warning: Pascal detaches I/O switch mpcogerr
Pascal 8.04a

Error:  no_write_permission condition by pascal_sources_management_$init_source|214 (line 95)
(>user_dir_dir>SysEng>Anthony>bound_pascal_)
referencing >system_library_1>bound_library_wired_|700000

r 14:45 0.251 21 level 3

probe
Condition no_write_permission raised at line 95 of pascal_sources_management_ (level 20).
sk
 25          command_processor_
 24          release_stack
 23          unclaimed_signal
 22          wall_ignore_pi
 21          any_other.2
 20          pascal_sources_management_ (line 95)          no_write_permission
 19          initracine (pascal)
 18          initialise (pascal)
 17          racine (pascal)
 16          pascal
 15          read_list
 14          complex_command_processor
 13          command_processor_
 12          release_stack
 11          unclaimed_signal
 10          wall
  9          any_other.2
  8          init_source                                   no_write_permission
  7          initracine (pascal)
  6          initialise (pascal)
  5          racine (pascal)
  4          pascal
  3          command_processor_
  2          listen_
  1          initialize_process_

Won't compile problem fixed.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License