-
Notifications
You must be signed in to change notification settings - Fork 246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gmond / sflow / segmentation fault / xml mal formed #246
Comments
I have the same problem with the same version of Gmond. If I comment out the Sflow stuff in the gmond.conf then the problem goes away. This is pretty major for us we're using gmonds to collect slfow data from computer labs at the university to monitor usage. |
Stack trace of the crash: Line which seems to be at fault. case gmetric_int: |
Added some debug statements to try and work out whats causing the problem: // in print_host_metric Segmentation fault Is the right, I've printed some of the others and the formatting string seems to match the output. |
Found and fixed the issue, but I'm not sure how I'd go about submitting this? The bug is in slfow.c static void |
You can submit a pull request on Github. |
I'll try and do that early this week. Many thanks. |
…to gmond internal metric structures caused a crash when this data was used to generate XML for output.
Fix for issue #246 - minor typo in conversion from sflow data to gmon…
Looks like this was my bug (from about 5 years ago). Sorry for the trouble! Glad you found the fix. Neil |
Hello,
I configure gmond to receive sflow from host sflow agent.
then a simple telnet 127.0.0.1 8649 kill gmond with segfault.
[root@retd ~]# gmond --version
gmond 3.7.2
[root@retd ~]# gmond -f -d 2 -c /etc/ganglia/gmond.conf
loaded module: core_metrics
loaded module: cpu_module
loaded module: disk_module
loaded module: load_module
loaded module: mem_module
loaded module: net_module
loaded module: proc_module
loaded module: sys_module
loaded module: multicpu_module
udp_recv_channel mcast_join=NULL mcast_if=NULL port=6344 bind=NULL buffer=0
socket created, SO_RCVBUF = 212992
tcp_accept_channel bind=NULL port=8649 gzip_output=0
[tcp] Starting TCP listener thread...
spoofName: Nico-hard spoofIP: 10.10.3.230
first time - allocate SFlowAgent
create subAgent 10.10.3.230:100000
create datasource 10.10.3.230:100000-2:1
sequence number error - 10.10.3.230:100000-2:1 lostSamples=0
**Allocating metadata packet for host--Nico-hard-- and metric --heartbeat-- ***
saving metadata for metric: heartbeat host: Nico-hard
**Allocating value packet for host--(null)-- and metric --heartbeat-- ***
Got a heartbeat message 1456301617
**Allocating metadata packet for host--Nico-hard-- and metric --os_release-- ***
saving metadata for metric: os_release host: Nico-hard
**Allocating value packet for host--(null)-- and metric --os_release-- ***
**Allocating metadata packet for host--Nico-hard-- and metric --uuid-- ***
......
saving metadata for metric: win10.vdrops_out host: Nico-hard
[tcp] Request for XML data received.
Segmentation fault
telnet 127.0.0.1 8649
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
]>
<GANGLIA_XML VERSION="3.7.2" SOURCE="gmond">
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Total Running Processes"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Total Running Processes"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="process"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM Packets Received"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM Packets Received"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm network"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="CPU Guest"/>
<EXTRA_ELEMENT NAME="DESC" VAL="CPU Guest"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="cpu"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM Bytes Received"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM Bytes Received"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm network"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM Bytes Sent"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM Bytes Sent"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm network"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM Output Drops"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM Output Drops"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm network"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Output Errors"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Output Errors"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="network"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Pages In"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Pages In"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="memory"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="CPU I/O Wait"/>
<EXTRA_ELEMENT NAME="DESC" VAL="CPU I/O Wait"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="cpu"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Cached Memory"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Cached Memory"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="memory"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM Disk Errors"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM Disk Errors"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm disk"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Hypervisor Free Memory"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Hypervisor Free Memory"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="hypervisor"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Free Swap Space"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Free Swap Space"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="memory"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Interrupts"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Interrupts"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="cpu"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Memory Total"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Memory Total"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="memory"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Last Boot Time"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Last Boot Time"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="cpu"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM Input Errors"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM Input Errors"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm network"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM CPU Count"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM CPU Count"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm cpu"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="CPU System"/>
<EXTRA_ELEMENT NAME="DESC" VAL="CPU System"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="cpu"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Free Disk Space"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Free Disk Space"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="disk"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM Reads"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM Reads"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm disk"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Hypervisor CPU Count"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Hypervisor CPU Count"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="hypervisor"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM Memory Total"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM Memory Total"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm memory"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Packets Received"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Packets Received"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="network"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Packets Sent"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Packets Sent"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="network"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Write Time"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Write Time"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="disk"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM Writes"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM Writes"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm disk"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Hypervisor Memory Total"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Hypervisor Memory Total"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="hypervisor"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Input Drops"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Input Drops"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="network"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Writes"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Writes"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="disk"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: Free VDisk Space"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: Free VDisk Space"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm disk"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="One minute load average"/>
<EXTRA_ELEMENT NAME="DESC" VAL="One minute load average"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="load"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM Output Errors"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM Output Errors"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm network"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Read Time"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Read Time"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="disk"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Memory Buffers"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Memory Buffers"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="memory"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VDisk Capacity"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VDisk Capacity"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm disk"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Maximum Disk Space Used"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Maximum Disk Space Used"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="disk"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Reads"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Reads"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="disk"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM Memory Utilization"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM Memory Utilization"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm memory"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM Bytes Written"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM Bytes Written"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm disk"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Swap Pages In"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Swap Pages In"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="memory"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="Input Errors"/>
<EXTRA_ELEMENT NAME="DESC" VAL="Input Errors"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="network"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="CPU Count"/>
<EXTRA_ELEMENT NAME="DESC" VAL="CPU Count"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="cpu"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="win10: VM CPU Utilization"/>
<EXTRA_ELEMENT NAME="DESC" VAL="win10: VM CPU Utilization"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="vm cpu"/>
</EXTRA_DATA>
<EXTRA_DATA>
<EXTRA_ELEMENT NAME="TITLE" VAL="CPU Speed"/>
<EXTRA_ELEMENT NAME="DESC" VAL="CPU Speed"/>
<EXTRA_ELEMENT NAME="GROUP" VAL="cpu"/>
</EXTRA_DATA>
Connection closed by foreign host.
The text was updated successfully, but these errors were encountered: