More strange problems
bofh:/u0/RPMS# rpm --initdb bofh:/u0/RPMS# rpm -ivh zlib-1.1.3-24.parisc.rpm zlib-devel-1.1.3-24.parisc.rpm Segmentation fault bofh:/u0/RPMS# dmesg | tail -20
do_page_fault() pid=2132 command='rpm' type=15 address=0x00000024
YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
PSW: 00000000000001001111111100001111
r0-3 00000000 00000008 0007c7b7 bff00938 r4-7 001b8000 00000009 00207510 0020758c r8-11 00002001 00205fe0 bff007f4 001ffa10 r12-15 001de270 00000000 bff004c4 00000102 r16-19 00000000 001f65e0 00205fe0 001b8000 r20-23 01010101 00205fdc 80808080 00000006 r24-27 bff00938 00000009 00000000 001dca70 r28-31 001e3238 00000000 bff009f0 00059457 sr0-3 00000014 00000014 00000000 00000014 sr4-7 00000014 00000014 00000014 00000014
IASQ: 00000014 00000014 IAOQ: 0007c7c3 0007c7c7
IIR: 48340038 ISR: 00000014 IOR: 00000024
CPU: 0 CR30: 29164000 CR31: 10350000
ORIG_R28: 00206000
Another question.
While creating a diff from the glibc 2.2.3 sources in your CVS against prestine glibc 2.2.3 sources, I notice that there is a subfolder in
there called linuxthreads. Are threads handled differently on
parisc than on other platforms ? Or is this folder just something
left over from older times ?
Signature · 4 lines
Rikki. -- HP Technical Support, RHCE, RHCX, HP-UX Certified Admin.
-- Solaris 7 Certified Systems and Network Administrator.
Bell Labs Unix -- Reach out and grep someone.
Those who do not understand Unix are condemned to reinvent it, poorly.Quoted 5 lines · Richard Allen
While creating a diff from the glibc 2.2.3 sources in your CVS against prestine glibc 2.2.3 sources, I notice that there is a subfolder in
there called linuxthreads. Are threads handled differently on
parisc than on other platforms ? Or is this folder just something
left over from older times ?
linuxthreads is distributed as an add-on package for glibc; see the glibc documentation.
Signature · 1 line
Revolutions do not require corporate support.
Quoted 9 lines · Matthew Wilcox
Quoted 5 lines · Richard Allen
While creating a diff from the glibc 2.2.3 sources in your CVS against prestine glibc 2.2.3 sources, I notice that there is a subfolder in
there called linuxthreads. Are threads handled differently on
parisc than on other platforms ? Or is this folder just something
left over from older times ?linuxthreads is distributed as an add-on package for glibc; see the glibc documentation.
Ah :) Thanks :)
Is there any way for a non kernel guru like myself to get any info out of those errors in dmesg ?
do_page_fault() pid=2132 command='rpm' type=15 address=0x00000024
YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
PSW: 00000000000001001111111100001111
r0-3 00000000 00000008 0007c7b7 bff00938 r4-7 001b8000 00000009 00207510 0020758c r8-11 00002001 00205fe0 bff007f4 001ffa10 r12-15 001de270 00000000 bff004c4 00000102 r16-19 00000000 001f65e0 00205fe0 001b8000 r20-23 01010101 00205fdc 80808080 00000006 r24-27 bff00938 00000009 00000000 001dca70 r28-31 001e3238 00000000 bff009f0 00059457 sr0-3 00000014 00000014 00000000 00000014 sr4-7 00000014 00000014 00000014 00000014
IASQ: 00000014 00000014 IAOQ: 0007c7c3 0007c7c7
IIR: 48340038 ISR: 00000014 IOR: 00000024
CPU: 0 CR30: 29164000 CR31: 10350000
ORIG_R28: 00206000
For example, is this a problem with the command Im running (RPM) or is it a problem in the kernel ?
Signature · 4 lines
Rikki. -- HP Technical Support, RHCE, RHCX, HP-UX Certified Admin.
-- Solaris 7 Certified Systems and Network Administrator.
Bell Labs Unix -- Reach out and grep someone.
Those who do not understand Unix are condemned to reinvent it, poorly.Quoted 2 lines · Richard Allen
Is there any way for a non kernel guru like myself to get any info out of those errors in dmesg ?
Sure..
Quoted 1 line
do_page_fault()pid=2132 command='rpm' type=15 address=0x00000024
`address=0x00000024' -- it's a NULL pointer dereference.
Quoted 13 lines
YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
PSW: 00000000000001001111111100001111r0-3 00000000 00000008 0007c7b7 bff00938 r4-7 001b8000 00000009 00207510 0020758c r8-11 00002001 00205fe0 bff007f4 001ffa10 r12-15 001de270 00000000 bff004c4 00000102 r16-19 00000000 001f65e0 00205fe0 001b8000 r20-23 01010101 00205fdc 80808080 00000006 r24-27 bff00938 00000009 00000000 001dca70 r28-31 001e3238 00000000 bff009f0 00059457 sr0-3 00000014 00000014 00000000 00000014 sr4-7 00000014 00000014 00000014 00000014
Quoted 1 line
IASQ: 00000014 00000014 IAOQ:
0007c7c30007c7c7
IASQ: 00000014' -- 0 means kernel, anything else is a user process. IAOQ: 0007c7c3' -- bottom 2 bits set, so we're in user mode too (good!).
Quoted 3 lines
IIR: 48340038 ISR: 00000014 IOR: 00000024
CPU: 0 CR30: 29164000 CR31: 10350000
ORIG_R28: 00206000
The truly dedicated will decode IIR to see what instruction it was, cross-check which register in the dump was wrong then try to debug the program.
Signature · 1 line
Revolutions do not require corporate support.
Quoted 9 lines
Quoted 5 lines
r0-3 00000000 00000008
0007c7b7bff00938
...
IIR: 48340038 ISR: 00000014 IOR: 00000024
CPU: 0 CR30: 29164000 CR31: 10350000
ORIG_R28: 00206000The truly dedicated will decode IIR to see what instruction it was, cross-check which register in the dump was wrong then try to debug the program.
Decoding IIR is actually pretty easy if you have an HP-UX system with adb:
$ echo "0x48340038=i" | adb
LDW 28(r1),r20adb prints the offset in decimal, so this is 0x1c(0x8) = 0x24, which matches the IOR. I wish I knew how to do the same with gdb.