 |
≫ |
|
|
 |
パッチ名: PHCO_36055
パッチ摘要: s700_800 11.23 syslogd(1M)累積パッチ
作成日: 07/05/29
公開日: 07/06/06
ハードウェアプラットフォームおよびOSリリース:
s700: 11.23
s800: 11.23
現象:
PHCO_36055:
1.(SR:8606432647 CR:JAGaf92086)
/dev/klogをオープンできなくても、syslogd(1M)がエラーを報告しません。
2.(SR:8606462463 CR:JAGag18333)
起動時に、syslogd(1M)とnamed(1M)間で競合が起きます。
問題点の説明:
PHCO_36055:
1.(SR:8606432647 CR:JAGaf92086)
起動時に/dev/klogをオープンできない場合、syslogd(1M)はデバッグモードの
場合にしかエラーを報告しませんでした。デバッグモード以外でもエラーを報
告すべきです。
解決方法:
/dev/klogのオープンに失敗したら、必ずエラーメッセージを記録するように
syslogd(1M)を修正しました。
2.(SR:8606462463 CR:JAGag18333)
ネームサーバーとsyslogdによるリモートロギングが構成されているシステム
をブートすると、namedより先に立ち上がるsyslogdは、namedサービスを使っ
てホスト名を解決しようとします。一方、namedは起動時に、あるメッセージ
をsyslogdに送ろうとします。ところが、ローカルメッセージの場合でも、
syslogdは、namedによるホスト名の解決待ちになっていました。その結果、
デッドロック状態になっていました。
解決方法:
リモートメッセージの場合にだけホスト名を解決するようにsyslogd(1M)を修
正しました。
-----------------------------------------------------------------------------
Patch Name: PHCO_36055
Patch Description: s700_800 11.23 syslogd(1M) cumulative patch
Creation Date: 07/05/29
Post Date: 07/06/06
Hardware Platforms - OS Releases:
s700: 11.23
s800: 11.23
Products: N/A
Filesets:
OS-Core.CORE-ENG-A-MAN,fr=B.11.23,fa=HP-UX_B.11.23_IA/PA,v=HP
OS-Core.UX-CORE,fr=B.11.23,fa=HP-UX_B.11.23_IA/PA,v=HP
OS-Core.UX2-CORE,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP
OS-Core.UX2-CORE,fr=B.11.23,fa=HP-UX_B.11.23_PA,v=HP
Automatic Reboot?: No
Status: General Release
Critical:
Yes
PHCO_36055: HANG
HANG: ( SR: 8606462463 CR:JAGag18333)
The race condition between syslogd(1M) and named(1M)
during startup results in system hang, which lasts
for a while till the timeout occurs.
PHCO_32985: ABORT
Category Tags:
defect_repair enhancement general_release critical
halts_system
Path Name: /hp-ux_patches/s700_800/11.X/PHCO_36055
Symptoms:
PHCO_36055:
( SR:8606432647 CR:JAGaf92086 )
syslogd(1M) does not report the failure to open /dev/klog
as an error.
( SR:8606462463 CR:JAGag18333 )
Race condition between syslogd(1M) and named(1M) on startup.
PHCO_34253:
( SR:8606415720 CR:JAGaf75574 )
Enhancement: This product update enables
SYSTEM_LOGMSG_ENHANCEMENT.
When syslogd(1m) receives a multibyte message string, it
treats the message as a string of single byte characters,
thereby leading to logging of invalid multibyte characters.
( SR:8606415725 CR:JAGaf75579 )
Enhancement: This product update enables
SYSTEM_LOGMSG_ENHANCEMENT.
syslogd(1m) truncates incoming messages at the first
newline character.
PHCO_32985:
( SR:8606392495 CR:JAGaf52613 )
syslogd(1M) messages will not be logged after a reboot if
messages are redirected to a remote host.
( SR:8606396691 CR:JAGaf56674 )
syslogd(1M) can exit abnormally if two SIGHUP signals are
received inside a small time frame.
( SR:8606407565 CR:JAGaf67471 )
syslogd(1M) stops logging to a log file once the size of
the log file reaches 2GB.
PHCO_31604:
( SR:8606360647 CR:JAGaf21354 )
This product update provides pre-enablement for future
expansion of the maximum length of the system hostname.
Any actual expansion capability may be provided
in a future HP-UX hostname expansion product.
Upon installation, the hostname expansion bundle
(NodeHostNameXpnd) will install the full set of
product updates (including this one) needed to enable the
expansion.
If the hostname expansion bundle is not installed,
this product update will have no affect on your
system.
Defect Description:
PHCO_36055:
( SR:8606432647 CR:JAGaf92086 )
During startup, if syslogd(1M) fails to open /dev/klog,
the error message is reported only in debug mode.
The failure message should be reported otherwise too.
Resolution:
syslogd(1M) is modified to log an error message if open of
/dev/klog is not success.
( SR:8606462463 CR:JAGag18333 )
If a system is configured for both name server and remote
logging through syslogd, then during boot up, syslogd comes
up much before named and it tries to resolve the host names
using the named services. When named starts, it tries to
log a message to syslogd whereas syslogd is waiting for
named to resolve the hostnames for local messages. This
results into a deadlock condition.
Resolution:
syslogd(1M) is modified to resolve hostnames only for
remote messages.
PHCO_34253:
( SR:8606415720 CR:JAGaf75574 )
This product update contains minor enhancements required to
enable the SYSTEM_LOGMSG_ENHANCEMENT.
When syslogd(1m) receives a multibyte message string, it
assumes the locale to be "C", and treats the message as a
string of single byte characters, thereby leading to logging
of invalid multibyte characters.
Resolution:
The limitation in syslogd(1m) to handle multibyte message
strings has been removed. This enhancement is provided as a
configurable option MULTIBYTE_ENABLE in
/etc/default/syslogd. When MULTIBYTE_ENABLE is set to 1,
syslogd(1m) will treat multibyte messages in a locale
independent fashion as a stream of bytes. By default,
MULTIBYTE_ENABLE=0 in /etc/default/syslogd.
( SR:8606415725 CR:JAGaf75579 )
This product update contains minor enhancements required to
enable the SYSTEM_LOGMSG_ENHANCEMENT.
syslogd(1m) truncates incoming messages at the first
newline '\n' character. The rest of the message following
the first newline character is not logged.
Resolution:
The limitation in syslogd(1m) to handle message strings
with newline characters has been removed. This enhancement
is provided as a configurable option NEWLINE_NO_TRUNCATE in
/etc/default/syslogd. When NEWLINE_NO_TRUNCATE is set to 1,
syslogd(1m) will replace each newline character in the
message, except for the last one, with a blank space. By
default, NEWLINE_NO_TRUNCATE=1 in /etc/default/syslogd.
PHCO_32985:
( SR:8606392495 CR:JAGaf52613 )
syslogd(1M) has a facility by which one can forward messages
to a remote host. This option needs to be set in syslogd's
configuration file (default - /etc/syslog.conf) with the
'@' option.
When a reboot happens, syslogd starts before network. Hence
syslogd fails to resolve the host. Any messages that come
henceforth are not logged anywhere.
Problem Reproduction:
1. Edit /etc/syslog.conf and modify the "info" entry so that
it looks like -
*.info;mail.none @host_to_redirect_mesg_to
2. Reboot the machine
3. When syslogd(1M) comes up on reboot one gets the
following error -
this_host syslogd: unknown host host_to_redirect_mesg_to
4. No messages are forwarded to the remote host even after
the boot process finishes until a HUP is sent to syslogd.
Resolution:
If message forwarding has been set, then syslogd(1M) tries
to resolve the host for every message it gets, if it failed
the last time around.
( SR:8606396691 CR:JAGaf56674 )
When syslogd(1M) gets a series of SIGHUPs within a short
span of time, it can abort or dump core.
syslogd(1M) uses signal(), which gets unregistered after
each invocation of the signal handler to the default
(SIG_DFL) action. So it needs to be re-registered every time
the handler is invoked. There is a small time window
between the handler being called and being re-registered.
syslogd(1M) re-initializes itself when it gets the HUP
signal. When syslogd(1M) receives a series of SIGHUPs two
things could happen.
1. If the second SIGHUP comes before the signal is
re-registered in the signal handler, the default action
(exit) is invoked. syslogd(1M) exits ungracefully.
2. If the second signal comes after the signal has been
re-registered, then it can cause some operation (like
malloc) to be preempted. This could lead to inconsistency of
data( in case of malloc, the heap could be inconsistent).
syslogd(1M) would get SIGBUS(Bus error) and dump core.
Problem Reproduction:
This problem can be reproduced by sending a series of
SIGHUPs to syslogd(1M).
Note that this problem occurs very rarely and
could be very difficult to reproduce.
Resolution:
The fix ensures that receiving a second SIGHUP while
syslogd(1M) is already processing a SIGHUP does not cause
syslogd(1M) to exit. There are still scenarios in which
receiving signals at certain points in time can cause
syslogd(1M) to fail, but they are very improbable.
A fix in a future release is being planned for them.
( SR:8606407565 CR:JAGaf67471 )
syslogd(1M) stops logging to a log file once its size
reaches 2GB. This was due to a limitation in syslogd where
it failed to work with log files greater than 2GB.
Resolution:
The limitation in syslogd(1M) to log to a size of only 2GB
has been removed. This enhancement is provided as a
configurable option LOG_SIZE in /etc/default/syslogd. The
default limit is 2GB. The values of LOG_SIZE can be a
positive integer greater than 2 representing size of file in
GB. When LOG_SIZE=NOLIMIT, the filesystem imposed limit on
file size is to be used.
PHCO_31604:
( SR:8606360647 CR:JAGaf21354 )
This product update contains some minor enhancements
required to pre-enable a future HP-UX hostname
expansion product bundle (NodeHostNameXpnd).
Resolution:
Internal buffers for the hostname are expanded in
preparation for a future increase to the associated
maximum length constraint.
Enhancement:
No (superseded patches contained enhancements)
PHCO_34253:
Adding support for SYSTEM_LOGMSG_ENHANCEMENT.
PHCO_32985:
syslogd(1M) now allows log files
to grow more than 2GB in size.
PHCO_31604:
( SR:8606360647 CR:JAGaf21354 )
Support added for future maximum length expansion of
hostname.
SR:
8606432647 8606462463 8606415720 8606415725 8606360647
8606392495 8606396691 8606407565
Patch Files:
OS-Core.CORE-ENG-A-MAN,fr=B.11.23,fa=HP-UX_B.11.23_IA/PA,
v=HP:
/usr/share/man/man1m.Z/syslogd.1m
OS-Core.UX-CORE,fr=B.11.23,fa=HP-UX_B.11.23_IA/PA,v=HP:
/usr/newconfig/etc/default/syslogd
OS-Core.UX2-CORE,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP:
/usr/sbin/syslogd
OS-Core.UX2-CORE,fr=B.11.23,fa=HP-UX_B.11.23_PA,v=HP:
/usr/sbin/syslogd
what(1) Output:
OS-Core.CORE-ENG-A-MAN,fr=B.11.23,fa=HP-UX_B.11.23_IA/PA,
v=HP:
/usr/share/man/man1m.Z/syslogd.1m:
None
OS-Core.UX-CORE,fr=B.11.23,fa=HP-UX_B.11.23_IA/PA,v=HP:
/usr/newconfig/etc/default/syslogd:
default.syslogd $Date: 2006/01/23 20:01:10 $Revision
: r11.23/2 PATCH_11.23 (PHCO_34253)
OS-Core.UX2-CORE,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP:
/usr/sbin/syslogd:
Copyright (c) 1983 Regents of the University of Cali
fornia.
syslogd.c $Date: 2007/04/25 11:14:01 $Revision: r11.
23/6 PATCH_11.23 (PHCO_36055)
logmsg.c $Date: 2007/04/25 11:13:56 $Revision: r11.2
3/3 PATCH_11.23 (PHCO_36055)
logmsg.c $Date: 2007/04/25 11:13:56 $Revision: r11.2
3/3 PATCH_11.23 (PHCO_36055)
$Revision: @(#) syslogd R11.23_BL2007_0529_1 PATCH_1
1.23 PHCO_36055
OS-Core.UX2-CORE,fr=B.11.23,fa=HP-UX_B.11.23_PA,v=HP:
/usr/sbin/syslogd:
$Revision: 92453-07 linker linker crt0.o B.11.16.01
030415 $
logmsg.c $Date: 2007/04/25 11:13:56 $Revision: r11.2
3/3 PATCH_11.23 (PHCO_36055)
logmsg.c $Date: 2007/04/25 11:13:56 $Revision: r11.2
3/3 PATCH_11.23 (PHCO_36055)
syslogd.c $Date: 2007/04/25 11:14:01 $Revision: r11.
23/6 PATCH_11.23 (PHCO_36055)
$Revision: @(#) syslogd R11.23_BL2007_0529_1 PATCH_1
1.23 PHCO_36055
Copyright (c) 1983 Regents of the University of Cali
fornia.
cksum(1) Output:
OS-Core.CORE-ENG-A-MAN,fr=B.11.23,fa=HP-UX_B.11.23_IA/PA,
v=HP:
4186353750 5463 /usr/share/man/man1m.Z/syslogd.1m
OS-Core.UX-CORE,fr=B.11.23,fa=HP-UX_B.11.23_IA/PA,v=HP:
586983733 1356 /usr/newconfig/etc/default/syslogd
OS-Core.UX2-CORE,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP:
894305854 106092 /usr/sbin/syslogd
OS-Core.UX2-CORE,fr=B.11.23,fa=HP-UX_B.11.23_PA,v=HP:
3964318749 57344 /usr/sbin/syslogd
Patch Conflicts: None
Patch Dependencies: None
Hardware Dependencies: None
Other Dependencies: None
Supersedes:
PHCO_34253 PHCO_32985 PHCO_31604
Equivalent Patches: None
Patch Package Size: 140 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 PHCO_36055
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHCO_36055.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHCO_36055. If you do not wish to retain a
copy of the original software, include the patch_save_files
option in the swinstall command above:
-x patch_save_files=false
WARNING: If patch_save_files is false when a patch is installed,
the patch cannot be deinstalled. Please be careful
when using this feature.
For future reference, the contents of the PHCO_36055.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHCO_36055.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHCO_36055.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions:
To obtain the complete functionality of the
SYSTEM_LOGMSG_ENHANCEMENT, install the libc
cumulative patch - PHCO_34191.
To enable the associated enhancements refer to
the syslogd(1M) manpage.
|