This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Patch for non-stop remote assertion


 

> -----Original Message-----
> From: gdb-patches-owner@sourceware.org 
> [mailto:gdb-patches-owner@sourceware.org] On Behalf Of Marc Khouzam
> Sent: Monday, April 25, 2011 2:31 PM
> To: 'Tom Tromey'
> Cc: 'sami wagiaalla'; 'gdb-patches@sourceware.org'
> Subject: RE: Patch for non-stop remote assertion
> 
> > -----Original Message-----
> > From: Tom Tromey [mailto:tromey@redhat.com] 
> > Sent: Monday, April 25, 2011 2:12 PM
> > To: Marc Khouzam
> > Cc: 'sami wagiaalla'; 'gdb-patches@sourceware.org'
> > Subject: Re: Patch for non-stop remote assertion
> > 
> > >>>>> "Marc" == Marc Khouzam <marc.khouzam@ericsson.com> writes:
> > 
> > Marc> #7  0x081b79b6 in is_thread_state (ptid=..., 
> > state=THREAD_EXITED) at ../../src/gdb/thread.c:620
> > Marc> #8  0x081b7a17 in is_exited (ptid=...) at 
> > ../../src/gdb/thread.c:633
> > Marc> #9  0x080a5143 in has_stack_frames () at 
> > ../../src/gdb/frame.c:1336
> > Marc> #10 0x081ce2f4 in get_current_arch () at 
> > ../../src/gdb/arch-utils.c:757
> > Marc> #11 0x08132b48 in python_on_resume (ptid=...) at 
> > ../../src/gdb/python/py-inferior.c:103
> > 
> > I think the last time this came up, we established that it is 
> > not ok to
> > call get_current_arch at this point.
> > 
> > Basically, this is a botch in the Python API -- we designed it
> > improperly :(
> > 
> > Maybe this code (and a few associated functions) could use
> > target_gdbarch for the time being.  That is safer and 
> > probably will not
> > lead to reduced functionality.
> > 
> > Could you try the appended?
> 
> Thanks!  That works.  No more assertion and I can do
> extended-remote debugging.
> 
> I noticed a third use of get_current_arch () in that file,
> within method python_on_normal_stop ().  Should that one be
> changed also?
> 
> How do you want to move forward with this?

Since the proposed was yours, I didn't think it was my place
to post it, but if it will save you time, I can take it from
here, repost the patch, and upon approval, commit to 7.3 and HEAD.

What do you say?

Thanks

Marc

> 
> Thanks again
> 
> Marc
> 
> > 
> > Tom
> > 
> > diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c
> > index b9df394..45f5f04 100644
> > --- a/gdb/python/py-inferior.c
> > +++ b/gdb/python/py-inferior.c
> > @@ -100,7 +100,7 @@ python_on_resume (ptid_t ptid)
> >  {
> >    struct cleanup *cleanup;
> >  
> > -  cleanup = ensure_python_env (get_current_arch (), 
> > current_language);
> > +  cleanup = ensure_python_env (target_gdbarch, current_language);
> >  
> >    if (emit_continue_event (ptid) < 0)
> >      gdbpy_print_stack ();
> > @@ -116,7 +116,7 @@ python_inferior_exit (struct inferior *inf)
> >    ptid_t ptidp;
> >    struct target_waitstatus status;
> >  
> > -  cleanup = ensure_python_env (get_current_arch (), 
> > current_language);
> > +  cleanup = ensure_python_env (target_gdbarch, current_language);
> >  
> >    get_last_target_status (&ptidp, &status);
> >  
> > 
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]