Issue with hggroup and zlim

John W. Eaton jwe at bevo.che.wisc.edu
Fri Aug 29 07:37:39 CDT 2008


On 29-Aug-2008, David Bateman wrote:

| I'd suggest the attached changeset instead.. And yes it should be hline 
| and not h in plot3.

OK, after applying this patch, I'm still seeing

  octave:1> z = [0:0.05:5]; hold on; hg = hggroup();
  octave:2> h =  plot3 (z, exp(2i*pi*z),'parent',hg);
  octave:3> h =  plot3 (z, exp(2i*pi*z),'parent',hg);
  Segmentation fault

The first call makes the correct plot, but then it fails.  The gdb
output is the same as I posted before, indicating infinite recursion
in base_properties::get_backend and base_graphics_object::get_backend:

  Program received signal SIGSEGV, Segmentation fault.
  [Switching to Thread 0x7f3e1d2966f0 (LWP 19465)]
  0x00007f3e1c4ef0fe in operator< (a=@0x108ff40, b=@0x7fff24c611d0)
      at ./graphics.h:165
  165	  return a.value () < b.value ();
  Current language:  auto; currently c++
  (gdb) where
  #0  0x00007f3e1c4ef0fe in operator< (a=@0x108ff40, b=@0x7fff24c611d0)
      at ./graphics.h:165
  #1  0x00007f3e1c4f0401 in std::less<graphics_handle>::operator() (
      this=0xe1d070, __x=@0x108ff40, __y=@0x7fff24c611d0)
      at /usr/include/c++/4.3/bits/stl_function.h:230
  #2  0x00007f3e1c4f07ab in std::_Rb_tree<graphics_handle, std::pair<graphics_handle const, graphics_object>, std::_Select1st<std::pair<graphics_handle const, graphics_object> >, std::less<graphics_handle>, std::allocator<std::pair<graphics_handle const, graphics_object> > >::_M_lower_bound (this=0xe1d070, 
      __x=0x108ff20, __y=0xe1d078, __k=@0x7fff24c611d0)
      at /usr/include/c++/4.3/bits/stl_tree.h:957
  #3  0x00007f3e1c4f0829 in std::_Rb_tree<graphics_handle, std::pair<graphics_handle const, graphics_object>, std::_Select1st<std::pair<graphics_handle const, graphics_object> >, std::less<graphics_handle>, std::allocator<std::pair<graphics_handle const, graphics_object> > >::find (this=0xe1d070, __k=@0x7fff24c611d0)
      at /usr/include/c++/4.3/bits/stl_tree.h:1392
  #4  0x00007f3e1c4f08a7 in std::map<graphics_handle, graphics_object, std::less<graphics_handle>, std::allocator<std::pair<graphics_handle const, graphics_object> > >::find (this=0xe1d070, __x=@0x7fff24c611d0)
      at /usr/include/c++/4.3/bits/stl_map.h:615
  #5  0x00007f3e1c4f1474 in gh_manager::do_get_object (this=0xe1d070, 
      h=@0x7fff24c611d0) at ./graphics.h:8751
  #6  0x00007f3e1c4f1510 in gh_manager::get_object (h=@0x7fff24c611d0)
      at ./graphics.h:8575
  #7  0x00007f3e1c56c78b in base_properties::get_backend (this=0x13a11e0)
      at /home/jwe/src/octave/src/graphics.cc:1712
  #8  0x00007f3e1c626329 in base_graphics_object::get_backend (this=0x13a11d0)
      at ./graphics.h:2138
  #9  0x00007f3e1c603509 in graphics_object::get_backend (this=0x7fff24c61270)
      at ./graphics.h:2303
  #10 0x00007f3e1c56c7d9 in base_properties::get_backend (this=0x13a11e0)
      at /home/jwe/src/octave/src/graphics.cc:1715
  #11 0x00007f3e1c626329 in base_graphics_object::get_backend (this=0x13a11d0)
      at ./graphics.h:2138
  #12 0x00007f3e1c603509 in graphics_object::get_backend (this=0x7fff24c61320)
      at ./graphics.h:2303
  #13 0x00007f3e1c56c7d9 in base_properties::get_backend (this=0x13a11e0)
      at /home/jwe/src/octave/src/graphics.cc:1715
  #14 0x00007f3e1c626329 in base_graphics_object::get_backend (this=0x13a11d0)
      at ./graphics.h:2138
  #15 0x00007f3e1c603509 in graphics_object::get_backend (this=0x7fff24c613d0)
      at ./graphics.h:2303
  #16 0x00007f3e1c56c7d9 in base_properties::get_backend (this=0x13a11e0)
      at /home/jwe/src/octave/src/graphics.cc:1715
  #17 0x00007f3e1c626329 in base_graphics_object::get_backend (this=0x13a11d0)
      at ./graphics.h:2138
  ...

I'm guessing it works for you?

jwe


More information about the Bug-octave mailing list