Opened 4 weeks ago
Last modified 10 days ago
#393 closed defect
absentee_listener_ appears to have a temp_segment leak — at Initial Version
| Reported by: | Gary Dixon | Owned by: | Eric Swenson |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | Standard Library | Version: | MR12.5 |
| Keywords: | Cc: |
Description
While developing an exec_com to test dump_segment and ring_zero_dump,
I checked on status of temporary segments in my process directory.
My current stack shows only an interrupted emacs editing session.
ts -bf quit condition: 234|13340 pl1_signal_$pl1_signal_from_ops_|776 (bound_library_1_|13712) 234|12320 lisp_fault_handler_$ioc|1265 (bound_lisp_intrprtr_|17521) 234|12240 lisp_subr_tv_$..lisp..|2652 (bound_lisp_intrprtr_|2652) 234|11760 lisp|1076 (bound_lisp_intrprtr_|35014) 234|11460 lisp$lisp|244 (bound_lisp_intrprtr_|34162) 234|11360 forward_command_|70 (bound_multics_emacs_|136514) 234|10260 emacs$emacs|2401 (bound_multics_emacs_|141121) 234|10140 emacs_tv_$emacs|37 (bound_emacs_full_|37) 234|5340 command_processor_$read_list|10312 (bound_multics_bce_|10312) 234|4360 command_processor_$complex_command_processor|2543 (bound_multics_bce_|2543) 234|3420 command_processor_$command_processor_|1227 (bound_multics_bce_|1227) 234|2700 abbrev$abbrev_processor|6105 (bound_command_loop_|14103) 234|2400 listen_$listen_|554 (bound_command_loop_|34522) 234|2000 initialize_process_$initialize_process_|704 (bound_process_init_|704)
However, past usage in my process shows 57 temp segments in existence, and only 6 are free. The majority of them were claimed by ec_input_ operations.
list_temp_segments
57 Segments, 6 Free
!BBBKbcHFWxfwjm.temp.0305 command_processor_
!BBBKbcHFXHQmDB.temp.0362 emacs
!BBBKbcHFXHWDLw.temp.0363 emacs
!BBBKbcHFXQKWkm.temp.0433 emacs
!BBBKbcHFXQKdqf.temp.0434 emacs
!BBBKbcHFXQQQJQ.temp.0440 emacs
!BBBKbcHFcglBfc.temp.0446 command_processor_
!BBBKbcHFcgzxdl.temp.0454 command_processor_
!BBBKbcHFchBGJp.temp.0455 command_processor_
!BBBKbcHFlpHmpB.temp.0457 ec_input_ (area)
!BBBKbcHKLmmBGD.temp.0477 ec_input_ (area)
!BBBKbcHKPddDbh.temp.0500 ec_input_ (area)
!BBBKbcHKXgkmXL.temp.0501 ec_input_ (area)
!BBBKbcHKhNnXgh.temp.0502 ec_input_ (area)
!BBBKbcHKjQFcQd.temp.0503 ec_input_ (area)
!BBBKbcHKmpMGcn.temp.0504 ec_input_ (area)
!BBBKbcHKwWbkBW.temp.0505 ec_input_ (area)
!BBBKbcHLHNqJkP.temp.0506 ec_input_ (area)
!BBBKbcHLHPLQnn.temp.0507 ec_input_ (area)
!BBBKbcHLHPLckF.temp.0510 ec_input_ (area)
!BBBKbcHLKqFlCh.temp.0511 ec_input_ (area)
!BBBKbcHLPCJbqp.temp.0512 ec_input_ (area)
!BBBKbcHLgXlKfK.temp.0565 ec_input_ (area)
!BBBKbcHLqdwQNd.temp.0566 ec_input_ (area)
!BBBKbcHLqfNBMP.temp.0570 ec_input_ (area)
!BBBKbcHMLDggcb.temp.0571 ec_input_ (area)
!BBBKbcHMcGgMgg.temp.0572 ec_input_ (area)
!BBBKbcHNQMKqkQ.temp.0573 ec_input_ (area)
!BBBKbcHNZhbKXd.temp.0574 ec_input_ (area)
!BBBKbcHNZhgHjJ.temp.0575 ec_input_ (area)
!BBBKbcHNbzlfqj.temp.0576 ec_input_ (area)
!BBBKbcHNbzqQFd.temp.0577 ec_input_ (area)
!BBBKbcHNhfZpxl.temp.0600 ec_input_ (area)
!BBBKbcHNhffjCx.temp.0601 ec_input_ (area)
!BBBKbcHNlznBFG.temp.0602 ec_input_ (area)
!BBBKbcHNlzwpKn.temp.0603 ec_input_ (area)
!BBBKbcHNpCHmNb.temp.0604 ec_input_ (area)
!BBBKbcHNpCPGCl.temp.0605 ec_input_ (area)
!BBBKbcHPGWJCbh.temp.0606 ec_input_ (area)
!BBBKbcHPGWNCQW.temp.0607 ec_input_ (area)
!BBBKbcHPJJFzxB.temp.0610 ec_input_ (area)
!BBBKbcHPJJKzpG.temp.0611 ec_input_ (area)
!BBBKbcHPMbmlQf.temp.0612 ec_input_ (area)
!BBBKbcHPMbwqnn.temp.0613 ec_input_ (area)
!BBBKbcHPPNqQCD.temp.0614 ec_input_ (area)
!BBBKbcHPPPBWHh.temp.0615 ec_input_ (area)
!BBBKbcHPccZcpJ.temp.0616 ec_input_ (area)
!BBBKbcHPccflDz.temp.0617 ring_zero_dump.1 (ring_zero_dump
!BBBKbcHQBdpnJK.temp.0624 ring_zero_dump.1 (ring_zero_dump
!BBBKbcHQgKCwQD.temp.0626 emacs
!BBBKbcHWnjHwKP.temp.0625 ring_zero_dump.1 (ring_zero_dump
ls [pd]>*.temp.* -records -dtem
Segments = 59, Records = 70.
06/21/26 10:47 1 !BBBKbcHFWxfwjm.temp.0305
06/21/26 10:47 1 !BBBKbcHFWzDFBB.temp.mail_system
06/21/26 10:47 3 !BBBKbcHFWzDZJW.temp.mail_system
06/21/26 10:47 1 !BBBKbcHFXHQmDB.temp.0362
06/21/26 10:47 1 !BBBKbcHFXHWDLw.temp.0363
06/21/26 10:47 1 !BBBKbcHFXQKWkm.temp.0433
06/21/26 10:47 1 !BBBKbcHFXQKdqf.temp.0434
06/21/26 10:47 2 !BBBKbcHFXQQQJQ.temp.0440
06/21/26 10:49 1 !BBBKbcHFcglBfc.temp.0446
06/21/26 10:49 1 !BBBKbcHFcgzxdl.temp.0454
06/21/26 10:49 1 !BBBKbcHFchBGJp.temp.0455
06/21/26 11:56 1 !BBBKbcHFlpHmpB.temp.0457
06/21/26 11:57 1 !BBBKbcHKLmmBGD.temp.0477
06/21/26 11:59 1 !BBBKbcHKPddDbh.temp.0500
06/21/26 12:03 1 !BBBKbcHKXgkmXL.temp.0501
06/21/26 12:03 1 !BBBKbcHKhNnXgh.temp.0502
06/21/26 12:05 1 !BBBKbcHKjQFcQd.temp.0503
06/21/26 12:07 1 !BBBKbcHKmpMGcn.temp.0504
06/21/26 12:12 1 !BBBKbcHKwWbkBW.temp.0505
06/21/26 12:13 1 !BBBKbcHLHNqJkP.temp.0506
06/21/26 12:15 1 !BBBKbcHLHPLQnn.temp.0507
06/21/26 12:20 1 !BBBKbcHLHPLckF.temp.0510
06/21/26 12:21 1 !BBBKbcHLKqFlCh.temp.0511
06/21/26 12:23 1 !BBBKbcHLPCJbqp.temp.0512
06/21/26 12:25 1 !BBBKbcHLgXlKfK.temp.0565
06/21/26 12:31 1 !BBBKbcHLqdwQNd.temp.0566
06/21/26 12:32 1 !BBBKbcHLqfNBMP.temp.0570
06/21/26 12:36 1 !BBBKbcHMLDggcb.temp.0571
06/21/26 12:52 1 !BBBKbcHMcGgMgg.temp.0572
06/21/26 12:53 1 !BBBKbcHNQMKqkQ.temp.0573
06/21/26 12:53 1 !BBBKbcHNZhbKXd.temp.0574
06/21/26 12:54 1 !BBBKbcHNZhgHjJ.temp.0575
06/21/26 12:54 1 !BBBKbcHNbzlfqj.temp.0576
06/21/26 12:57 1 !BBBKbcHNbzqQFd.temp.0577
06/21/26 12:57 1 !BBBKbcHNhfZpxl.temp.0600
06/21/26 12:59 1 !BBBKbcHNhffjCx.temp.0601
06/21/26 12:59 1 !BBBKbcHNlznBFG.temp.0602
06/21/26 13:00 1 !BBBKbcHNlzwpKn.temp.0603
06/21/26 13:00 1 !BBBKbcHNpCHmNb.temp.0604
06/21/26 13:05 1 !BBBKbcHNpCPGCl.temp.0605
06/21/26 13:05 1 !BBBKbcHPGWJCbh.temp.0606
06/21/26 13:06 1 !BBBKbcHPGWNCQW.temp.0607
06/21/26 13:06 1 !BBBKbcHPJJFzxB.temp.0610
06/21/26 13:08 1 !BBBKbcHPJJKzpG.temp.0611
06/21/26 13:08 1 !BBBKbcHPMbmlQf.temp.0612
06/21/26 13:09 1 !BBBKbcHPMbwqnn.temp.0613
06/21/26 13:09 1 !BBBKbcHPPNqQCD.temp.0614
06/21/26 13:12 1 !BBBKbcHPPPBWHh.temp.0615
06/21/26 13:12 1 !BBBKbcHPccZcpJ.temp.0616
06/21/26 13:12 2 !BBBKbcHPccflDz.temp.0617
06/21/26 13:21 2 !BBBKbcHQBdpnJK.temp.0624
06/21/26 13:32 13 !BBBKbcHQgKCwQD.temp.0626
06/21/26 13:53 1 !BBBKbcHWnjHwKP.temp.0625
06/21/26 13:54 0 !BBBKbcHWqwCdKj.temp.0627
06/21/26 14:14 0 !BBBKbcHZBblQlQ.temp.0632
06/21/26 14:14 0 !BBBKbcHZBblhmp.temp.0634
06/21/26 14:14 0 !BBBKbcHZBblpnZ.temp.0635
06/21/26 14:14 0 !BBBKbcHZBbwMxW.temp.0637
06/21/26 14:25 0 !BBBKbcHZdwmzKC.temp.0647
I suspect that:
- one gets created each time the exec_com command is called; and
- that temp seg isn't getting released correctly.
I have only the above proof of this suspicion at the moment, but I feel this temp segment releasing error should be documented. While temp segment sizes in the process directory are small (usually 1 page long), the leak could cause the process to eventually run out of available segment numbers. The highest user process segment number allowed is segno 1777_o = 1023_d (limited by the size of user process dseg: 2 pages
with each SDW in the array occupying 2 words).
