[Mono-dev] Mono runtime segfault

knocte knocte at gmail.com
Tue Aug 23 03:40:35 EDT 2005


> On 8/23/05, David Carr <dc at dcarr.org> wrote:
> > I'm getting an unexpected segfault running the code below:  Forgive me
> > if its a silly mistake on my part.
> > 
> > Thanks for any help,
> > David Carr
> > 
> > david at Cadmium ~/Prog/c#/gcross $ mono Crash.exe
> > Segmentation fault 
> > 
> > Listing for Crash.cs:
> > public class Crash
> > {
> >     int var
> >     {
> >     get { return var; }
> >     set { var = value; }
> >     }
> > 
> >     public Crash(int i)
> >     {
> >     var = i;
> >     }
> > 
> >     public static void Main() 
> >     {
> >     Crash c = new Crash(10);
> >     }
> > 
> > }
> > 
2005/8/23, feelite qiu <autolysis at gmail.com>:
> hi David
>  
>  the code snippet 
>  
>     int var
>     {
>     get { return var; }
>     set { var = value; }
>     }
>  
>  
>  creates an infinite loop as properties are internally implemented as
> methods. So when you instantiate the object, 
>  
>   Crash c = new Crash(10);
>  
>  This chain of action is what I understand 
>  
>  new Crash(10) -> var = 10; -> set { var = 10; } ->  get { return var; } -> 
> get { return var; } ->...
>  
>  the error lies in the fact that your property var does not refer to an
> underlying field. You can try
>  
>  int Var;
>   int var
>     {
>     get { return Var; }
>     set { Var = value; }
>     }
>  
>  
>  regards
>  feelite
> 
>  

Interesting. Could be implemented a new option in the mono compiler to
show a warning message in this situation? Perhaps it is interesting
just to file a new Request For Enhancement in bugzilla, isn't it?

Regards,

  Andrew

--



More information about the Mono-devel-list mailing list