[K42-discussion] Fw: Problem debugging linux user mode apps with K42 remote gdb

Bryan S Rosenburg rosnbrg at us.ibm.com
Tue Aug 29 08:24:01 EST 2006


The following note is awaiting approval of the list moderator.  I'm 
re-forwarding the note without the attachment so you'll at least know 
what's coming.

- Bryan

----- Forwarded by Bryan S Rosenburg/Watson/IBM on 08/28/2006 06:21 PM 
-----

Bryan S Rosenburg/Watson/IBM
08/28/2006 06:12 PM

To
Discussion about K42 <k42-discussion at ozlabs.org>
cc

Subject
Re: [K42-discussion] Problem debugging linux user mode apps with K42 
remote gdb





The good news is that I'm able to reproduce all the behavior you describe.

The bad news is that we've been using an older gdb executable that doesn't 
have the bad behavior.  I'm attaching that version of gdb below.  But I 
don't know how or where it was built.  And I have no idea why newer gdbs 
work with self-contained executables such as the kernel and baseServers 
but do not work with K42's exec.so .  Any gdb experts out there want to 
take a crack at this?

As for the noisy console when gdb attempts a stack walk, that's normal. 
It's just gdb probing addresses that aren't valid.  The gdb stub 
recognizes internal bad-address faults and ignores them.

- Bryan

[attachment "powerpc64-linux-gdb" deleted by Bryan S Rosenburg/Watson/IBM] 





Patrick Bozeman <PEBozeman at lbl.gov> 
Sent by: k42-discussion-bounces+rosnbrg=us.ibm.com at ozlabs.org
08/28/2006 05:06 PM
Please respond to
Discussion about K42 <k42-discussion at ozlabs.org>


To
Discussion about K42 <k42-discussion at ozlabs.org>
cc

Subject
Re: [K42-discussion] Problem debugging linux user mode apps with K42 
remote gdb






The tests below were run using the gdb from the UNM devkit.  Keep in 
mind that I can debug native K42 apps like baseservers and procfsserver 
just fine.

Are you able to use gdb on a basic hello-world type linux app using 
DEBUGPROC at your site?

powerpc64-linux-gdb --version
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you 
are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for 
details.
This GDB was configured as "--host=i686-pc-linux-gnu 
--target=powerpc64-linux".

Also, in case it is relevant, the console complains when I try to do 
things like backtrace or continue in gdb.  I assume that the access to 
addr 0x0 can't be good.  From the k42 console:

/home/peb/src/k42-devel/k42/kitchsrc/os/kernel/proc/ProcessReplicated.C,565: 

>>
>> Invalid memory access: processID 0x1f addr 0x0, type 200000 vp=0
>> this=0x8002000020790a00 myRoot=0x8002000000376a00 
>> myRef=0x8000000010001f50
>> WARNING: file
>> 
"/home/peb/src/k42-devel/k42/kitchsrc/os/kernel/exception/ExceptionLocal.C", 

>>
>> line 352
>> User-mode bad-address fault: commID 0x1f00000000, pc 0x1000702e852c,
>> addr 0, rc 8000000005cd6416.
>> 
/home/peb/src/k42-devel/k42/kitchsrc/os/kernel/proc/ProcessReplicated.C,565: 

>>
>> Invalid memory access: processID 0x1f addr 0x0, type 200000 vp=0
>> this=0x8002000020790a00 myRoot=0x8002000000376a00 
>> myRef=0x8000000010001f50
>> WARNING: file
>> 
"/home/peb/src/k42-devel/k42/kitchsrc/os/kernel/exception/ExceptionLocal.C", 

>>
>> line 352
>> User-mode bad-address fault: commID 0x1f00000000, pc 0x1000702e852c,
>> addr 0, rc 8000000005cd6416.




Bryan S Rosenburg wrote:
>
> That all looks completely normal.  So the problem is with how gdb is 
> interpreting the machine state, not with the machine state itself. 
>  What version of gdb are you using?  And how was it built?  Is it a 
> cross-debugger (x86 to powerpc)?
>
> - Bryan
>
>
>
> *Patrick Bozeman <PEBozeman at lbl.gov>*
> Sent by: k42-discussion-bounces+rosnbrg=us.ibm.com at ozlabs.org
>
> 08/28/2006 04:22 PM
> Please respond to
> Discussion about K42 <k42-discussion at ozlabs.org>
>
>
> 
> To
>                Discussion about K42 <k42-discussion at ozlabs.org>
> cc
> 
> Subject
>                Re: [K42-discussion] Problem debugging linux user mode 
apps with K42 
> remote gdb
>
>
>
> 
>
>
>
>
>
> This is from an early break in the process via DEBUGPROC
>
> (gdb) print/x $pc
> $1 = 0x1000702e1a08
> (gdb) print/x $lr
> $2 = 0x1000702e19d4
> (gdb) print/x $r1
> $3 = 0x100000029b70
> (gdb) print/x $r2
> $4 = 0x10008009fb38
> (gdb) x/i $pc
> 0x1000702e1a08 <breakpoint+108>:        ld      r31,-32736(r30)
> (gdb) x/i $lr
> 0x1000702e19d4 <breakpoint+56>: nop
> (gdb) x/4xg $r1
> 0x100000029b70: 0x0000100000029bf0      0x000000000003e000
> 0x100000029b80: 0x00001000702e19d4      0x000000000003e000
> (gdb) x/4xg (*((unsigned long long *) $r1))
> 0x100000029bf0: 0x0000100000029ef0      0x0000100000029e30
> 0x100000029c00: 0x00001000702e6b3c      0x000010000002aba0
>
>
> This is from a tassertMsg(0, ...) in dup2.C
>
> (gdb) print/x $pc
> $1 = 0x1000702e1a08
> (gdb) print/x $lr
> $2 = 0x1000702e19d4
> (gdb) print/x $r1
> $3 = 0x10000002a8d0
> (gdb) print/x $r2
> $4 = 0x10008009fb38
> (gdb) x/i $pc
> 0x1000702e1a08 <breakpoint+108>:        ld      r31,-32736(r30)
> (gdb) x/i $lr
> 0x1000702e19d4 <breakpoint+56>: nop
> (gdb) x/4xg $r1
> 0x10000002a8d0: 0x000010000002a950      0x0000000000000000
> 0x10000002a8e0: 0x00001000702e19d4      0x000000000000ffff
> (gdb) x/4xg (*((unsigned long long *) $r1))
> 0x10000002a950: 0x000010000002ab70      0x00001000066425c0
> 0x10000002a960: 0x00001000702dcd4c      0x0000100006683c80
>
>
> Bryan S Rosenburg wrote:
> >
> > Patrick,
> >
> > I can't think of anything you're doing wrong.  Next time you connect,
> > would you collect and publish some of the machine state?  To start
> > with, I'd like to see the output of:
> >
> > print/x $pc
> > print/x $lr
> > print/x $r1
> > print/x $r2
> > x/i $pc
> > x/i $lr
> > x/4xg $r1
> > x/4xg (*((unsigned long long *) $r1))
> >
> > - Bryan
> >
> > 
------------------------------------------------------------------------
> >
> > _______________________________________________
> > K42-discussion mailing list
> > K42-discussion at ozlabs.org
> > https://ozlabs.org/mailman/listinfo/k42-discussion
> > 
>
> _______________________________________________
> K42-discussion mailing list
> K42-discussion at ozlabs.org
> https://ozlabs.org/mailman/listinfo/k42-discussion
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> K42-discussion mailing list
> K42-discussion at ozlabs.org
> https://ozlabs.org/mailman/listinfo/k42-discussion
> 

_______________________________________________
K42-discussion mailing list
K42-discussion at ozlabs.org
https://ozlabs.org/mailman/listinfo/k42-discussion

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ozlabs.org/pipermail/k42-discussion/attachments/20060828/3d42f5cd/attachment.htm 


More information about the K42-discussion mailing list