https://bugzilla.novell.com/show_bug.cgi?id=381758
User koenig@linux.de added comment
https://bugzilla.novell.com/show_bug.cgi?id=381758#c8
--- Comment #8 from Harald Koenig
I'll report if beta1 -> factory did any good in this case...
full update to current factory didn't help: with kernel-default xosview doesn't work, with kernel-xen it does. I played with /usr/share/X11/app-defaults/XOsview -- did not help. first successfull "fix" was to patch /usr/bin/xosview.bin to substitute the lookup of "usedLabelColor" to "foreground" which is also defined black: ------------------------------------------------------------------------------- xosview-1.8.3 > cmp -l /usr/bin/xosview.bin{.bad,} 162351 165 146 162352 163 157 162353 145 162 162354 144 145 162355 114 147 162356 141 162 162357 142 157 162358 145 165 162359 154 156 162360 103 144 162361 157 0 ------------------------------------------------------------------------------- next, I played again with the sources and the getResource() stuff. using the following minimal patch bwlow I can build a binary which works for me(tm). I just moved "usedLabelColor" up two lines. one line up is not enough, more would be ok too. ------------------------------------------------------------------------------- --- defaultstring.cc~ 2008-04-21 14:02:16.000000000 +0200 +++ defaultstring.cc 2008-04-24 19:42:48.000000000 +0200 @@ -20,9 +20,9 @@ const char *defaultXResourceString = "*captions: True\n\ *labels: True\n\ *transparent: False\n\ +*usedLabelColor: black\n\ *meterLabelColor: black\n\ *usedlabels: True\n\ -*usedLabelColor: black\n\ *borderwidth: 1\n\ *font: 6x10\n\ *background: grey77\n\ ------------------------------------------------------------------------------- I just recompiled the binary and run it locally ("./xosview.bin"), I did not change/install app-defaults/XOsview. trying to (only) make this change in app-defaults/XOsview did not work. compiling with "-O0" helps too, -O1 to -O4 (default in src.rpm) break for me. ... starting to debug with valgrind ... finally I got here: --- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< --- ==23139== ==23139== Invalid write of size 4 ==23139== at 0x41C613: IntMeter::initirqcount() (intmeter.cc:187) ==23139== by 0x41C938: IntMeter::IntMeter(XOSView*, int) (intmeter.cc:33) ==23139== by 0x412BB2: MeterMaker::makeMeters() (MeterMaker.cc:91) ==23139== by 0x411626: XOSView::XOSView(char const*, int, char**) (xosview.cc:139) ==23139== by 0x4124E8: main (main.cc:24) ==23139== Address 0x636780 is not stack'd, malloc'd or (recently) free'd ==23139== ==23139== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ---- y ==23139== starting debugger with cmd: /usr/bin/gdb -nw /proc/23156/fd/1024 23156 GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-suse-linux"... Attaching to program: /proc/23156/fd/1024, process 23156 0x000000000041c613 in IntMeter::initirqcount (this=0x66bdff0) at intmeter.cc:187 187 realintnum[i] = idx++; (gdb) p i $1 = 4344 (gdb) ptype realintnum type = int [1024] --- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< --- GOTCHA!!! reason for the large index "i" are the weird large interrupt numbers in the new default kernel for my IBM T60 notebook (T7200 CPU)! --- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< --- linux > cat /proc/interrupts CPU0 CPU1 0: 1649009 0 IO-APIC-edge timer 1: 7561 0 IO-APIC-edge i8042 8: 1 0 IO-APIC-edge rtc0 9: 48697 0 IO-APIC-fasteoi acpi 12: 59746 0 IO-APIC-edge i8042 14: 83701 0 IO-APIC-edge ata_piix 15: 0 0 IO-APIC-edge ata_piix 16: 1 0 IO-APIC-fasteoi uhci_hcd:usb1, yenta 17: 315 0 IO-APIC-fasteoi uhci_hcd:usb2, HDA Intel 18: 0 0 IO-APIC-fasteoi uhci_hcd:usb3 19: 31 0 IO-APIC-fasteoi uhci_hcd:usb4, ehci_hcd:usb5 4344: 75338 0 PCI-MSI-edge iwl3945 4345: 112934 0 PCI-MSI-edge eth1 4346: 316980 0 PCI-MSI-edge ahci NMI: 0 0 Non-maskable interrupts LOC: 553360 1310408 Local timer interrupts RES: 398388 464621 Rescheduling interrupts CAL: 208 442 function call interrupts TLB: 564 1192 TLB shootdowns TRM: 0 0 Thermal event interrupts THR: 0 0 Threshold APIC interrupts SPU: 0 0 Spurious interrupts ERR: 0 --- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< --- obviously kernel-xen doesn't use such large interrupt numbers, nor does your testing platform :-(( using the following hack gives a working xosview binary for me(tm), but obviously it's only a matter of the next kernel release or other weird hardware to break that code again ;-)) ------------------------------------------------------------------------------- xosview-1.8.3 > diff -u linux/intmeter.cc{~,} --- linux/intmeter.cc~ 2008-04-21 14:01:57.000000000 +0200 +++ linux/intmeter.cc 2008-04-24 20:46:27.000000000 +0200 @@ -20,7 +20,7 @@ static const char *INTFILE = "/proc/interrupts"; static const char *VERSIONFILE = "/proc/version"; -static int realintnum[1024]; +static int realintnum[10240]; IntMeter::IntMeter( XOSView *parent, int cpu) : BitMeter( parent, "INTS", "", 1, ------------------------------------------------------------------------------- so maybe better use something like ------------------------------------------------------------------------------- --- linux/intmeter.cc~ 2008-04-21 14:01:57.000000000 +0200 +++ linux/intmeter.cc 2008-04-24 20:50:58.000000000 +0200 @@ -184,7 +184,8 @@ intno = i; else { intno = idx; - realintnum[i] = idx++; + if (i < 1024) + realintnum[i] = idx++; } if (!intfile) break; intfile.ignore(1024, '\n'); ------------------------------------------------------------------------------- feierabend :-((( -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.