This is the mail archive of the gdb@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: SIGSERV termination on return statement


The object is deleted and not used within this context. The error occurs before 
the assignment is complete.

I  might have a (very strong) misunderstanding of how C++ references work,  but, 
I don't think that gdb should just quit and not allow me to debug. 


In SlipSublist::replace if 'SlipCell& cell' is changed to  'SlipCell* cell', 
with appropriate changes to the remaining code, then  no error occurs. It is 
only when a reference is used do I get into  difficulty. I get a SIGSERV error 
from gdb  in this context and in others when an assignment is made to a 
reference variable, 'cell' in this case. Whenever 'variable = somereference' is 
executed, gdb faults. 'somereference' can be a function or a variable.

The questions I have are (1) can reference variables not be reassigned?, and (2) 
is gdb's SIGSERV fault a legitimate fault or a bug?

Thanks for taking the time;
art




----- Original Message ----
From: Aurelian Melinte <ame01@gmx.net>
To: Arthur Schwarz <aschwarz1309@att.net>
Cc: gdb@sourceware.org
Sent: Tue, October 9, 2012 4:32:20 PM
Subject: Re: SIGSERV termination on return statement

On 09/10/2012 5:48 PM, Arthur Schwarz wrote:
>     SlipCell&  SlipSublist::replace(SlipCell&  X) {               // Replace a 
>cell
> on a list with a new cell
>        SlipCell&  cell = *this;
>        if (X.isData()) {
>           cell = assignData(X); // failure before return to this statement 
from
> method
> ***         delete this;
>        } else {
>           *this = X;
>        }
> ***      return cell;
>     }; // SlipCell&  SlipSublist::replace(SlipCell&  X)
>    

Are you returning from a deleted object then using it afterward?

Regards,
Aurelian


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