[Pacemaker] [Openais] Linux HA on debian sparc

william felipe_welter wfelipew at gmail.com
Tue Jun 7 07:44:02 EDT 2011


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 ?

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
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>



-- 
William Felipe Welter
------------------------------
Consultor em Tecnologias Livres
william.welter at 4linux.com.br
www.4linux.com.br




More information about the Pacemaker mailing list