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

