We have a bug report with an interrupts file included. (Attached to this email for convenience.) Install that file into place or modify procmeter to use it, and you will be able to reproduce the segfault.
Backtrace: Program received signal SIGSEGV, Segmentation fault. Initialise (options=0x0) at stat-intr.c:151 151 while(line2[p2]!=0 && (line2[p2]==' ' || line2[p2]=='+')) (gdb) p p2 $6 = -1212185408 (gdb) p line2 $5 = "0 CPU11 CPU12 CPU13 CPU14 CPU15\000\000 CPU1" Analysis: char line2[64]; Maximum line length in interrupts file: 232 QED Stupid proof of concept (but not good enough for 256-way cpu) patch: --- stat-intr.c.old 2010-12-30 13:33:45.700814058 -0400 +++ stat-intr.c 2010-12-30 13:35:13.208825814 -0400 @@ -139,9 +139,9 @@ f2=fopen("/proc/interrupts","r"); if(f2) { - char line2[64]; + char line2[1024]; - while(fgets(line2,64,f2)) + while(fgets(line2,sizeof(line2),f2)) { int j,p2; (Neil, other bug reports should be opened for any other, unrelated crashes.) -- see shy jo, who really doesn't want to maintain procmeter3. I did my time.
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 CPU8 CPU9 CPU10 CPU11 CPU12 CPU13 CPU14 CPU15 0: 4387 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-IO-APIC-edge timer 1: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-IO-APIC-edge i8042 8: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-IO-APIC-edge rtc0 9: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi acpi 12: 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-IO-APIC-edge i8042 16: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi uhci_hcd:usb3 18: 82581 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb8 19: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi uhci_hcd:usb5, uhci_hcd:usb7 21: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi uhci_hcd:usb4 22: 604 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi HDA Intel 23: 264051 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb6 30: 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi nouveau 48: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DMAR_MSI-edge dmar0 59: 10072896 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth0-rx-0 60: 5482582 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth0-tx-0 61: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth0 62: 4124798 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge ahci 66: 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix 67: 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix 68: 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix 69: 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix 70: 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix 71: 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix 72: 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix 73: 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix NMI: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Non-maskable interrupts LOC: 6120513 4107265 2697785 1627480 2346184 2223567 1418363 1354068 5427767 2891853 1730748 1421592 2013948 2389453 1564130 6020133 Local timer interrupts SPU: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Spurious interrupts PMI: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Performance monitoring interrupts PND: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Performance pending work RES: 22745 559 398 251 9897 143 11 8 11921 327 34 6 3247 1098 22 11 Rescheduling interrupts CAL: 2259 2521 2527 2331 1408358 2412 2532 2531 2517 2501 2531 2367 1843 2380 2532 2532 Function call interrupts TLB: 190515 4868 414 86 648 910 21 37 1376 4834 512 100 930 4681 1661 39 TLB shootdowns TRM: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Thermal event interrupts THR: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Threshold APIC interrupts MCE: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Machine check exceptions MCP: 4346 4346 4346 4346 4346 4346 4346 4346 4346 4346 4346 4346 4346 4346 4346 4346 Machine check polls ERR: 15 MIS: 0
signature.asc
Description: Digital signature