[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-ha-dev
Subject:    Re: [Linux-ha-dev] heartbeat-1.0.3:stonith on soalris 2.8 coredump
From:       Alan Robertson <alanr () unix ! sh>
Date:       2003-07-19 4:19:58
[Download RAW message or body]

Yang Tj-ATY010 wrote:
> 
>>-----Original Message-----
>>From: Soffen, Matthew [mailto:msoffen@iso-ne.com]
>>Sent: Friday, July 18, 2003 2:12 PM
>>To: linux-ha-dev@lists.community.tummy.com
>>Subject: RE: [Linux-ha-dev] Heartbeat on Solaris 2.8 (long post)
>>
>>
>>1) The 1.0.x version works on Solaris, The Current 1.0.3 
>>version works on
>>Solaris (needs to be built - No Packages)
>>
> 
> 
> 1. Ok I downgrade hb version to current 1.0.3 from 1.1.1.
> But I am still getting coredump when runn following command.
> 
> 2. root@build204> ./stonith -h 
> usage: stonith [-sSlLvh] [-t stonith-device-type] [-p
> stonith-device-parameters]
>  [-F stonith-device-parameters-file] nodename
>         -L      list supported stonith device types
>         -l      list hosts controlled by this stonith device
>         -S      report stonith device status
>         -s      silent
>         -v      verbose
>         -h      get this help message
> 
> STONITH -t device types and associated configuration details:
> Segmentation Fault (core dumped)
> 
> 3. the trace of function calls
> 
> root@build204> truss ./stonith
> execve("stonith", 0xFFBEF9BC, 0xFFBEF9C4)  argc = 1
> mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON,
> -1, 0) = 0xFF3A000
> 0
> resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16
> open("/var/ld/ld.config", O_RDONLY)             Err#2 ENOENT
> open("/usr/lib/libstonith.so.0", O_RDONLY)      Err#2 ENOENT
> open("/usr/openwin/lib/libstonith.so.0", O_RDONLY) Err#2 ENOENT
> open("/opt/TWWfsw/heartbeat103/lib/libstonith.so.0", O_RDONLY) = 3
> fstat(3, 0xFFBEF0F4)                            = 0
> mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF390000
> mmap(0x00000000, 73728, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF370000
> mmap(0xFF380000, 6780, PROT_READ|PROT_WRITE|PROT_EXEC,
> MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF38000
> 0
> munmap(0xFF372000, 57344)                       = 0
> memcntl(0xFF370000, 2524, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
> close(3)                                        = 0
> open("/usr/lib/libpils.so.0", O_RDONLY)         Err#2 ENOENT
> open("/usr/openwin/lib/libpils.so.0", O_RDONLY) Err#2 ENOENT
> open("/opt/TWWfsw/heartbeat103/lib/libpils.so.0", O_RDONLY) = 3
> fstat(3, 0xFFBEF0F4)                            = 0
> mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
> 0xFF390000
> mmap(0x00000000, 131072, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
> 0xFF340000
> mmap(0xFF35E000, 7124, PROT_READ|PROT_WRITE|PROT_EXEC,
> MAP_PRIVATE|MAP_FIXED, 3, 57344) = 0xFF3
> 5E000
> munmap(0xFF350000, 57344)                       = 0
> memcntl(0xFF340000, 9496, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
> close(3)                                        = 0
> open("/usr/lib/libglib-1.2.so.0", O_RDONLY)     Err#2 ENOENT
> open("/usr/openwin/lib/libglib-1.2.so.0", O_RDONLY) Err#2 ENOENT
> open("/opt/TWWfsw/heartbeat103/lib/libglib-1.2.so.0", O_RDONLY) Err#2 ENOENT
> open("/opt/TWWfsw/glib12/lib/libglib-1.2.so.0", O_RDONLY) = 3
> fstat(3, 0xFFBEF0F4)                            = 0
> mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
> 0xFF390000
> mmap(0x00000000, 278528, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
> 0xFF2F0000
> mmap(0xFF32E000, 22969, PROT_READ|PROT_WRITE|PROT_EXEC,
> MAP_PRIVATE|MAP_FIXED, 3, 188416) = 0xF
> F32E000
> munmap(0xFF320000, 57344)                       = 0
> memcntl(0xFF2F0000, 35256, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
> close(3)                                        = 0
> open("/usr/lib/libc.so.1", O_RDONLY)            = 3
> fstat(3, 0xFFBEF0F4)                            = 0
> mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
> 0xFF390000
> mmap(0x00000000, 794624, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
> 0xFF200000
> mmap(0xFF2BA000, 24692, PROT_READ|PROT_WRITE|PROT_EXEC,
> MAP_PRIVATE|MAP_FIXED, 3, 696320) = 0xF
> F2BA000
> munmap(0xFF2AA000, 65536)                       = 0
> memcntl(0xFF200000, 113380, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
> close(3)                                        = 0
> open("/usr/lib/librt.so.1", O_RDONLY)           = 3
> fstat(3, 0xFFBEF0F4)                            = 0
> mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
> 0xFF390000
> mmap(0x00000000, 98304, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF2D0000
> mmap(0xFF2E6000, 1784, PROT_READ|PROT_WRITE|PROT_EXEC,
> MAP_PRIVATE|MAP_FIXED, 3, 24576) = 0xFF2
> E6000
> munmap(0xFF2D6000, 65536)                       = 0
> memcntl(0xFF2D0000, 10032, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
> close(3)                                        = 0
> open("/usr/lib/libdl.so.1", O_RDONLY)           = 3
> fstat(3, 0xFFBEF0F4)                            = 0
> mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
> 0xFF390000
> close(3)                                        = 0
> open("/usr/lib/libsocket.so.1", O_RDONLY)       = 3
> fstat(3, 0xFFBEF0F4)                            = 0
> mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF1F0000
> mmap(0x00000000, 114688, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
> 0xFF1D0000
> mmap(0xFF1EA000, 4365, PROT_READ|PROT_WRITE|PROT_EXEC,
> MAP_PRIVATE|MAP_FIXED, 3, 40960) = 0xFF1
> EA000
> munmap(0xFF1DA000, 65536)                       = 0
> memcntl(0xFF1D0000, 14496, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
> close(3)                                        = 0
> open("/usr/lib/libnsl.so.1", O_RDONLY)          = 3
> fstat(3, 0xFFBEF0F4)                            = 0
> mmap(0xFF1F0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
> 0xFF1F0000
> mmap(0x00000000, 704512, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
> 0xFF100000
> mmap(0xFF19C000, 32732, PROT_READ|PROT_WRITE|PROT_EXEC,
> MAP_PRIVATE|MAP_FIXED, 3, 573440) = 0xF
> F19C000
> mmap(0xFF1A4000, 30920, PROT_READ|PROT_WRITE|PROT_EXEC,
> MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0)
> = 0xFF1A4000
> munmap(0xFF18C000, 65536)                       = 0
> mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON,
> -1, 0) = 0xFF1C000
> 0
> memcntl(0xFF100000, 82236, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
> close(3)                                        = 0
> open("/usr/lib/libaio.so.1", O_RDONLY)          = 3
> fstat(3, 0xFFBEF0F4)                            = 0
> mmap(0xFF1F0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
> 0xFF1F0000
> mmap(0x00000000, 106496, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
> 0xFF0E0000
> mmap(0xFF0F8000, 1584, PROT_READ|PROT_WRITE|PROT_EXEC,
> MAP_PRIVATE|MAP_FIXED, 3, 32768) = 0xFF0
> F8000
> munmap(0xFF0E8000, 65536)                       = 0
> memcntl(0xFF0E0000, 7184, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
> close(3)                                        = 0
> open("/usr/lib/libmp.so.2", O_RDONLY)           = 3
> fstat(3, 0xFFBEF0F4)                            = 0
> mmap(0xFF1F0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
> 0xFF1F0000
> mmap(0x00000000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF0C0000
> mmap(0xFF0D4000, 865, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
> 3, 16384) = 0xFF0D
> 4000
> munmap(0xFF0C4000, 65536)                       = 0
> memcntl(0xFF0C0000, 3124, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
> close(3)                                        = 0
> open("/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1", O_RDONLY) = 3
> fstat(3, 0xFFBEEF84)                            = 0
> mmap(0xFF1F0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
> 0xFF1F0000
> mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF0B0000
> close(3)                                        = 0
> munmap(0xFF1F0000, 8192)                        = 0
> sysconfig(_CONFIG_SEM_VALUE_MAX)                = 2147483647
> usage: write(2, " u s a g e :  ", 7)                    = 7
> stonithwrite(2, " s t o n i t h", 7)                    = 7
>  [-sSlLvh] [-t stonith-device-type] [-p stonith-device-parameters] [-F
> stonith-device-parameter
> s-file] nodename
> write(2, "   [ - s S l L v h ]   [".., 112)     = 112
>         -L      list supported stonith device types
> write(2, "\t - L\t l i s t   s u p".., 40)      = 40
>         -l      list hosts controlled by this stonith device
> write(2, "\t - l\t l i s t   h o s".., 49)      = 49
>         -S      report stonith device status
> write(2, "\t - S\t r e p o r t   s".., 33)      = 33
>         -s      silent
> write(2, "\t - s\t s i l e n t\n", 11)          = 11
>         -v      verbose
> write(2, "\t - v\t v e r b o s e\n", 12)        = 12
>         -h      get this help message
> write(2, "\t - h\t g e t   t h i s".., 26)      = 26
> 
> STONITH -t device types and associated configuration details:
> write(2, "\n S T O N I T H   - t  ".., 63)      = 63
> brk(0x00021CB0)                                 = 0
> brk(0x00023CB0)                                 = 0
> brk(0x00023CB0)                                 = 0
> brk(0x00025CB0)                                 = 0
> access("/opt/TWWfsw/heartbeat103/lib/stonith/plugins/InterfaceMgr/generic.so
> ", 5) Err#2 ENOENT
> access("/opt/TWWfsw/heartbeat103/lib/pils/plugins/InterfaceMgr/generic.so",
> 5) = 0
> access("/opt/TWWfsw/heartbeat103/lib/pils/plugins/InterfaceMgr/generic.so",
> 5) = 0
> open("/opt/TWWfsw/heartbeat103/lib/pils/plugins/InterfaceMgr/generic.so",
> O_RDONLY) = 3
> fstat(3, 0xFFBEEDBC)                            = 0
> mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF0A0000
> mmap(0x00000000, 73728, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF080000
> mmap(0xFF090000, 7740, PROT_READ|PROT_WRITE|PROT_EXEC,
> MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF09000
> 0
> munmap(0xFF082000, 57344)                       = 0
> memcntl(0xFF080000, 1876, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
> close(3)                                        = 0
> munmap(0xFF0A0000, 8192)                        = 0
> open64("/opt/TWWfsw/heartbeat103/lib/stonith/plugins/stonith",
> O_RDONLY|O_NDELAY) = 3
> fcntl(3, F_SETFD, 0x00000001)                   = 0
> fstat64(3, 0xFFBEF4E0)                          = 0
> getdents64(3, 0x00024D98, 1048)                 = 1000
> getdents64(3, 0x00024D98, 1048)                 = 0
> close(3)                                        = 0
>     Incurred fault #6, FLTBOUNDS  %pc = 0xFF242194
>       siginfo: SIGSEGV SEGV_MAPERR addr=0x737135D8
>     Received signal #11, SIGSEGV [default]
>       siginfo: SIGSEGV SEGV_MAPERR addr=0x737135D8
>         *** process killed ***
> root@build204>
> 
> 3. This is beyond me, any idea what I did wrong ?

I don't think you did anything wrong.  This looks like a bug.  I wish you 
had a stack traceback.  Did it leave a core dump that you can get a 
traceback from?  If not, can you run it under a debugger?

What happens if you just do stonith -L?  Does it also fault?

I can tell you what had just done.  It had just retrieved the set of STONITH 
modules by reading the lib/stonith/plugins/stonith/stonith directory.   The 
next thing it would try and do is load a module into memory and run it.

However, I think it was still in the stonith_types() function. 
stonith_types() calls PILListPlugins().  This in turn calls 
PILPluginTypeListPlugins().

My guess is that it's in the call to qsort.  If the qsort_string_cmp 
function doesn't match up right, we could be in trouble.

The rest of the code in this area looks good by visual inspection.

Try and get us a traceback...



-- 
     Alan Robertson <alanr@unix.sh>

"Openness is the foundation and preservative of friendship...  Let me claim 
from you at all times your undisguised opinions." - William Wilberforce

_______________________________________________________
Linux-HA-Dev: Linux-HA-Dev@lists.community.tummy.com
http://lists.community.tummy.com/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic