octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gplot.txt


From: Daniel J Sebald
Subject: Re: gplot.txt
Date: Sat, 05 Mar 2016 19:11:26 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.24) Gecko/20111108 Fedora/3.1.16-1.fc14 Thunderbird/3.1.16

On 03/05/2016 07:02 PM, Ben Abbott wrote:

On Mar 5, 2016, at 7:06 PM, Ben Abbott<address@hidden>  wrote:

On Mar 5, 2016, at 1:54 AM, Daniel J Sebald<address@hidden>  wrote:

On 03/04/2016 09:40 AM, Daniel J Sebald wrote:
On 03/04/2016 07:44 AM, Ben Abbott wrote:
[snip]
Dan's patch didn't resolve the speye segfault. I'll move on to the
changesets isolated by bisecting.

OK, thanks Ben. I will follow up with more. Go ahead with bisecting, and
I'll approach just from looking at the code.

Dan

Ben,

Here's another small patch for you to apply.  It's meant to just hunt around 
for where the problem might be--prints out the value of the rep pointer before 
and after the object creation and copy.  Here is what I see when running this:

octave:1>  speye(10);
Before object creation and copy:  rep = 24093664
After object creation and copy:  rep = 24099376
Before object creation and copy:  rep = 24096528
After object creation and copy:  rep = 24099808

I'm curious how this action works with your compiler.

Dan
<octave-mac_speye_fail-djs_2016mar04.diff>

Sorry for the delay. Below is what I get …

speye(10)
Before object creation and copy:  rep = 140417476007088
panic: Segmentation fault: 11 -- stopping myself...
attempting to save variables to 'octave-workspace'...
save to 'octave-workspace' complete
Segmentation fault: 11

Ben

Just in case the seg-fault’s I see while building the docs is related ...

   GEN      doc/interpreter/splinefit3.eps
Before object creation and copy:  rep = 140389001213056
After object creation and copy:  rep = 140389001213056
Before object creation and copy:  rep = 140389005748384
After object creation and copy:  rep = 140389005748384
Before object creation and copy:  rep = 140389005748384
After object creation and copy:  rep = 140389005748384
Before object creation and copy:  rep = 140389005770816
After object creation and copy:  rep = 140389005770816
Before object creation and copy:  rep = 140389007043568
After object creation and copy:  rep = 140389007043568
Before object creation and copy:  rep = 140389007051872
After object creation and copy:  rep = 140389007051872
Before object creation and copy:  rep = 140389007043568
After object creation and copy:  rep = 140389007043568
Before object creation and copy:  rep = 140389007051872
After object creation and copy:  rep = 140389007051872
panic: Segmentation fault: 11 -- stopping myself...
attempting to save variables to 'octave-workspace'...
save to 'octave-workspace' complete
octave exited with signal 11

Ben

I would conclude that the problem above isn't because of the as_array() function in this case. I say that because all the index code above has an "After" after the "Before". Also notice that the addresses are the same before and after in all cases. For the speye(10) example, I found that the address Before and After change. In other words, for all the cases above, this test fails:

  if (rep->idx_class () != class_vector)
    *this = idx_vector (as_array (), extent (0));

and the idx_vector() function is not called.

So your second example here is a different issue, but it may be the same kind of issue. Rik will know how extensive this type of OCTAVE_NORETURN discrepancy between base class and inheriting classes is.

Dan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]