[Pacemaker] [Openais] Linux HA on debian sparc

Steven Dake sdake at redhat.com
Tue Jun 7 09:08:43 EDT 2011


On 06/07/2011 04:44 AM, william felipe_welter wrote:
> More two questions.. The patch for mmap calls will be on the mainly
> development for all archs ?
> Any problems if i send this patch's for Debian project ?
> 

These patches will go into the maintenance branches

You can send them to whoever you like ;)

Regards
-steve

> 2011/6/3 Steven Dake <sdake at redhat.com>:
>> On 06/02/2011 08:16 PM, william felipe_welter wrote:
>>> Well,
>>>
>>> Now with this patch, the pacemakerd process starts and up his other
>>> process ( crmd, lrmd, pengine....) but after the process pacemakerd do
>>> a fork, the forked  process pacemakerd dies due to "signal 10, Bus
>>> error".. And  on the log, the process of pacemark ( crmd, lrmd,
>>> pengine....) cant connect to open ais plugin (possible because the
>>> "death" of the pacemakerd process).
>>> But this time when the forked pacemakerd dies, he generates a coredump.
>>>
>>> gdb  -c "/usr/var/lib/heartbeat/cores/root/ pacemakerd 7986"  -se
>>> /usr/sbin/pacemakerd :
>>> GNU gdb (GDB) 7.0.1-debian
>>> Copyright (C) 2009 Free Software Foundation, Inc.
>>> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
>>> This is free software: you are free to change and redistribute it.
>>> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
>>> and "show warranty" for details.
>>> This GDB was configured as "sparc-linux-gnu".
>>> For bug reporting instructions, please see:
>>> <http://www.gnu.org/software/gdb/bugs/>...
>>> Reading symbols from /usr/sbin/pacemakerd...done.
>>> Reading symbols from /usr/lib64/libuuid.so.1...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /usr/lib64/libuuid.so.1
>>> Reading symbols from /usr/lib/libcoroipcc.so.4...done.
>>> Loaded symbols for /usr/lib/libcoroipcc.so.4
>>> Reading symbols from /usr/lib/libcpg.so.4...done.
>>> Loaded symbols for /usr/lib/libcpg.so.4
>>> Reading symbols from /usr/lib/libquorum.so.4...done.
>>> Loaded symbols for /usr/lib/libquorum.so.4
>>> Reading symbols from /usr/lib64/libcrmcommon.so.2...done.
>>> Loaded symbols for /usr/lib64/libcrmcommon.so.2
>>> Reading symbols from /usr/lib/libcfg.so.4...done.
>>> Loaded symbols for /usr/lib/libcfg.so.4
>>> Reading symbols from /usr/lib/libconfdb.so.4...done.
>>> Loaded symbols for /usr/lib/libconfdb.so.4
>>> Reading symbols from /usr/lib64/libplumb.so.2...done.
>>> Loaded symbols for /usr/lib64/libplumb.so.2
>>> Reading symbols from /usr/lib64/libpils.so.2...done.
>>> Loaded symbols for /usr/lib64/libpils.so.2
>>> Reading symbols from /lib/libbz2.so.1.0...(no debugging symbols found)...done.
>>> Loaded symbols for /lib/libbz2.so.1.0
>>> Reading symbols from /usr/lib/libxslt.so.1...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /usr/lib/libxslt.so.1
>>> Reading symbols from /usr/lib/libxml2.so.2...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /usr/lib/libxml2.so.2
>>> Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
>>> Loaded symbols for /lib/libc.so.6
>>> Reading symbols from /lib/librt.so.1...(no debugging symbols found)...done.
>>> Loaded symbols for /lib/librt.so.1
>>> Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done.
>>> Loaded symbols for /lib/libdl.so.2
>>> Reading symbols from /lib/libglib-2.0.so.0...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib/libglib-2.0.so.0
>>> Reading symbols from /usr/lib/libltdl.so.7...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /usr/lib/libltdl.so.7
>>> Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done.
>>> Loaded symbols for /lib/ld-linux.so.2
>>> Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done.
>>> Loaded symbols for /lib/libpthread.so.0
>>> Reading symbols from /lib/libm.so.6...(no debugging symbols found)...done.
>>> Loaded symbols for /lib/libm.so.6
>>> Reading symbols from /usr/lib/libz.so.1...(no debugging symbols found)...done.
>>> Loaded symbols for /usr/lib/libz.so.1
>>> Reading symbols from /lib/libpcre.so.3...(no debugging symbols found)...done.
>>> Loaded symbols for /lib/libpcre.so.3
>>> Reading symbols from /lib/libnss_compat.so.2...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib/libnss_compat.so.2
>>> Reading symbols from /lib/libnsl.so.1...(no debugging symbols found)...done.
>>> Loaded symbols for /lib/libnsl.so.1
>>> Reading symbols from /lib/libnss_nis.so.2...(no debugging symbols found)...done.
>>> Loaded symbols for /lib/libnss_nis.so.2
>>> Reading symbols from /lib/libnss_files.so.2...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib/libnss_files.so.2
>>> Core was generated by `pacemakerd'.
>>> Program terminated with signal 10, Bus error.
>>> #0  cpg_dispatch (handle=17861288972693536769, dispatch_types=7986) at cpg.c:339
>>> 339                   switch (dispatch_data->id) {
>>> (gdb) bt
>>> #0  cpg_dispatch (handle=17861288972693536769, dispatch_types=7986) at cpg.c:339
>>> #1  0xf6f100f0 in ?? ()
>>> #2  0xf6f100f4 in ?? ()
>>> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>>>
>>>
>>>
>>> I take a look at the cpg.c and see that the dispatch_data was aquired
>>> by coroipcc_dispatch_get (that was defined on lib/coroipcc.c)
>>> function:
>>>
>>>        do {
>>>                 error = coroipcc_dispatch_get (
>>>                         cpg_inst->handle,
>>>                         (void **)&dispatch_data,
>>>                         timeout);
>>>
>>>
>>>
>>
>> Try the recent patch sent to fix alignment.
>>
>> Regards
>> -steve
>>
>>>
>>> Resumed log:
>>> ...
>>> un 02 23:12:20 corosync [CPG   ] got mcast request on 0x62500
>>> Jun 02 23:12:20 corosync [TOTEM ] mcasted message added to pending queue
>>> Jun 02 23:12:20 corosync [TOTEM ] Delivering f to 10
>>> Jun 02 23:12:20 corosync [TOTEM ] Delivering MCAST message with seq 10
>>> to pending delivery queue
>>> Jun 02 23:12:20 corosync [TOTEM ] releasing messages up to and including f
>>> Jun 02 23:12:20 corosync [TOTEM ] releasing messages up to and including 10
>>> Jun 02 23:12:20 xxxxxxxxxx pacemakerd: [7986]: info: start_child:
>>> Forked child 7991 for process lrmd
>>> Jun 02 23:12:20 xxxxxxxxxx pacemakerd: [7986]: info:
>>> update_node_processes: Node xxxxxxxxxx now has process list:
>>> 00000000000000000000000000100112 (was
>>> 00000000000000000000000000100102)
>>> Jun 02 23:12:20 corosync [CPG   ] got mcast request on 0x62500
>>> Jun 02 23:12:20 corosync [TOTEM ] mcasted message added to pending queue
>>> Jun 02 23:12:20 corosync [TOTEM ] Delivering 10 to 11
>>> Jun 02 23:12:20 corosync [TOTEM ] Delivering MCAST message with seq 11
>>> to pending delivery queue
>>> Jun 02 23:12:20 corosync [TOTEM ] releasing messages up to and including 11
>>> Jun 02 23:12:20 xxxxxxxxxx pacemakerd: [7986]: info: start_child:
>>> Forked child 7992 for process attrd
>>> Jun 02 23:12:20 xxxxxxxxxx pacemakerd: [7986]: info:
>>> update_node_processes: Node xxxxxxxxxx now has process list:
>>> 00000000000000000000000000101112 (was
>>> 00000000000000000000000000100112)
>>> Jun 02 23:12:20 corosync [CPG   ] got mcast request on 0x62500
>>> Jun 02 23:12:20 corosync [TOTEM ] mcasted message added to pending queue
>>> Jun 02 23:12:20 corosync [TOTEM ] Delivering 11 to 12
>>> Jun 02 23:12:20 corosync [TOTEM ] Delivering MCAST message with seq 12
>>> to pending delivery queue
>>> Jun 02 23:12:20 corosync [TOTEM ] releasing messages up to and including 12
>>> Jun 02 23:12:20 xxxxxxxxxx pacemakerd: [7986]: info: start_child:
>>> Forked child 7993 for process pengine
>>> Jun 02 23:12:20 xxxxxxxxxx pacemakerd: [7986]: info:
>>> update_node_processes: Node xxxxxxxxxx now has process list:
>>> 00000000000000000000000000111112 (was
>>> 00000000000000000000000000101112)
>>> Jun 02 23:12:20 corosync [CPG   ] got mcast request on 0x62500
>>> Jun 02 23:12:20 corosync [TOTEM ] mcasted message added to pending queue
>>> Jun 02 23:12:20 corosync [TOTEM ] Delivering 12 to 13
>>> Jun 02 23:12:20 corosync [TOTEM ] Delivering MCAST message with seq 13
>>> to pending delivery queue
>>> Jun 02 23:12:20 corosync [TOTEM ] releasing messages up to and including 13
>>> Jun 02 23:12:20 xxxxxxxxxx pacemakerd: [7986]: info: start_child:
>>> Forked child 7994 for process crmd
>>> Jun 02 23:12:20 xxxxxxxxxx pacemakerd: [7986]: info:
>>> update_node_processes: Node xxxxxxxxxx now has process list:
>>> 00000000000000000000000000111312 (was
>>> 00000000000000000000000000111112)
>>> Jun 02 23:12:20 corosync [CPG   ] got mcast request on 0x62500
>>> Jun 02 23:12:20 xxxxxxxxxx pacemakerd: [7986]: info: main: Starting mainloop
>>> Jun 02 23:12:20 corosync [TOTEM ] mcasted message added to pending queue
>>> Jun 02 23:12:20 corosync [TOTEM ] Delivering 13 to 14
>>> Jun 02 23:12:20 corosync [TOTEM ] Delivering MCAST message with seq 14
>>> to pending delivery queue
>>> Jun 02 23:12:20 corosync [TOTEM ] releasing messages up to and including 14
>>> Jun 02 23:12:20 corosync [CPG   ] got mcast request on 0x62500
>>> Jun 02 23:12:20 corosync [TOTEM ] mcasted message added to pending queue
>>> Jun 02 23:12:20 corosync [TOTEM ] Delivering 14 to 15
>>> Jun 02 23:12:20 corosync [TOTEM ] Delivering MCAST message with seq 15
>>> to pending delivery queue
>>> Jun 02 23:12:20 corosync [TOTEM ] releasing messages up to and including 15
>>> Jun 02 23:12:20 xxxxxxxxxx stonith-ng: [7989]: info: Invoked:
>>> /usr/lib64/heartbeat/stonithd
>>> Jun 02 23:12:20 xxxxxxxxxx stonith-ng: [7989]: info:
>>> crm_log_init_worker: Changed active directory to
>>> /usr/var/lib/heartbeat/cores/root
>>> Jun 02 23:12:20 xxxxxxxxxx stonith-ng: [7989]: info: get_cluster_type:
>>> Cluster type is: 'openais'.
>>> Jun 02 23:12:20 xxxxxxxxxx stonith-ng: [7989]: info:
>>> crm_cluster_connect: Connecting to cluster infrastructure: classic
>>> openais (with plugin)
>>> Jun 02 23:12:20 xxxxxxxxxx stonith-ng: [7989]: info:
>>> init_ais_connection_classic: Creating connection to our Corosync
>>> plugin
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: info: crm_log_init_worker:
>>> Changed active directory to /usr/var/lib/heartbeat/cores/hacluster
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: info: retrieveCib: Reading
>>> cluster configuration from: /usr/var/lib/heartbeat/crm/cib.xml
>>> (digest: /usr/var/lib/heartbeat/crm/cib.xml.sig)
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: WARN: retrieveCib: Cluster
>>> configuration not found: /usr/var/lib/heartbeat/crm/cib.xml
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: WARN: readCibXmlFile: Primary
>>> configuration corrupt or unusable, trying backup...
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: debug: get_last_sequence:
>>> Series file /usr/var/lib/heartbeat/crm/cib.last does not exist
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: debug: readCibXmlFile: Backup
>>> file /usr/var/lib/heartbeat/crm/cib-99.raw not found
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: WARN: readCibXmlFile:
>>> Continuing with an empty configuration.
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: debug: readCibXmlFile[on-disk]
>>> <cib epoch="0" num_updates="0" admin_epoch="0"
>>> validate-with="pacemaker-1.2" >
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: debug: readCibXmlFile[on-disk]
>>>   <configuration >
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: debug: readCibXmlFile[on-disk]
>>>     <crm_config />
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: debug: readCibXmlFile[on-disk]
>>>     <nodes />
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: debug: readCibXmlFile[on-disk]
>>>     <resources />
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: debug: readCibXmlFile[on-disk]
>>>     <constraints />
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: debug: readCibXmlFile[on-disk]
>>>   </configuration>
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: debug: readCibXmlFile[on-disk]
>>>   <status />
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: debug: readCibXmlFile[on-disk] </cib>
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: info: validate_with_relaxng:
>>> Creating RNG parser context
>>> Jun 02 23:12:20 xxxxxxxxxx stonith-ng: [7989]: info:
>>> init_ais_connection_classic: Connection to our AIS plugin (9) failed:
>>> Doesn't exist (12)
>>> Jun 02 23:12:20 xxxxxxxxxx stonith-ng: [7989]: CRIT: main: Cannot sign
>>> in to the cluster... terminating
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: info: Invoked:
>>> /usr/lib64/heartbeat/crmd
>>> Jun 02 23:12:20 xxxxxxxxxx pengine: [7993]: info: Invoked:
>>> /usr/lib64/heartbeat/pengine
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: info: crm_log_init_worker:
>>> Changed active directory to /usr/var/lib/heartbeat/cores/hacluster
>>> Jun 02 23:12:20 xxxxxxxxxx pengine: [7993]: info: crm_log_init_worker:
>>> Changed active directory to /usr/var/lib/heartbeat/cores/hacluster
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: info: main: CRM Hg Version:
>>> e872eeb39a5f6e1fdb57c3108551a5353648c4f4
>>>
>>> Jun 02 23:12:20 xxxxxxxxxx pengine: [7993]: debug: main: Checking for
>>> old instances of pengine
>>> Jun 02 23:12:20 xxxxxxxxxx pengine: [7993]: debug:
>>> init_client_ipc_comms_nodispatch: Attempting to talk on:
>>> /usr/var/run/crm/pengine
>>> Jun 02 23:12:20 xxxxxxxxxx lrmd: [7991]: info: enabling coredumps
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: info: crmd_init: Starting crmd
>>> Jun 02 23:12:20 xxxxxxxxxx pengine: [7993]: debug:
>>> init_client_ipc_comms_nodispatch: Could not init comms on:
>>> /usr/var/run/crm/pengine
>>> Jun 02 23:12:20 xxxxxxxxxx lrmd: [7991]: debug: main: run the loop...
>>> Jun 02 23:12:20 xxxxxxxxxx lrmd: [7991]: info: Started.
>>> Jun 02 23:12:20 xxxxxxxxxx pengine: [7993]: debug: main: Init server comms
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug: s_crmd_fsa: Processing
>>> I_STARTUP: [ state=S_STARTING cause=C_STARTUP origin=crmd_init ]
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug: do_fsa_action:
>>> actions:trace:        // A_LOG
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug: do_fsa_action:
>>> actions:trace:        // A_STARTUP
>>> Jun 02 23:12:20 xxxxxxxxxx pengine: [7993]: info: main: Starting pengine
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug: do_startup:
>>> Registering Signal Handlers
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug: do_startup: Creating
>>> CIB and LRM objects
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug: do_fsa_action:
>>> actions:trace:        // A_CIB_START
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug:
>>> init_client_ipc_comms_nodispatch: Attempting to talk on:
>>> /usr/var/run/crm/cib_rw
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug:
>>> init_client_ipc_comms_nodispatch: Could not init comms on:
>>> /usr/var/run/crm/cib_rw
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug: cib_native_signon_raw:
>>> Connection to command channel failed
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug:
>>> init_client_ipc_comms_nodispatch: Attempting to talk on:
>>> /usr/var/run/crm/cib_callback
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug:
>>> init_client_ipc_comms_nodispatch: Could not init comms on:
>>> /usr/var/run/crm/cib_callback
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug: cib_native_signon_raw:
>>> Connection to callback channel failed
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug: cib_native_signon_raw:
>>> Connection to CIB failed: connection failed
>>> Jun 02 23:12:20 xxxxxxxxxx crmd: [7994]: debug: cib_native_signoff:
>>> Signing out of the CIB Service
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: debug: activateCibXml:
>>> Triggering CIB write for start op
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: info: startCib: CIB
>>> Initialization completed successfully
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: info: get_cluster_type:
>>> Cluster type is: 'openais'.
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: info: crm_cluster_connect:
>>> Connecting to cluster infrastructure: classic openais (with plugin)
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: info:
>>> init_ais_connection_classic: Creating connection to our Corosync
>>> plugin
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: info:
>>> init_ais_connection_classic: Connection to our AIS plugin (9) failed:
>>> Doesn't exist (12)
>>> Jun 02 23:12:20 xxxxxxxxxx cib: [7990]: CRIT: cib_init: Cannot sign in
>>> to the cluster... terminating
>>> Jun 02 23:12:21 corosync [CPG   ] exit_fn for conn=0x62500
>>> Jun 02 23:12:21 corosync [TOTEM ] mcasted message added to pending queue
>>> Jun 02 23:12:21 corosync [TOTEM ] Delivering 15 to 16
>>> Jun 02 23:12:21 corosync [TOTEM ] Delivering MCAST message with seq 16
>>> to pending delivery queue
>>> Jun 02 23:12:21 corosync [CPG   ] got procleave message from cluster
>>> node 1377289226
>>> Jun 02 23:12:21 corosync [TOTEM ] releasing messages up to and including 16
>>> Jun 02 23:12:21 xxxxxxxxxx attrd: [7992]: info: Invoked:
>>> /usr/lib64/heartbeat/attrd
>>> Jun 02 23:12:21 xxxxxxxxxx attrd: [7992]: info: crm_log_init_worker:
>>> Changed active directory to /usr/var/lib/heartbeat/cores/hacluster
>>> Jun 02 23:12:21 xxxxxxxxxx attrd: [7992]: info: main: Starting up
>>> Jun 02 23:12:21 xxxxxxxxxx attrd: [7992]: info: get_cluster_type:
>>> Cluster type is: 'openais'.
>>> Jun 02 23:12:21 xxxxxxxxxx attrd: [7992]: info: crm_cluster_connect:
>>> Connecting to cluster infrastructure: classic openais (with plugin)
>>> Jun 02 23:12:21 xxxxxxxxxx attrd: [7992]: info:
>>> init_ais_connection_classic: Creating connection to our Corosync
>>> plugin
>>> Jun 02 23:12:21 xxxxxxxxxx attrd: [7992]: info:
>>> init_ais_connection_classic: Connection to our AIS plugin (9) failed:
>>> Doesn't exist (12)
>>> Jun 02 23:12:21 xxxxxxxxxx attrd: [7992]: ERROR: main: HA Signon failed
>>> Jun 02 23:12:21 xxxxxxxxxx attrd: [7992]: info: main: Cluster connection active
>>> Jun 02 23:12:21 xxxxxxxxxx attrd: [7992]: info: main: Accepting
>>> attribute updates
>>> Jun 02 23:12:21 xxxxxxxxxx attrd: [7992]: ERROR: main: Aborting startup
>>> Jun 02 23:12:21 xxxxxxxxxx crmd: [7994]: debug:
>>> init_client_ipc_comms_nodispatch: Attempting to talk on:
>>> /usr/var/run/crm/cib_rw
>>> Jun 02 23:12:21 xxxxxxxxxx crmd: [7994]: debug:
>>> init_client_ipc_comms_nodispatch: Could not init comms on:
>>> /usr/var/run/crm/cib_rw
>>> Jun 02 23:12:21 xxxxxxxxxx crmd: [7994]: debug: cib_native_signon_raw:
>>> Connection to command channel failed
>>> Jun 02 23:12:21 xxxxxxxxxx crmd: [7994]: debug:
>>> init_client_ipc_comms_nodispatch: Attempting to talk on:
>>> /usr/var/run/crm/cib_callback
>>> ...
>>>
>>>
>>> 2011/6/2 Steven Dake <sdake at redhat.com>:
>>>> On 06/01/2011 11:05 PM, william felipe_welter wrote:
>>>>> I recompile my kernel without hugetlb .. and the result are the same..
>>>>>
>>>>> My test program still resulting:
>>>>> PATH=/dev/shm/teste123XXXXXX
>>>>> page size=20000
>>>>> fd=3
>>>>> ADDR_ORIG:0xe000a000  ADDR:0xffffffff
>>>>> Erro
>>>>>
>>>>> And Pacemaker still resulting because the mmap error:
>>>>> Could not initialize Cluster Configuration Database API instance error 2
>>>>>
>>>>
>>>> Give the patch I posted recently a spin - corosync WFM with this patch
>>>> on sparc64 with hugetlb set.  Please report back results.
>>>>
>>>> Regards
>>>> -steve
>>>>
>>>>> For make sure that i have disable the hugetlb there is my /proc/meminfo:
>>>>> MemTotal:       33093488 kB
>>>>> MemFree:        32855616 kB
>>>>> Buffers:            5600 kB
>>>>> Cached:            53480 kB
>>>>> SwapCached:            0 kB
>>>>> Active:            45768 kB
>>>>> Inactive:          28104 kB
>>>>> Active(anon):      18024 kB
>>>>> Inactive(anon):     1560 kB
>>>>> Active(file):      27744 kB
>>>>> Inactive(file):    26544 kB
>>>>> Unevictable:           0 kB
>>>>> Mlocked:               0 kB
>>>>> SwapTotal:       6104680 kB
>>>>> SwapFree:        6104680 kB
>>>>> Dirty:                 0 kB
>>>>> Writeback:             0 kB
>>>>> AnonPages:         14936 kB
>>>>> Mapped:             7736 kB
>>>>> Shmem:              4624 kB
>>>>> Slab:              39184 kB
>>>>> SReclaimable:      10088 kB
>>>>> SUnreclaim:        29096 kB
>>>>> KernelStack:        7088 kB
>>>>> PageTables:         1160 kB
>>>>> Quicklists:        17664 kB
>>>>> NFS_Unstable:          0 kB
>>>>> Bounce:                0 kB
>>>>> WritebackTmp:          0 kB
>>>>> CommitLimit:    22651424 kB
>>>>> Committed_AS:     519368 kB
>>>>> VmallocTotal:   1069547520 kB
>>>>> VmallocUsed:       11064 kB
>>>>> VmallocChunk:   1069529616 kB
>>>>>
>>>>>
>>>>> 2011/6/1 Steven Dake <sdake at redhat.com>:
>>>>>> On 06/01/2011 07:42 AM, william felipe_welter wrote:
>>>>>>> Steven,
>>>>>>>
>>>>>>> cat /proc/meminfo
>>>>>>> ...
>>>>>>> HugePages_Total:       0
>>>>>>> HugePages_Free:        0
>>>>>>> HugePages_Rsvd:        0
>>>>>>> HugePages_Surp:        0
>>>>>>> Hugepagesize:       4096 kB
>>>>>>> ...
>>>>>>>
>>>>>>
>>>>>> It definitely requires a kernel compile and setting the config option to
>>>>>> off.  I don't know the debian way of doing this.
>>>>>>
>>>>>> The only reason you may need this option is if you have very large
>>>>>> memory sizes, such as 48GB or more.
>>>>>>
>>>>>> Regards
>>>>>> -steve
>>>>>>
>>>>>>> Its 4MB..
>>>>>>>
>>>>>>> How can i disable hugetlb ? ( passing CONFIG_HUGETLBFS=n at boot to
>>>>>>> kernel ?)
>>>>>>>
>>>>>>> 2011/6/1 Steven Dake <sdake at redhat.com <mailto:sdake at redhat.com>>
>>>>>>>
>>>>>>>     On 06/01/2011 01:05 AM, Steven Dake wrote:
>>>>>>>     > On 05/31/2011 09:44 PM, Angus Salkeld wrote:
>>>>>>>     >> On Tue, May 31, 2011 at 11:52:48PM -0300, william felipe_welter
>>>>>>>     wrote:
>>>>>>>     >>> Angus,
>>>>>>>     >>>
>>>>>>>     >>> I make some test program (based on the code coreipcc.c) and i
>>>>>>>     now i sure
>>>>>>>     >>> that are problems with the mmap systems call on sparc..
>>>>>>>     >>>
>>>>>>>     >>> Source code of my test program:
>>>>>>>     >>>
>>>>>>>     >>> #include <stdlib.h>
>>>>>>>     >>> #include <sys/mman.h>
>>>>>>>     >>> #include <stdio.h>
>>>>>>>     >>>
>>>>>>>     >>> #define PATH_MAX  36
>>>>>>>     >>>
>>>>>>>     >>> int main()
>>>>>>>     >>> {
>>>>>>>     >>>
>>>>>>>     >>> int32_t fd;
>>>>>>>     >>> void *addr_orig;
>>>>>>>     >>> void *addr;
>>>>>>>     >>> char path[PATH_MAX];
>>>>>>>     >>> const char *file = "teste123XXXXXX";
>>>>>>>     >>> size_t bytes=10024;
>>>>>>>     >>>
>>>>>>>     >>> snprintf (path, PATH_MAX, "/dev/shm/%s", file);
>>>>>>>     >>> printf("PATH=%s\n",path);
>>>>>>>     >>>
>>>>>>>     >>> fd = mkstemp (path);
>>>>>>>     >>> printf("fd=%d \n",fd);
>>>>>>>     >>>
>>>>>>>     >>>
>>>>>>>     >>> addr_orig = mmap (NULL, bytes, PROT_NONE,
>>>>>>>     >>>               MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
>>>>>>>     >>>
>>>>>>>     >>>
>>>>>>>     >>> addr = mmap (addr_orig, bytes, PROT_READ | PROT_WRITE,
>>>>>>>     >>>               MAP_FIXED | MAP_SHARED, fd, 0);
>>>>>>>     >>>
>>>>>>>     >>> printf("ADDR_ORIG:%p  ADDR:%p\n",addr_orig,addr);
>>>>>>>     >>>
>>>>>>>     >>>
>>>>>>>     >>>   if (addr != addr_orig) {
>>>>>>>     >>>                printf("Erro");
>>>>>>>     >>>         }
>>>>>>>     >>> }
>>>>>>>     >>>
>>>>>>>     >>> Results on x86:
>>>>>>>     >>> PATH=/dev/shm/teste123XXXXXX
>>>>>>>     >>> fd=3
>>>>>>>     >>> ADDR_ORIG:0x7f867d8e6000  ADDR:0x7f867d8e6000
>>>>>>>     >>>
>>>>>>>     >>> Results on sparc:
>>>>>>>     >>> PATH=/dev/shm/teste123XXXXXX
>>>>>>>     >>> fd=3
>>>>>>>     >>> ADDR_ORIG:0xf7f72000  ADDR:0xffffffff
>>>>>>>     >>
>>>>>>>     >> Note: 0xffffffff == MAP_FAILED
>>>>>>>     >>
>>>>>>>     >> (from man mmap)
>>>>>>>     >> RETURN VALUE
>>>>>>>     >>        On success, mmap() returns a pointer to the mapped area.  On
>>>>>>>     >>        error, the value MAP_FAILED (that is, (void *) -1) is
>>>>>>>     returned,
>>>>>>>     >>        and errno is  set appropriately.
>>>>>>>     >>
>>>>>>>     >>>
>>>>>>>     >>>
>>>>>>>     >>> But im wondering if is really needed to call mmap 2 times ?
>>>>>>>      What are the
>>>>>>>     >>> reason to call the mmap 2 times, on the second time using the
>>>>>>>     address of the
>>>>>>>     >>> first?
>>>>>>>     >>>
>>>>>>>     >>>
>>>>>>>     >> Well there are 3 calls to mmap()
>>>>>>>     >> 1) one to allocate 2 * what you need (in pages)
>>>>>>>     >> 2) maps the first half of the mem to a real file
>>>>>>>     >> 3) maps the second half of the mem to the same file
>>>>>>>     >>
>>>>>>>     >> The point is when you write to an address over the end of the
>>>>>>>     >> first half of memory it is taken care of the the third mmap which
>>>>>>>     maps
>>>>>>>     >> the address back to the top of the file for you. This means you
>>>>>>>     >> don't have to worry about ringbuffer wrapping which can be a
>>>>>>>     headache.
>>>>>>>     >>
>>>>>>>     >> -Angus
>>>>>>>     >>
>>>>>>>     >
>>>>>>>     > interesting this mmap operation doesn't work on sparc linux.
>>>>>>>     >
>>>>>>>     > Not sure how I can help here - Next step would be a follow up with the
>>>>>>>     > sparc linux mailing list.  I'll do that and cc you on the message
>>>>>>>     - see
>>>>>>>     > if we get any response.
>>>>>>>     >
>>>>>>>     > http://vger.kernel.org/vger-lists.html
>>>>>>>     >
>>>>>>>     >>>
>>>>>>>     >>>
>>>>>>>     >>>
>>>>>>>     >>>
>>>>>>>     >>> 2011/5/31 Angus Salkeld <asalkeld at redhat.com
>>>>>>>     <mailto:asalkeld at redhat.com>>
>>>>>>>     >>>
>>>>>>>     >>>> On Tue, May 31, 2011 at 06:25:56PM -0300, william felipe_welter
>>>>>>>     wrote:
>>>>>>>     >>>>> Thanks Steven,
>>>>>>>     >>>>>
>>>>>>>     >>>>> Now im try to run on the MCP:
>>>>>>>     >>>>> - Uninstall the pacemaker 1.0
>>>>>>>     >>>>> - Compile and install 1.1
>>>>>>>     >>>>>
>>>>>>>     >>>>> But now i have problems to initialize the pacemakerd: Could not
>>>>>>>     >>>> initialize
>>>>>>>     >>>>> Cluster Configuration Database API instance error 2
>>>>>>>     >>>>> Debbuging with gdb i see that the error are on the confdb.. most
>>>>>>>     >>>> specificaly
>>>>>>>     >>>>> the errors start on coreipcc.c  at line:
>>>>>>>     >>>>>
>>>>>>>     >>>>>
>>>>>>>     >>>>> 448        if (addr != addr_orig) {
>>>>>>>     >>>>> 449                goto error_close_unlink;  <- enter here
>>>>>>>     >>>>> 450       }
>>>>>>>     >>>>>
>>>>>>>     >>>>> Some ideia about  what can cause this  ?
>>>>>>>     >>>>>
>>>>>>>     >>>>
>>>>>>>     >>>> I tried porting a ringbuffer (www.libqb.org
>>>>>>>     <http://www.libqb.org>) to sparc and had the same
>>>>>>>     >>>> failure.
>>>>>>>     >>>> There are 3 mmap() calls and on sparc the third one keeps failing.
>>>>>>>     >>>>
>>>>>>>     >>>> This is a common way of creating a ring buffer, see:
>>>>>>>     >>>>
>>>>>>>     http://en.wikipedia.org/wiki/Circular_buffer#Exemplary_POSIX_Implementation
>>>>>>>     >>>>
>>>>>>>     >>>> I couldn't get it working in the short time I tried. It's probably
>>>>>>>     >>>> worth looking at the clib implementation to see why it's failing
>>>>>>>     >>>> (I didn't get to that).
>>>>>>>     >>>>
>>>>>>>     >>>> -Angus
>>>>>>>     >>>>
>>>>>>>
>>>>>>>     Note, we sorted this out we believe.  Your kernel has hugetlb enabled,
>>>>>>>     probably with 4MB pages.  This requires corosync to allocate 4MB pages.
>>>>>>>
>>>>>>>     Can you verify your hugetlb settings?
>>>>>>>
>>>>>>>     If you can turn this option off, you should have atleast a working
>>>>>>>     corosync.
>>>>>>>
>>>>>>>     Regards
>>>>>>>     -steve
>>>>>>>     >>>>
>>>>>>>     >>>> _______________________________________________
>>>>>>>     >>>> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>>>>>>     <mailto:Pacemaker at oss.clusterlabs.org>
>>>>>>>     >>>> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>>>>>>     >>>>
>>>>>>>     >>>> Project Home: http://www.clusterlabs.org
>>>>>>>     >>>> Getting started:
>>>>>>>     http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>>>>>>     >>>> Bugs:
>>>>>>>     >>>>
>>>>>>>     http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker
>>>>>>>     >>>>
>>>>>>>     >>>
>>>>>>>     >>>
>>>>>>>     >>>
>>>>>>>     >>> --
>>>>>>>     >>> William Felipe Welter
>>>>>>>     >>> ------------------------------
>>>>>>>     >>> Consultor em Tecnologias Livres
>>>>>>>     >>> william.welter at 4linux.com.br <mailto:william.welter at 4linux.com.br>
>>>>>>>     >>> www.4linux.com.br <http://www.4linux.com.br>
>>>>>>>     >>
>>>>>>>     >>> _______________________________________________
>>>>>>>     >>> Openais mailing list
>>>>>>>     >>> Openais at lists.linux-foundation.org
>>>>>>>     <mailto:Openais at lists.linux-foundation.org>
>>>>>>>     >>> https://lists.linux-foundation.org/mailman/listinfo/openais
>>>>>>>     >>
>>>>>>>     >>
>>>>>>>     >> _______________________________________________
>>>>>>>     >> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>>>>>>     <mailto:Pacemaker at oss.clusterlabs.org>
>>>>>>>     >> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>>>>>>     >>
>>>>>>>     >> Project Home: http://www.clusterlabs.org
>>>>>>>     >> Getting started:
>>>>>>>     http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>>>>>>     >> Bugs:
>>>>>>>     http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker
>>>>>>>     >
>>>>>>>     > _______________________________________________
>>>>>>>     > Openais mailing list
>>>>>>>     > Openais at lists.linux-foundation.org
>>>>>>>     <mailto:Openais at lists.linux-foundation.org>
>>>>>>>     > https://lists.linux-foundation.org/mailman/listinfo/openais
>>>>>>>
>>>>>>>
>>>>>>>     _______________________________________________
>>>>>>>     Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>>>>>>     <mailto:Pacemaker at oss.clusterlabs.org>
>>>>>>>     http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>>>>>>
>>>>>>>     Project Home: http://www.clusterlabs.org
>>>>>>>     Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>>>>>>     Bugs:
>>>>>>>     http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> William Felipe Welter
>>>>>>> ------------------------------
>>>>>>> Consultor em Tecnologias Livres
>>>>>>> william.welter at 4linux.com.br <mailto:william.welter at 4linux.com.br>
>>>>>>> www.4linux.com.br <http://www.4linux.com.br>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>>>>>> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>>>>>>
>>>>>>> Project Home: http://www.clusterlabs.org
>>>>>>> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>>>>>> Bugs: http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
> 
> 
> 





More information about the Pacemaker mailing list