09/21/87 data_management Known errors in the current release of data_management. # Associated TR's Description 57 phx20078 There is an inconsistency between list_entry_types and describe_entry_type regarding DM files. list_entry_types states that it is selected using the string "dm_file", but you actually have to use "describe_entry_type data_management_file". This is because describe_entry_type.pl1 uses the constant "data_management_file" while the list_entry_types entry into the same program uses the FM_OBJECT_TYPE_DM_FILE variable. 56 phx20369 The word directory is spelled directotry in an error message passed out from dm_no_firstref_util_$get_log_path. 55 phx20201 When cv_dmcf gets a zero length segment as input, it's error message should include this as the reason that the transation failed. 54 phx20193 The info segment cv_dmcf.info needs to be reformatted. 47 phx20213 dm_translate_system_config_ attempts to use release_temp_segment_ on the user ring stack. There is no real affect on the user's process or DM, but this is very confusing when first looking at the code and expecting to to be working correctly. 46 tm_user_shutdown_real.pl1 directly calls a gate entry instead of following the DM project standard of calling a transfer vector, in this case dm_misc_util_$is_process_using_dm. 45 The fast lock metering tool converts seconds into hours instead of minutes. 44 Audit changes for cm_postcommit_increment.pl1 were never installed. 43 The automatic structure my_ci_parts in cm_get_bci_header should have a must_be_zero field preceding my_ci_parts.part. 42 When deleting a multi-datum element the wrong type of header is used when getting the continuation of the first datum. It is a continued-datum-header, not a continued-continuation-header. 41 Passing a null rel_creation_info_ptr to relation_manager_$create_relation causes unpredictable results. 39 The file_manager_ post-transaction action of actual file closing is not done under the protection of transaction locks. The call to unlock locks should come before the call to file_manager_$post_transaction in the commit/abort process. 38 When a complex commit is done, uninitialized automatic storage is used to set the transaction ID in the commit record. When this unitialized storage happens to be null, recovery detects too many commit marks because the finished transaction table built has all transaction IDs initialized to null. This leads to a very confusing error entry in the dms log, about txn 0 having multiple commit or abort marks. There is a minor problem with the second log message which usually accompanies the above error: the last_record_id is reported as zero if the last record in the BJ was the offending commit mark. It is not known for sure at this time whether user databases are actually damaged or not by this behaviour. 37 phx19960 file_manager_$copy does not abide by the delete switch, copy_acl switch, or any other switch specified in the copy_options structure. 36 phx19837 It is possible to remove the caretaker Daemon's access from a DM file. This causes the removing process to take faults in the DM ring and requires a new_proc; it is not possible to set the caretaker's access back in the faulting process. This also will cause recovery to fail if the file has the protected attribute or is a before journal. 35 phx19312 dm_set_free_area was never MCR'd, but is explicitly retained as an entry into bound_dm_. 34 phx19782 The transaction command's -all and (-tid -tix) selection ctl args are not diagnosed as incompatible and do not override each other. This makes it impossible to use an abbrev or to correct mistakes via overriding previous specifications. 32 phx19651 The command sequence "create_dm_file filename;txn begin;srb filename 4 5; txn commit" fails in the post-commit handler with the error msg "the file has been deleted". A second commit will finish the commit. 31 phx19781 Transaction status with multiple -tix or -tid ctl arg specifications will only print the last one specified, but N times where N is the number of specifications used. The output loop is using the last entry (tix_count) to index into the array of txn entries instead of the index of the loop (tix_index). 27 phx19606 If dm_recovery_ signals an error, the Daemon's cl_intermediary will try to logout the Daemon. The logout will think the Daemon is using DM, however, and try to do per-process shutdown. 26 There is a window in per-process initialization where a user will get the dm_not_available_ condition, but get a TDT slot anyway. The particular case observed was the Daemon just enabling the new DMS and a user taking over the Daemon's TDT entry (tix = 1). The user solved the problem with a new_proc; it is not known if dm_user_shutdown would have also solved the problem. See dmsdev [2525], it was a good year. 22 There are no administrative tools for handling the DM configuration file (e.g., installing). If one is installed while the DM Daemon is booting a DMS, the Daemon will take an error when it tries to unlock the config file lock; also, another DM Daemon can try to boot a DMS due to the zeroing of the lock word. 21 If a FM create or delete rollback/post-commit handler is present, SM access is needed. The problem exists because *.SysDaemon is given access to directories by default, but not *.Daemon. Also, there is no way to prevent the user from removing the Daemon's access after the creation of a file. 20 If recovery is necessary, there is no check done to verify the current maximum values in the DM config file are equal to or greater than the previous DM bootload's values. This may cause problems if any maximums are exceeded in the new system (e.g., max. BJ's less than BJ's left active). 19 In some cases, a user can get the error dm_error_$bj_bad_ppte_version (or similar error). This is most noticable when doing a txn st -a as the 1st DM command in the process to cause the fref trap to go off. It seems to be caused by the Daemon not clearing the bj_txt after recovery, and possibly after dead process or abandoned transaction adjustment. 15 The file_manager_ and before_journal_manager_ UID-pathname tables may be useless if a directory in the pathname is renamed. This occurs because DMS is not coordiniated with directory control. 14 No garbage collection is done on the before journal system tables for a deleted journal. 12 The transaction counts in the BJ TXTE and BJ PSTE may become out of sync (but should not happen often). The count in the PSTE is the true count. 7 Overlapping and_groups in a search_specification can cause a key to be returned multiple times for the same search_spec. 1 There is a case where a very small element grows and is made a multi-datum element, only to find there is not enough room in the original control interval for the continued_datum_header. Varying-size Basic ESM elements should have a minimum size large enough to accomodate a continued_datum_header. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved