[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
is_defined() again [Was: Follow up on profiler development]
From: |
John W. Eaton |
Subject: |
is_defined() again [Was: Follow up on profiler development] |
Date: |
Wed, 10 Aug 2011 11:51:43 -0400 |
On 10-Aug-2011, Daniel Kraft wrote:
| -----BEGIN PGP SIGNED MESSAGE-----
| Hash: SHA1
|
| Hi again,
|
| I just observed an "interesting" segfault while working on hierarchical
| profiling (but it happens as well with the version without my work in
| progress):
|
| Running "demo profshow" three times in a row makes Octave segfault --
| but GDB shows that the segfault happens not inside some profiler data
| collection routine (which I first thought, since I reworked them for
| hierarchical profiling) but rather with is_defined(). This routine
| becomes more and more mystical to me over time! :D
|
| Any ideas? But until the problem occurs in a more "direct" situation,
| I'll defer this to later. (Of course, maybe it is still a problem with
| my profiler code which corrupts some memory but leads only later to a
| segfault ... or something. Maybe I'll try to run Octave through
| valgrind to find that out -- any experience with that? Does it work?)
The demo function uses "eval" to create a temporary function called
__demo__. I noticed that the crash occurs when looking in the symbol
table for the definition of this function.
You can trigger the crash with a demo block as simple as
%!demo
%! function f ()
%! endfunction
%! f ()
%!demo
%! function f ()
%! endfunction
%! f ()
so it seems unlikely that the problem is with your code. I opened a
bug report for this problem here:
https://savannah.gnu.org/bugs/index.php?33981
jwe