Patch Name: PHSS_22554 Patch Description: s700_800 10.x Cumulative patch to DDE v4.04 (DDE v4.04.P2) Creation Date: 01/01/08 Post Date: 01/02/05 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: DDE v4.04 Filesets: DDE.DDE,B.10.20.09 DDE.DDE-SB,B.10.20.09 Automatic Reboot?: No Status: General Release Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHSS_22554 Symptoms: PHSS_22554: 1) printing fully qualified names fails with `amb present 2) dump -from 0x7777777 call to unloaded manager prop lang asm_pa first 3) DDE 4.04.Z2 : how to create different .ddehist files for different user 4) DDE 4.04.Z2 overwrites user's corefile with zero-length file 5) No gui actions for describe and args command 6) Have DDE do prop sdir -add 'dirname program' on debug command PHSS_21303: 1) DDE 4.04:(dde/catgets) NLS message catalog access error 2) dde 4.23(3) Visit File() command does not display #include file 3) Problem with env command when used with file names 4) DDE 'print' command used with string pointer will only 998 characters 5) dde does not correctly follow exec pathname after "fork follows both" 6) DDE 4.04.Z2 hangs if invoked with remsh or rexec 7) DDE 4.03, 4.21 hangs if maxfiles is too close to maxfile_lim 8) Problem with ksh command edit mode 9) Dashes inside strings interpreted as options? 10) on simple ansi C example breakpoint setting fails Defect Description: PHSS_22554: 1) For any of the commands e.g "print" , "describe " whenever the fully qualified name is specified for a variable, DDE was failing silently. 2) When we try to dump some value from some address, DDE prints different messages depending on the whether we have attached the process to DDE or we are debugging from within DDE. When we attach the process & try to dump,the message is "call to unloaded manager". When we are debugging it within dde it prints "the address is not a pointer". 3) The problem is how to create two different .ddehist files for two different users working in the same directory simultaneously. The default behaviour of DDE is that it creates the .ddehist file in the name of the person who first invokes DDE ,with an exclusive read /write permission for the person who first invokes DDE. So,when the next person invokes DDE in the same directory ,no .ddehist file is created.Also,when the first user invokes a second DDE session for himself in the same directory,the .ddehist file is messed up with the command from both the DDE sessions of the same user 4) When the DDE application dumps core,it creates a zero-length corefile and also overwrites the user's corefile if one exists. 5) The SR is a suggestion for including the DDE 'describe' and 'args' commands in the DDE menu bar for ease-of-use.These two options are now included as buttons in DDE gui instead of adding them in the menu bar. 6) DDE to do prop sdir -add dirname on the debug command.That is if we give a debug command with the executable having a directory information then DDE has to add the directory information to the list of existing source directories. For Example: debug /proj/work/executable DDE is invoked in ~/somewhere Then DDE has to add the /proj/work directory automatically into the list of source directories. PHSS_21303: 1) DDE gives error message while running DDE on a threaded process.After forking the process DDE gives following error ?(dde/catgets) NLS message catalog access error -- catalog: invalid catalog id, set id = 3, message id = 1 2) DDE Visit File() menu option fails to display a source file that was #included into another source file,rather than being compiled directly itself. No error message is issued, however the source window is blank and the source line in the gui reads Source: No source for: [] 3) DDE is not able to distinguish filenames when line number is specified in isolated cases. The problem happens in the following case. 1. File A includes file B 2. Line no 1 of file A is blank 3. Line no 1 of file B is non blank 4. env " #include int main() { #define index 1024 int count=0; char sread[index]; char *s; while ((count) < (index -1)) { sread[count] = 'b'; if (count == 1000) sread[count]='f'; count = count +1; } sread[index-2]='a'; sread[index -1 ] =' '; /* add a nulla*/ printf ("sread =%s \n", sread); s=sread; printf ("string s is =%s \n",s); } 5) The overall problem is that when the dde GUI has its fork behavior set to "follow both parent and child processes",the window to the child process cannot correctly debug the child of the fork. 6) run remsh/rexec, I get the Debug.core file like what Callum gets, and DDE does not show the GUI window, and 'hangs' for some time before exiting: 7) DDE hangs up when the KERNEL parameter "maxfiles" is greater than 4096 8) Currently the backslash (\) is hard-wired into the code as being the escape character for emacs editing. We could easily define a new resource for the ksh widget that defines the escape character (e.g. KshCommand.escapeCharacter: %). This would then have to be passed down to the lower levels of the ksh emacs/vi code to be interpreted. 9) When Initialiazing a character array with a literal string from the DDE command using set command , it seems literal string can't contain a '-' character Following is the source code fragment and DDE command window. Code fragment: : ============== : char foo[80]; : main() : { : DDE command window: : =================== : dde> set foo = "cc -v" : ?(dde/ui_motif) Unrecognized input: " -v"" ????? <- here's my problem This seems to work: dde> set foo = ("cc -v") But for the following it won't work dde> set foo="hi -force" ?(dde/ui_motif) Unrecognized input: " "" and something else wrong (that has nothing to do with strings)... dde> declare int a dde> declare int b dde> set a=-b (no error) dde> set a= - b (no error) dde> set a= -b ?(dde/ui_motif) Unrecognized input: " -b" 10)In this very simple example, after dde breaks in main setting a bp in a global function using break fn, fails. This is a little annoying and does not seem to always fail (in other examples). make dde -ui line break sub1 // fails. env sub1 // fails -- visits correct file, // wrong line SR: 4701411165 1653305466 8606102229 8606108704 8606127708 8606125537 5003404673 5003403063 8606139517 8606105646 Patch Files: /opt/langtools/bin/dde /opt/langtools/bin/dde.bin /opt/langtools/dde/ui/ddegui /opt/langtools/dde/mgrs/lang_c /opt/langtools/dde/mgrs/lang_c++ /opt/langtools/dde/mgrs/tgt_hpux_pa /opt/langtools/dde/mgrs/ui_line /opt/langtools/dde/mgrs/ui_gui /opt/langtools/dde/softbench/config/dde.buttons /opt/langtools/dde/softbench/lib/SB5.0/libstd.1 /opt/langtools/dde/softbench/lib/SB5.0/libCsup.1 /opt/langtools/dde/softbench/lib/SB5.0/libstream.1 /opt/langtools/dde/softbench/lib/SB5.0/libXeTest-6.sl /opt/langtools/dde/softbench/lib/SB5.0/libsoftbench-6.sl /opt/langtools/dde/softbench/bin/bms /opt/langtools/dde/softbench/bin/softmsgsrv /opt/langtools/dde/softbench/bin/sbpath /opt/langtools/dde/lib/nls/msg/C/dde.cat /opt/langtools/dde/lib/nls/msg/C/assert.cat /opt/langtools/dde/lib/nls/msg/C/stg.cat /opt/langtools/dde/lib/nls/msg/C/sys.cat /opt/langtools/dde/lib/nls/msg/C/trait.cat /opt/langtools/dde/lib/nls/msg/C/ui_line.cat /opt/langtools/dde/lib/nls/msg/C/ui_gui.cat /opt/langtools/dde/lib/nls/msg/C/macro.cat /opt/langtools/dde/lib/nls/msg/C/cp_util.cat /opt/langtools/dde/lib/nls/msg/C/dbx_to_dde.cat /opt/langtools/dde/lib/nls/msg/C/dbgk_hpux_pa.cat /opt/langtools/dde/lib/nls/msg/C/tgt_hpux_pa.cat /opt/langtools/dde/lib/nls/msg/C/lang_c.cat /opt/langtools/dde/lib/nls/msg/C/lang_ftn.cat /opt/langtools/dde/lib/nls/msg/C/lang_pas.cat /opt/langtools/dde/lib/nls/msg/C/obj_mgr.cat /opt/langtools/dde/lib/nls/msg/C/lang_asm.cat what(1) Output: /opt/langtools/bin/dde: None /opt/langtools/bin/dde.bin: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ HP Distributed Debugging Environment (HP/DDE) - Vers ion 4.04.P2 Rev: 010131.160807 /opt/langtools/dde/ui/ddegui: REV: 1010116.203149, 9000/889 HP-UX B.10.20 sdinesh@ hpcll594 /opt/langtools/dde/mgrs/lang_c: HP/DDE Language manager lang_c: ANSI C - Version 4.0 4.P2 Rev: 010131.161505 /opt/langtools/dde/mgrs/lang_c++: HP/DDE Language manager lang_c++: C++ - Version 4.04 .P2 Rev: 010131.161514 /opt/langtools/dde/mgrs/tgt_hpux_pa: HP/DDE Target manager tgt_hpux_pa: HP-UX PA-RISC - V ersion 4.04.P2 Rev: 010131.161445 /opt/langtools/dde/mgrs/ui_line: HP/DDE User interface manager ui_line: Line-Mode UI - Version 4.04.P2 Rev: 010131.161146 /opt/langtools/dde/mgrs/ui_gui: HP DDE User interface manager ui_softdde: SoftBench UI interface to Softdebug+ - Version 4.04.P2 Rev: 010131.161038 REV: 960125.181932, 9000/715 HP-UX B.10.01 masonbld@ hydra /opt/langtools/dde/softbench/config/dde.buttons: None /opt/langtools/dde/softbench/lib/SB5.0/libstd.1: HP aC++ B3910B A.01.07 Standard Library /opt/langtools/dde/softbench/lib/SB5.0/libCsup.1: HP aC++ B3910B A.01.07 Support Library /opt/langtools/dde/softbench/lib/SB5.0/libstream.1: HP aC++ B3910B A.01.07 Stream Library /opt/langtools/dde/softbench/lib/SB5.0/libXeTest-6.sl: REV: 980109.182307, 9000/889 HP-UX B.10.20 masonbld@ ranger /opt/langtools/dde/softbench/lib/SB5.0/libsoftbench-6.sl: REV: 980109.214129, 9000/780 HP-UX B.10.20 masonbld@ puccini SPC Protocol Version 6 REV: 980109.214129, 9000/780 HP-UX B.10.20 masonbld@ puccini /opt/langtools/dde/softbench/bin/bms: REV: 980109.222027, 9000/889 HP-UX B.10.20 masonbld@ ranger REV: 980109.222027, 9000/889 HP-UX B.10.20 masonbld@ ranger /opt/langtools/dde/softbench/bin/softmsgsrv: REV: 980109.222625, 9000/780 HP-UX B.10.20 masonbld@ hpmason2 /opt/langtools/dde/softbench/bin/sbpath: None /opt/langtools/dde/lib/nls/msg/C/dde.cat: None /opt/langtools/dde/lib/nls/msg/C/assert.cat: None /opt/langtools/dde/lib/nls/msg/C/stg.cat: None /opt/langtools/dde/lib/nls/msg/C/sys.cat: None /opt/langtools/dde/lib/nls/msg/C/trait.cat: None /opt/langtools/dde/lib/nls/msg/C/ui_line.cat: None /opt/langtools/dde/lib/nls/msg/C/ui_gui.cat: None /opt/langtools/dde/lib/nls/msg/C/macro.cat: None /opt/langtools/dde/lib/nls/msg/C/cp_util.cat: None /opt/langtools/dde/lib/nls/msg/C/dbx_to_dde.cat: None /opt/langtools/dde/lib/nls/msg/C/dbgk_hpux_pa.cat: None /opt/langtools/dde/lib/nls/msg/C/tgt_hpux_pa.cat: None /opt/langtools/dde/lib/nls/msg/C/lang_c.cat: None /opt/langtools/dde/lib/nls/msg/C/lang_ftn.cat: None /opt/langtools/dde/lib/nls/msg/C/lang_pas.cat: None /opt/langtools/dde/lib/nls/msg/C/obj_mgr.cat: None /opt/langtools/dde/lib/nls/msg/C/lang_asm.cat: None cksum(1) Output: 1068175752 1003 /opt/langtools/bin/dde 1240592208 2408544 /opt/langtools/bin/dde.bin 2879965918 3186688 /opt/langtools/dde/ui/ddegui 3554856621 540672 /opt/langtools/dde/mgrs/lang_c 4071426894 475136 /opt/langtools/dde/mgrs/lang_c++ 3632960997 868352 /opt/langtools/dde/mgrs/tgt_hpux_pa 2116678569 249856 /opt/langtools/dde/mgrs/ui_line 1318715202 389120 /opt/langtools/dde/mgrs/ui_gui 1660953600 4658 /opt/langtools/dde/softbench/config/ dde.buttons 1457485322 572804 /opt/langtools/dde/softbench/lib/SB5.0/ libstd.1 3376886777 339936 /opt/langtools/dde/softbench/lib/SB5.0/ libCsup.1 294462843 230974 /opt/langtools/dde/softbench/lib/SB5.0/ libstream.1 4034206874 49362 /opt/langtools/dde/softbench/lib/SB5.0/ libXeTest-6.sl 2635985612 1750112 /opt/langtools/dde/softbench/lib/SB5.0/ libsoftbench-6.sl 118540556 82236 /opt/langtools/dde/softbench/bin/bms 3972330452 61659 /opt/langtools/dde/softbench/bin/softmsgsrv 2602907136 45215 /opt/langtools/dde/softbench/bin/sbpath 1865789759 46478 /opt/langtools/dde/lib/nls/msg/C/dde.cat 2172221562 100 /opt/langtools/dde/lib/nls/msg/C/assert.cat 2157277788 272 /opt/langtools/dde/lib/nls/msg/C/stg.cat 2327105515 956 /opt/langtools/dde/lib/nls/msg/C/sys.cat 1631989131 901 /opt/langtools/dde/lib/nls/msg/C/trait.cat 2808729545 1738 /opt/langtools/dde/lib/nls/msg/C/ui_line.cat 3134038626 2401 /opt/langtools/dde/lib/nls/msg/C/ui_gui.cat 3842259794 855 /opt/langtools/dde/lib/nls/msg/C/macro.cat 741237649 211 /opt/langtools/dde/lib/nls/msg/C/cp_util.cat 3746752500 164 /opt/langtools/dde/lib/nls/msg/C/ dbx_to_dde.cat 1029600295 5817 /opt/langtools/dde/lib/nls/msg/C/ dbgk_hpux_pa.cat 837760407 10179 /opt/langtools/dde/lib/nls/msg/C/ tgt_hpux_pa.cat 3936042709 3571 /opt/langtools/dde/lib/nls/msg/C/lang_c.cat 3453968118 1882 /opt/langtools/dde/lib/nls/msg/C/ lang_ftn.cat 93685143 2413 /opt/langtools/dde/lib/nls/msg/C/lang_pas.cat 3684285694 4770 /opt/langtools/dde/lib/nls/msg/C/obj_mgr.cat 2097773413 967 /opt/langtools/dde/lib/nls/msg/C/lang_asm.cat Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_21303 Equivalent Patches: None Patch Package Size: 11170 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHSS_22554 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHSS_22554.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHSS_22554. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHSS_22554.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHSS_22554.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: This patch only patches DDE 4.04. If you have an earlier version of DDE, then you must install DDE 4.04 before you can apply the patch. Force applying this patch to an earlier version of DDE (earlier than 4.04) will totally break the older installed version of DDE. For the fix for the defect JAGac78509 to work completely, the kernel patch PHKL_21431/PHKL_21432 has to be installed. The problem fixed by this kernel patch still exists in multiprocessor systems even after installation. This patch has been declared as bad patch and hence recalled. For uniprocessor systems, this patch works fine and has no problems. Please see the warnings and special installation instructions of PHKL_21431 for more informations about PHKL_21431.