Mailing List Archive

SEGV in conserver ver 8.1.20
Hello fellow conserver users,

I wanted to reach out to everone in reference to an
issue that I've been having with conserver ver 8.1.20.

I am hoping you may see something I'm doing wrong or,
hopefully, you could provide some advice or recommendations.

I've been trying to use a 'task' but I keep getting
SEGV core dumps. The following is long and I apologize,
but wanted you to get the necessary information.

I've configured conserver.cf in this manner (please note I've
truncated it to the relevant parts, passwords and hostnames
have been changed):

--- cut here ----
task a {
cmd "/usr/bin/ipmitool -I lanplus -H Q -U root -P XXXYYY chassis
power on";
confirm yes;
description "Power On";
subst Q=hs;
}
task b {
cmd "/usr/bin/ipmitool -I lanplus -H Q -U root -P XXXYYY chassis
power off";
confirm yes;
description "Power Off";
subst Q=hs;
}
task c {
cmd "/usr/bin/ipmitool -I lanplus -H Q -U root -P XXXYYY chassis
power reset";
confirm yes;
description "Power Reset";
subst Q=hs;
}
task d {
cmd "/usr/bin/ipmitool -I lanplus -H Q -U root -P XXXYYY chassis
power status";
confirm no;
description "Power Status";
subst Q=hs;
}
default dell-ipmi-default-PW {
type exec;
exec "/usr/bin/ipmitool -I lanplus -H Q -U root -P XXXYYY sol
deactivate && echo 'Disconnected' ;ulimit -v 31720 ; /usr/bin/ipmitool
-I lanplus -H Q -U root -P XXXYYY sol activate";
execsubst Q=hs;
tasklist a,b,c,d;
}
default * { include global; master conserver.com; }

console system01.com { include dell-ipmi-default-PW; system01.com; }
--- cut here ----

I can connect via 'console' command to system01.com.
I can see the list of tasks correctly via ^EC!? as in:

$ console -lroot system01.com
Enter root@conserver.com's password:
[Enter `^Ec?' for help]
Red Hat Enterprise Linux Server release 6.5 (Santiago)
Kernel 2.6.32-431.el6.x86_64 on an x86_64

system01.com login:
^EC!?
[task list]
a - `Power On'
b - `Power Off'
c - `Power Reset'
d - `Power Status'

Red Hat Enterprise Linux Server release 6.5 (Santiago)
Kernel 2.6.32-431.el6.x86_64 on an x86_64

system01.com login:

However every attempt to execute a task results in a disconnect.

On the server side the conserverd that is to run the task is exiting on
an 'invalid pointer' as in:

*** glibc detected *** /usr/sbin/conserver: free(): invalid pointer:
0x00007fffa79b9f10 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3351476166]
/usr/sbin/conserver[0x421bee]
/usr/sbin/conserver[0x40ba74]
/usr/sbin/conserver[0x40d993]
/usr/sbin/conserver[0x410131]
/usr/sbin/conserver[0x411079]
/usr/sbin/conserver[0x413b9f]
/lib64/libc.so.6(__libc_start_main+0xfd)[0x335141ed1d]
/usr/sbin/conserver[0x403d19]
======= Memory map: ========
00400000-00436000 r-xp 00000000 fd:01 926441
/usr/sbin/conserver
> Large Memory Map outputs here<


I tried setting up a command shell to eliminate the possibility that
ipmitool put output to stdout was the problem. All the task was to
do was to echo "PING" to a file.

---- cut here -----
#!/bin/bash

echo "PING" 2>&1 > /tmp/OUTPUT
---- cut here -----

Modified the task 'c' in /etc/conserver.cf to:
cmd "/tmp/run.sh Q";

But still got the SEGV even with this trivial task.

By recompiling the source with added debug statements I've tracked down
the SEGV to FallBack() and/or GetPseudoTTY(). This is as far as I can
track it.

Thanks in Advance,
-Tony

--
---------------------------------------------------------------
Anthony Gialluca

email: agialluc@redhat.com
Westford Seat: 1E221