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.