[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Linux-cluster] Cluster 3.0.0.rc3 release



On Wed, 2009-07-01 at 18:40 +0200, Guido Günther wrote:
> Hi Fabio,
> On Wed, Jul 01, 2009 at 03:23:56PM +0200, Fabio M. Di Nitto wrote:
> > Now my question is: did you mangle the configuration you sent me
> > manually? because there is no matching entry between device to use for a
> > node and the fencedevices section and I get:
> Yes, I had to get some internal names out. This is what went wrong:
> 
> -<fencedevice agent="fence_ilo" hostname="rnode1.foo.bar" login="reboot" name="node1" passwd="pass"/>
> +<fencedevice agent="fence_ilo" hostname="rnode1.foo.bar" login="reboot" name="fence1" passwd="pass"/>


Ok perfect thanks.

> 
> # fence_node -vv node2
> make_args(149): /cluster/fencedevices/fencedevice[ name="fence2"]/@*
> make_args(156)
> Segmentation fault
> 
> > test 2:
> > 
> > If you could please find:
> > 
> > cd = ccs_connect(); (line 287 in agent.c)
> > and right before that add:
> > fullxpath=1;
> >
> > That change will ask libccs to use a different Xpath engine internally.
> > 
> > And then re-run test1.
> # fence_node -vv node2
> fence_node(289): fullxpath: 0
> fence_node(291): fullxpath: 1
> make_args(149): /cluster/fencedevices/fencedevice[ name="fence2"]/@*
> make_args(156)
> Segmentation fault
> 
> make_args(156) is just before the strncmp. Trying to print out str
> results in a segfault too (that's why it's missing from the output).

No matter what, I can't trigger this segfault.

Do you have a build log for the package? and could you send me the
make/defines.mk in the build tree?

gcc versions and usual tool chain info.. maybe it's a gcc bug or maybe
it's an optimization that behaves differently between debian and fedora.

I have attached a small test case to simply test libccs. At this point I
don't believe it's a problem in libfence. Could you please run it for me
and send me the output? If the bug is in libccs this would start
isolating it.

[root fedora-rh-node4 ~]# gcc -Wall -o testccs main.c -lccs
[root fedora-rh-node4 ~]# ./testccs 
-hopefully some output-

and please check the XPath query at the top of main.c as it could be
slightly different given your config.

Thanks
Fabio
#include <stdio.h>
#include <stdlib.h>
#include <ccs.h>
#include <strings.h>
#include <limits.h>

static void dump() {
	int cd, error;
	const char *path = "/cluster/fencedevices/fencedevice[ name=\"fence2\"]/@*";
	char *str;

	cd = ccs_connect();
	if (cd < 0)
		return;

	for (;;) {
		error = ccs_get_list(cd, path, &str);
		if (error || !str)
			break;

		printf("%s\n", str);
		free(str);
	}
	ccs_disconnect(cd);
}

int main() {
	printf("xpathlite\n");
	dump();

	printf("fullxpath\n");
	fullxpath = 1;
	dump();

	return 0;
}

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]