The debug output is:

bcm20-a:/ # stonith -dL
GLib: Cannot convert message: Conversion from character set 'UTF-8' to
'646' is not supported
** (process:18464): DEBUG: NewPILPluginUniv(0x8062918)
** (process:18464): DEBUG: PILS: Plugin path =
/usr/sfw/lib/python2.3/stonith/plugins:/usr/sfw/lib/python2.3/pils/plugi
ns
** (process:18464): DEBUG: NewPILInterfaceUniv(0x8065270)
** (process:18464): DEBUG: NewPILPlugintype(0x8062998)
** (process:18464): DEBUG: NewPILPlugin(0x8063120)
** (process:18464): DEBUG: NewPILInterface(0x8065f68)
** (process:18464): DEBUG:
NewPILInterface(0x8065f68:InterfaceMgr/InterfaceMgr)*** user_data: 0x0
*******
** (process:18464): DEBUG:
InterfaceManager_plugin_init(0x8065f68/InterfaceMgr)
** (process:18464): DEBUG: Registering Implementation manager for
Interface type 'InterfaceMgr'
** (process:18464): DEBUG: PILS: Looking for InterfaceMgr/generic =>
[/usr/sfw/lib/python2.3/stonith/plugins/InterfaceMgr/generic.so]
** (process:18464): DEBUG: Plugin file
/usr/sfw/lib/python2.3/stonith/plugins/InterfaceMgr/generic.so does not
exist
** (process:18464): DEBUG: PILS: Looking for InterfaceMgr/generic =>
[/usr/sfw/lib/python2.3/pils/plugins/InterfaceMgr/generic.so]
** (process:18464): DEBUG: Plugin path for InterfaceMgr/generic =>
[/usr/sfw/lib/python2.3/pils/plugins/InterfaceMgr/generic.so]
** (process:18464): DEBUG: PluginType InterfaceMgr already present
** (process:18464): DEBUG: Plugin InterfaceMgr/generic  init function:
InterfaceMgr_LTX_generic_pil_plugin_init
** (process:18464): DEBUG: NewPILPlugin(0x80631c0)
** (process:18464): DEBUG: Plugin InterfaceMgr/generic loaded and
constructed.
** (process:18464): DEBUG: Calling init function in plugin
InterfaceMgr/generic.
** (process:18464): DEBUG: NewPILInterface(0x8065fd0)
** (process:18464): DEBUG:
NewPILInterface(0x8065fd0:InterfaceMgr/stonith2)*** user_data: 0x8066100
*******
** (process:18464): DEBUG: Registering Implementation manager for
Interface type 'stonith2'
** (process:18464): DEBUG: IfIncrRefCount(1 + 1 )
** (process:18464): DEBUG: PluginIncrRefCount(0 + 1 )
** (process:18464): DEBUG: IfIncrRefCount(1 + 100 )
** (process:18464): DEBUG: NewPILPlugintype(0x80629f8)
** (process:18464): DEBUG: In so_select: ..
** (process:18464): DEBUG: In so_select: ...
** (process:18464): DEBUG: In so_select: apcmaster.so.
** (process:18464): DEBUG: In so_select: apcmaster.la.
** (process:18464): DEBUG: In so_select: apcmaster.a.
** (process:18464): DEBUG: In so_select: apcsmart.so.
** (process:18464): DEBUG: In so_select: apcsmart.la.
** (process:18464): DEBUG: In so_select: apcsmart.a.
** (process:18464): DEBUG: In so_select: baytech.so.
** (process:18464): DEBUG: In so_select: baytech.la.
** (process:18464): DEBUG: In so_select: baytech.a.
** (process:18464): DEBUG: In so_select: cyclades.so.
** (process:18464): DEBUG: In so_select: cyclades.la.
** (process:18464): DEBUG: In so_select: cyclades.a.
** (process:18464): DEBUG: In so_select: external.so.
** (process:18464): DEBUG: In so_select: external.la.
** (process:18464): DEBUG: In so_select: external.a.
** (process:18464): DEBUG: In so_select: ibmhmc.so.
** (process:18464): DEBUG: In so_select: ibmhmc.la.
** (process:18464): DEBUG: In so_select: ibmhmc.a.
** (process:18464): DEBUG: In so_select: meatware.so.
** (process:18464): DEBUG: In so_select: meatware.la.
** (process:18464): DEBUG: In so_select: meatware.a.
** (process:18464): DEBUG: In so_select: null.so.
** (process:18464): DEBUG: In so_select: null.la.
** (process:18464): DEBUG: In so_select: null.a.
** (process:18464): DEBUG: In so_select: nw_rpc100s.so.
** (process:18464): DEBUG: In so_select: nw_rpc100s.la.
** (process:18464): DEBUG: In so_select: nw_rpc100s.a.
** (process:18464): DEBUG: In so_select: rcd_serial.so.
** (process:18464): DEBUG: In so_select: rcd_serial.la.
** (process:18464): DEBUG: In so_select: rcd_serial.a.
** (process:18464): DEBUG: In so_select: rps10.so.
** (process:18464): DEBUG: In so_select: rps10.la.
** (process:18464): DEBUG: In so_select: rps10.a.
** (process:18464): DEBUG: In so_select: ssh.so.
** (process:18464): DEBUG: In so_select: ssh.la.
** (process:18464): DEBUG: In so_select: ssh.a.
** (process:18464): DEBUG: In so_select: suicide.so.
** (process:18464): DEBUG: In so_select: suicide.la.
** (process:18464): DEBUG: In so_select: suicide.a.
** (process:18464): DEBUG: In so_select: wti_nps.so.
** (process:18464): DEBUG: In so_select: wti_nps.la.
** (process:18464): DEBUG: In so_select: wti_nps.a.
** (process:18464): DEBUG: In so_select: ribcl.py.
** (process:18464): DEBUG: PILS: Examining directory
[/usr/sfw/lib/python2.3/stonith/plugins/stonith2]: [0] files matching
[.so] suffix found.
** (process:18464): DEBUG: PILS: skipping empty directory in
PILPluginTypeListPlugins()
** (process:18464): DEBUG: PILS: Examining directory
[/usr/sfw/lib/python2.3/pils/plugins/stonith2]: [-1] files matching
[.so] suffix found.
** (process:18464): DEBUG: PILS: skipping empty directory in
PILPluginTypeListPlugins()
** (process:18464): DEBUG: PILS: NULL return from
PILPluginTypeListPlugins()

I think the problem is a wrong pointer comparison in pils.c/so_select.
The following patch works. This is not Solaris specific:

--- ./lib/pils/pils.c.orig      2007-05-22 06:45:09.418222467 +0200
+++ ./lib/pils/pils.c   2007-05-22 07:20:51.004642982 +0200
@@ -1870,7 +1870,7 @@ so_select (const struct dirent *dire)
        if (DEBUGPLUGIN) {
                PILLog(PIL_DEBUG, "In so_select: %s.", dire->d_name);
        }
-       if (obj_end < dire->d_name) {
+       if (end < dire->d_name) {
                        return 0;
        }
        if (strcmp(end, obj_end) == 0) {


_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to