Chapter 2
Fixed Problem Summary
Problems Fixed in the V4.6.1 Release
The numbers identify the problems in the problem-tracking system.
Base Operating System
-
238078
-
The compiler did not handle remainders involving NaNs and zeroes as Java® expects.
-
238743
-
When a class 2 probe for port addresses on the FC fabric was rejected, the probing method did not fall back to class 3.
-
239800
- useradd added duplicate entries to the /etc/group file.
-
240075
-
Updates of the /etc/group file were not atomic.
-
241992
-
The mailx keepsave command did not work properly.
-
242540
- diskid needed an option to show all connections between a disk and the system. (See the diskid(1M) man page for information about the new allports, or allp, command.)
-
242931
-
The agefile command could not truncate the lpsched log.
-
243311
- ctime and asctime did not handle the %U format correctly.
-
247834
-
The r option to tar did not work correctly.
-
248917
-
A problem with the ees_logmgr command caused the system to panic.
-
249134
- monitor displayed a negative load average.
-
249468
- mkvtoc needed to perform better error checking and validation on new VTOCs.
-
250008
- buildmini copied all files in /dev, which could cause a clustered system to panic.
-
250072
-
The online help for the ptx/ADMIN bootflags form was incomplete.
-
250629
- klogd wrote messages continuously to ktlog when it found a file descriptor on /dev/.evpipe.
-
250839
-
Messages about the execution of rc scripts were not logged in ktlog when the system was booted with -V.
-
251045
-
The system would not boot if /usr/adm/ktlog/ was missing.
-
251099
-
When the LANG environment variable was set, df displayed an incorrect error message.
-
251403
-
The curs_move(3X) man page did not explain that move() is not aware of multibyte characters.
-
251451
- pax could not determine whether a file was sparse. (A new option, -N, is now available for restoring files that cannot be sparse.)
-
251636
-
The hdsinfo command failed in a clustered system.
-
251675
-
When the system time was adjusted with adjtime(), the Real Time Clock was not updated.
-
251756
-
Numerous messages about state changes in the VCS-to-MDC communication path appeared in ktlog.
-
252146
- localedef incorrectly returned an error message about being unable to open the source file when it was actually unable to open the destination file.
-
252153
-
The uncompress(1) man page did not document the -b option correctly.
-
252161
- truss did not display the correct output for waitpid().
-
252235
-
Interrupts were not always handled properly during a panic.
-
252942
-
The strings command did not process stdin by default.
-
253132
-
The fno command in crash did not print valid output.
-
253276
- ed was not fully internationalized.
-
253239
-
The ff driver did not handle area address-group RSCNs correctly.
-
253318
- pack displayed a meaningless error message.
-
253321
- paste dumped core.
-
253365
-
The system could panic when a multi-threaded process was swapped over NFS.
-
253394
-
A user program could not include sys/user.h.
-
253454
-
When invoked with no command-line argument, the sysdef command did not default to using the kernel image file that was booted. Instead, it used the hard path name /unix.
-
253468
- diff -h returned incorrect exit codes.
-
253476
-
The S command in crash did not work correctly.
-
253505
- pack sometimes failed when it was used to compress files larger than 32 MB.
-
253530
- ufs_getdents did not understand that bmap() may return -1 to indicate errors without also calling lwp_seterror(). This led to illegal blocks being requested from the underlying block device.
-
253531
- fsck did not report or correct unallocated directory blocks.
-
253590
-
The method used to calculate slack for memory-allocation pools needed a fix.
-
253615
-
Error messages from diskown and lbledit did not indicate that a disk was busy.
-
253663
-
When mpt messages were logged in the EES log, the AREA field contained the value "Unknown" instead of "IO."
-
253687
-
The scripts in the /etc/ktune.d directory needed to be rewritten.
-
253691
-
A misleading error message appeared when a disk was missing while the system booted.
-
253693
-
The system would not boot if /etc/vfstab did not exist.
-
253724
- getlogin() failed when a user name contained eight characters.
-
253808
-
The mpt pass-through routine tried to limit the length of the returned sense data.
-
253822
-
The system panicked when sysdef was invoked on the stand-alone kernel.
-
253873
- csplitlimited the number of output files that could be created to 99.
-
254001
- /etc/upsmon did not ensure that only one instance of the upsmon daemon was running.
-
254004
-
The system panicked when a CD was mounted and unmounted repeatedly.
-
254012
-
The chown command failed.
-
254020
-
The internal processing of locale functions generated confusing errno values.
-
254041
- ksh incorrectly blocked certain signals.
-
254049
-
If the mailx command ~p was invoked to display a message and the user then quit the pager, mailx exited with a SIGPIPE error.
-
254080
-
When using a standard kernel, the log information generated by ktlogd for a core file did not include information about the process that failed such as the UID, major number, or minor number.
-
254085
-
The system panicked if the SEMMSL kernel parameter was set to a value larger than 480.
-
254089
-
The ufs version of fsck did not correct an unallocated inode.
-
254092
-
A race condition in an internal routine caused the system to panic.
-
254097
-
The kernel memory-allocation subsystem wasted memory when allocating small structure sizes.
-
254119
-
The close of a FIFO in STREAMS sometimes caused a race condition that locks processes.
-
254150
- sort dumped core when the LANG environment variable was set.
-
254183
-
The usage message for df was incorrect.
-
254186
-
The od command did not have a usage message when an invalid option was used.
-
254223
-
A problem with virtual memory caused the system to panic.
-
254211
-
When run against sequential (tape) devices, infodev always tried to open the device regardless of the information being requested, and failed when it could not be opened. Now, infodev only attempts to open the device when the -a option is used to obtain detailed device information.
-
254244
-
The naming database generator could become out of sync on clustered systems.
-
254274
-
The system panicked when it encountered a physical I/O error while reading a CDFS directory.
-
254302
-
The sd driver tried to probe storage array devices.
-
254305
-
The lwp structure needed a new member for a flag.
-
254314
-
The memory queues system had a memory leak.
-
254398
-
The S01devactivate script could incorrectly cause a cluster node to wait forever for a devctl -A operation to complete. Now, after waiting 10 minutes for the devctl -A to complete, the S01devactivate script prompts the user whether they want to return the system to single user mode.
-
254425
-
The admin command did not unlink a z-file if the nodename contained more than nine characters.
-
254437
-
When all the buffers on a quad were in use, the processes which needed a new block were blocking on a semaphore for a very long time.
-
254463
-
An improper check caused a message to be skipped that normally triggers a SIGURG signal.
-
254465
- sar dumped core when reading the device statistics records.
-
254512
-
Kernel memory was exhausted due to c8 pages being consumed.
-
254535
-
A lock ordering problem caused the system to deadlock.
-
254737
-
When the ps command was executed, at times the pgetinfo() function gathered statistics from an invalid address space, resulting in an MMU fault.
-
254838
-
The naming database of a system booted with a Fibre Channel shared disk became corrupted, preventing subsequent boot operations and failing at the SAK level with the message "ndb header is corrupt."
-
254922
-
The FAStT200TM Storage Server reported FCP_RESID_OVER(1) messages in /usr/adm/ktlog and treated the condition as a hard error, making no attempt to retry.
-
255111
-
Silkworm 1000 FC Switches did not log in properly with class 2.
ptx/C and Programming Tools
-
243159
- lint -p rejected initializers for const char *const arrays.
-
244926
- yacc did not always allocate memory correctly.
-
246182
- lint gave type qualifiers in PRINTFLIKE and SCANFLIKE warnings.
-
250126
-
The lessage lint suppression directive not used was reported only once.
-
251144
- lint did not catch an instance of a pointer conversion losing bits.
-
253612
-
The -h option was not documented in the debug(1) man page.
-
253738
-
Volatile variable access could generate extra load.
-
253906
-
Stepping did not work when debug encountered a syscall event.
-
254453
-
A race condition existed in debug with events in multiple processes.
edb Debugger
-
244256
-
Global symbols were not visible when shared objects were attached to a program with dlopen().
-
249834
-
The edb did not support command history.
-
253686
-
The edb stack traceback could loop.
-
254157
-
An internal error occurred when edb killed a process while some or all threads were running in the background.
-
254158
-
An assertion failure occurred while edb was waiting for a list of all threads.
-
254159
-
The edb command hung if a process was run in the background with no breakpoints set and the wait %1.1 command was then issued.
-
254913
-
Attempting to exit edb with a ^C caused an assertion failure.
Problems Fixed in the V4.6.0 Release
Base Operating System
-
23762
-
Messages indicating that a device needed to be cleaned were not logged in ktlog.
-
23789
-
The -G option to useradd/usermod issued a warning message when the default group was duplicated.
-
230703
-
Core dumps were not recorded in ktlog.
-
234196
- dumpconf needed a -t option to show temporary names.
-
234549
- tar sometimes exited with an incorrect code.
-
236186
-
Binary executables with mode 2700 could not be executed.
-
237577
-
The uncompress command failed with SEGV when trying to uncompress a corrupt .Z file.
-
237942
-
The diskid command displayed a misleading warning when it was run by a user not having root permissions.
-
239122
-
The operating system no longer needed I/O alignment restrictions.
-
241061
- make did not handle macro recursion properly in substitutions.
-
241612
-
Warning messages flooded the console if an FC Host Adapter failed its initializaton.
-
242591
-
Invalid times appeared in the EES log during system boot.
-
243557
- mount -v dumped core if several EFS mount options were specified.
-
243677
- standload displayed a confusing message when autoBoot was either not set or set to 0x0.
-
243809
-
ptx/ADMIN could not compile a MFG kernel.
-
244061
- make incorrectly reported too many command lines.
-
244307
-
The swap output and man page did not explain the "wasted pages" reported by the -f option.
-
245031
-
The make(1) man page did not describe limitations when using macros.
-
245144
- mailx did not send a message non-interactively if the TERM variable was invalid.
-
245405
-
The devctl -d command took too long on an FC JBOD device.
-
245646
-
A problem with a sar function caused the utility to dump core.
-
246067
-
The printf command did not support C constants.
-
246282
-
When df -k was run on a disk device, it reported status for all filesystems.
-
246367
- tar -cf did not truncate the file to which it was writing.
-
246517
- tar did not extract modification times for directories.
-
246533
- make rebuilt target objects if ar was called within the makefile and the filename was over 16 characters long.
-
246580
-
The command ps -p pid returned an incorrect exit status if the pid did not exist.
-
247127
-
A memory leak and an errno problem existed in libnsl.
-
247180
-
The rm(1) man page was unclear about the use of the -i option.
-
247206
- grep -E did not handle the | special character correctly.
-
247242
-
There was a performance problem in the System V message queue subsystem.
-
247885
- initgroups() wrote a message to standard error when a user was in too many groups.
-
248900
- df failed when run on files larger than 2 GB.
-
248999
-
The regcomp() routine dumped core when processing a valid expression string.
-
249050
- compress did not work with the - option.
-
249119
-
The sched deamon's process startup time was incorrect.
-
249193
- fsck printed an incorrect error message.
-
249403
-
A problem in the mdc driver caused the system to panic.
-
249555
-
The egrep man page stated that lines are limited to BUFSIZ characters; however, they are limited to LINE_MAX characters.
-
249923
- savecore did not assign execute permissions to the crash files it saved.
-
249983
-
Zombie processes were not listed as <defunct> in the output from ps -ef.
-
250240
-
The realpath() routine did not work properly for a file in the root directory.
-
250287
-
The uptime(1) man page defined "load average" incorrectly.
-
250320
-
A problem in a streams routine caused the system to panic.
-
250348
- awk dumped core when attempting to process lines containing 512 or more characters.
-
250446
-
The base component of ptx/PDC generated confusing error messages.
-
250447
-
The monitor command displayed incorrect memory values for regions.
-
250478
-
Front panel operations needed to be moved from disk driver routines.
-
250479
-
The script used by umask did not specify a complete path for the basename command.
-
250587
-
A multithreaded application invoking the ioctl FIONBIO or FIOASYNC on a BSD socket could trigger unpredictable behavior on the socket and eventually panic the system.
-
250605
-
An hdsinfo(1) man page was needed.
-
250627
-
The groupadd command did not use the C_MAXUID kernel variable to determine the maximum GID possible on the system.
-
250628
-
The useradd command did not use the C_MAXUID kernel variable to determine the maximum UID possible on the system.
-
250630
-
A problem with the boot loader could cause a system boot to fail.
-
250637
- usleep did not handle the granularity of timer values correctly.
-
250642
-
The proc_ctl(2SEQ) man page did not describe the PROC_RELINQUISH and PROC_OPENT commands.
-
250664
- asm longlong support was no longer needed in config.
-
250740
-
A problem with regions and virtual memory caused the system to panic.
-
250751
-
A threads component was needed to collect threads metrics.
-
250864
-
The single mem_wait semaphore needed to be replaced with a mem_wait semaphore per quad.
-
250929
-
The type dnlc_t was not defined in dnlc.h.
-
250961
-
Failed su login attempts could cause the umask to change to 0377.
-
250968
-
If a zombie process existed in the background, the system panicked when uadmin 2 0 was executed.
-
250988
- nawk dumped core when printing a line longer than 20 KB.
-
251039
-
The debugger attempted to stop an LWP in the zombie state, causing the system to panic.
-
251229
-
The delay time between FLOGI retries was inconsistent.
-
251282
-
The shells(4) man page did not describe the addusr.def file.
-
251341
-
A problem in the mdc driver caused the system to deadlock.
-
251384
-
The diskid command failed when a device was specified with a partition name.
-
251409
-
The printf command dumped core when %n was used as a format string.
-
251411
-
The printf command did not handle variable field_width formats.
-
251422
-
The fdiv_stats command incorrectly represented the result of an lseek64 as an int.
-
251442
-
A race between devctl operations caused the system to panic.
-
251461
-
A race in the kernel caused the system to panic.
-
251472
-
The streams queue allocation and deallocation code needed some fixes.
-
251501
- truss reported improper values in hexadecimal instead of octal.
-
251516
- cpio failed when a scratch installation was performed from an EFS root filesystem to another disk.
-
251517
-
The default console definition did not work with ptx/ADMIN.
-
251519
-
The ptx/ADMIN "Terminal type" menu was confusing.
-
251534
- savecore did not log an error message when there was not enough room in /usr/crash to save a memory dump.
-
251564
-
A race condition in the mdc driver caused the system to panic.
-
251603
-
Pass-through ioctls sent Unit Attention messages to ktlog.
-
251609
-
When a per-quad dumplist was created with ptx/ADMIN, the /etc/dumplist file was not updated correctly.
-
251655
-
Some macros in the mc_param.h file did not expand properly during use.
-
251670
-
The fabric and scsibus drivers did not set status properly when certain errors were returned.
-
251692
-
A streams routine allocated an incorrectly-sized buffer.
-
251881
-
The number of ncache blocks in the system could not be increased dynamically.
-
251898
-
A sysi86 command returned an incorrect error when a copyout() failed.
-
251904
-
A typo in the ibms36d.geom file prevented a VTOC from being created.
-
251923
- diff is very slow.
-
251935
-
A race in virtual memory could cause the system to panic.
-
251973
- $LOGNAME and $TERM were set incorrectly when su - name was run and the user name contained more than 11 characters.
-
251979
-
The obsolete configuration option P_LOCK_DEBUG needed to be removed.
-
251980
-
The command cal year did not always display properly for multibyte locales.
-
252014
-
In the sync_op() routine, SYNC_POSTVEC did not sleep interruptably when it allocated memory.
-
252027
-
In the sync_op() routine, SYNC_POST did not honor the SYNCF_URGENT flag.
-
252072
-
Support was needed for the FIONREAD, FIONBIO, FIOASYNC, FIOSETOWN, and FIOGETOWN ioctls.
-
252088
-
The p_flag field in the proc structure could become corrupted and cause the system to panic.
-
252101
-
The mpt driver did not reintegrate disks properly.
-
252108
-
When a data object was relocated, another symbol referring to the same object was left pointing to the original location in the shared library.
-
252126
-
A problem with the mpt driver caused the system to panic.
-
252140
-
A problem in an internal routine caused the system to panic with the message trap: exception integer divide by zero.
-
252144
-
A problem in the tli module caused the system to panic.
-
252163
-
A problem with a semaphore routine caused the system to panic with an MMU fault.
-
252206
-
The localedef command did not parse white space correctly.
-
252222
-
A problem that occurred when migrating multithreaded processes caused the system to panic.
-
252412
-
ptx/TCP/IP drivers were not notified when a device name was changed with devctl -n.
-
252449
-
The rc1 script ran the shutdown scripts in stand-alone mode.
-
252455
-
The process component for ptx/PDC used too much CPU when doing lookups in /etc/passwd.
-
252469
-
When lwp_trace() transferred data, it used 4096 as the minimum block size, which could overwrite a buffer and cause a core dump.
-
252496
- lwp_trace() used 4096 as the block size when the user requested a size greater than 4096.
-
252498
- infodev did not display Node and Port WWN information for FC Host Adapters.
-
252614
-
A problem with the mpt driver could cause the system to panic.
-
252650
- devctl -c operations failed for new disks in the upper half of the boot Pbay.
-
252751
-
A problem with an ff internal function caused the system to panic.
-
252911
-
When a route was restored, the message sdX(port Y): resuming route was not logged.
-
252979
-
The obsolete P_LOCK_DEBUG configuration option needed to be removed.
-
253022
-
The ff driver did not log internal errors from the FC Host Adapter.
-
253616
-
The showcfg command did not always display the boot name correctly.
-
253828
- awk/oawk did not set uninitialized fields.
ptx/C and Programming Tools
-
241790
- cprs did not support nesting for structures or classes.
-
246794
- lint issued an incorrect warning about an unsigned comparison against zero.
-
247814
- ar did not warn about certain archive format problems.
-
249202
- ld created a global object instead of using the weak symbol in a shared object.
-
249465
-
When the debug create command was used, processes were stopped after the exec system call.
-
250077
-
A problem in the compiler caused an invalid warning message.
-
251169
- dis crashed when the -d option was used.
-
251317
-
The ar(1) man page incorrectly stated that filenames were limited to 14 characters.
-
251318
-
The m4(1) man page needed clarification regarding the use of options.
-
251518
- nm -u -r produced incorrect output when run on libraries.
-
251793
-
The -W0,-B option was not documented in the cc(1) man page.
-
251925
-
The example in the lex(1) man page was incorrect.
-
252154
-
The preprocessor generated unnecessary warnings for LL and ULL suffixes.
-
252325
- cxref did not truncate lines when -wnum was specified.
-
252326
- cxref did not handle -- correctly on the command line.
-
252327
- cxref did not continue to parse the command line after an error occurred.
-
252328
- m4 used the wrong precedence for ~ and !.
-
252329
- m4 did not always handle output redirection correctly.
-
252330
-
The m4 macro m4wrap did not work correctly.
-
252323
-
The cflow command printed garbage on the first line of output.
-
252324
- cflow did not handle -- on the command line.
-
252331
- m4 did not allow space between the -D and -U flags and their arguments.
-
252332
- m4 did not return from option processing when it encountered -- on the command line.
-
252338
- ar did not parse the command line correctly if an argument began with a dash.
-
252341
- m4 did not continue to process arguments if one argument failed.
-
252354
- tsort failed when -- was specified on the command line.
-
252474
-
The compiler did not report a write failure when the filesystem was full.
-
253013
-
The ngen short block counter overflowed when large binaries were compiled.
edb Debugger
-
240611 [3155]
- edb required a full path for a source file.
-
245722 [3700]
-
Running a job silently killed already running jobs.
-
249748 [4266]
- edb issued a warning if a core file did not match the specified executable.
-
249868 [4289]
- edb could not set a break on an unmangled C++ function name.
-
250646 [4414]
- edb lost scope after a process completed.
-
250647 [4415]
-
An edb step after watchpoint stopped at the same line again.
-
250659 [4421]
-
The register window displayed incorrect floating point values.
-
250910 [4498]
-
The edb call command did not handle arrays as actual arguments.
-
250912 [4497]
-
An edb call to a floating point function did not pop the floating point stack.
-
250913 [4496]
-
The edb call command did not handle functions that return structures.
-
250920 [4494]
-
Limitations to the edb call command needed to be documented.
-
252336 [4826]
- edb failed to read datatypes larger than 4 KB.
-
252459 [4843]
-
The edb call command could not handle a generic C++ function in another source file.
-
253036 [4929]
-
A wraplines option was needed to turn off line wraps in the edb output.