[vtkusers] Possible 64 bit segfault [was: Bug list?]

Mike Jackson imikejackson at gmail.com
Sat May 10 08:59:34 EDT 2008


I would definitely recompile with debug symbols. If you can reproduce
the crash with a stack trace with line numbers that helps a bunch.
Also, if you have access to a 32 bit system, can you reproduce the
crash there?

Mike

On Fri, May 9, 2008 at 7:48 PM, Jordi Gutiérrez Hermoso
<jordigh at gmail.com> wrote:
> On 09/05/2008, David Cole <david.cole at kitware.com> wrote:
>> Can you send along a small snippet of sample code that reproduces the
>> crash...?
>
> I've tried. It's Octaviz[1] that's using VTK. I have an Octave script
> that I've only managed to get a consistent segfault with some data
> set, but I haven't managed to simplify the test case and still get a
> segfault.
>
> While I decide if the problem is in Octaviz or VTK, I've submitted a
> Debian bug on Octaviz[2] and I'll try debugging this one myself. The
> segfault does happen several calls deep into VTK proper. If you'll
> excuse the tangle with Octaviz and Octave, below you will find a stack
> trace, without debug symbols for VTK If you think it would be helfpul
> to compile VTK with debug symbols and produce another stack trace, let
> me know. It's mostly out of impatience that I don't have VTK with
> debug symbols, because it takes a looooong time to compile VTK. ;-)
>
> You'll observe that the last bit of Octaviz code (which is really VTK
> code wrapped with the proper incantations to be called from Octave)
> called on #9 of stack trace below before going into VTK proper is
> this, from vtkAlgorithm.cc:
>
>      /* ah virtual void Update (); */
>    error_flag = 0;
>
>    if (!error_flag)
>      {
>      vtk_pointer->Update(); // segfault here
>      return retval;
>      }
>    }
>
> Hope I provided somewhat relevant information...
>
> Cheers,
> - Jordi G. H.
>
> [1] http://octaviz.sf.net
> [2] http://bugs.debian.org/480431
>
> #0  0x00002b8214528efb in vtkMergePoints::InsertUniquePoint ()
>  from /usr/lib/libvtkFiltering.so.5.0
> #1  0x00002b8214584f51 in vtkTriangle::Clip ()
>  from /usr/lib/libvtkFiltering.so.5.0
> #2  0x00002b821499146f in vtkClipPolyData::RequestData ()
>  from /usr/lib/libvtkGraphics.so.5.0
> #3  0x00002b82144c54e4 in vtkExecutive::CallAlgorithm ()
>  from /usr/lib/libvtkFiltering.so.5.0
> #4  0x00002b82144c1b7c in vtkDemandDrivenPipeline::ExecuteData ()
>  from /usr/lib/libvtkFiltering.so.5.0
> #5  0x00002b82144c489d in vtkDemandDrivenPipeline::ProcessRequest ()
>  from /usr/lib/libvtkFiltering.so.5.0
> #6  0x00002b8214576969 in vtkStreamingDemandDrivenPipeline::ProcessRequest ()
>  from /usr/lib/libvtkFiltering.so.5.0
> #7  0x00002b82144c316e in vtkDemandDrivenPipeline::UpdateData ()
>  from /usr/lib/libvtkFiltering.so.5.0
> #8  0x00002b821457683b in vtkStreamingDemandDrivenPipeline::Update ()
>  from /usr/lib/libvtkFiltering.so.5.0
> #9  0x00002b821c676106 in FvtkAlgorithm (args=@0x7fff9e922720, nargout=0)
>  at /home/jordi/oct/octaviz/Filtering/vtkAlgorithm.cc:955
> #10 0x00002b820ca073ba in octave_builtin::do_multi_index_op (this=0x71eb20,
>  nargout=0, args=@0x7fff9e922720) at ov-builtin.cc:106
> #11 0x00002b820c9c2d26 in octave_value::do_multi_index_op (
> #12 0x00002b820c9072f2 in feval (name=@0x7fff9e9217b0, args=@0x7fff9e922720,
>  nargout=0) at parse.y:3552
> #13 0x00002b82187fb5a1 in FvtkPolyDataAlgorithm (args=@0x7fff9e922720,
>  nargout=0) at /home/jordi/oct/octaviz/Filtering/vtkPolyDataAlgorithm.cc:326
> #14 0x00002b820ca073ba in octave_builtin::do_multi_index_op (this=0x71e160,
>  nargout=0, args=@0x7fff9e922720) at ov-builtin.cc:106
> #15 0x00002b820c9c2d26 in octave_value::do_multi_index_op (
>  this=0x7fff9e921a80, nargout=0, idx=@0x7fff9e922720) at ov.cc:970
> #16 0x00002b820c9072f2 in feval (name=@0x7fff9e922380, args=@0x7fff9e922720,
>  nargout=0) at parse.y:3552
> #17 0x00002b821c45f162 in FvtkClipPolyData (args=@0x7fff9e922720, nargout=0)
>  at /home/jordi/oct/octaviz/Graphics/vtkClipPolyData.cc:493
> #18 0x00002b820ca073ba in octave_builtin::do_multi_index_op (this=0x71eac0,
>  nargout=0, args=@0x7fff9e922720) at ov-builtin.cc:106
> #19 0x00002b820c9c2d26 in octave_value::do_multi_index_op (
>  this=0x7fff9e922630, nargout=0, idx=@0x7fff9e922720) at ov.cc:970
> #20 0x00002b820c9072f2 in feval (name=@0x7fff9e9227d0, args=@0x7fff9e922720,
>  nargout=0) at parse.y:3552
> #21 0x00002b8215025dbb in vtk_object::subsref (this=0xd90430, type=@0xe7d8c8,
>  idx=@0x7fff9e922b10, nargout=0)
>  at /home/jordi/oct/octaviz/Common/octaviz.cc:263
> #22 0x00002b820c9c3aea in octave_value::subsref (this=0x7fff9e922b30,
>  type=@0xe7d8c8, idx=@0x7fff9e922b10, nargout=0) at ov.cc:932
> #23 0x00002b820cabdbd3 in tree_index_expression::rvalue (this=0xe7d890,
>  nargout=0) at pt-idx.cc:385
> #24 0x00002b820cad7e6e in tree_statement::eval (this=0xe7db90, silent=false,
>  nargout=0, in_function_or_script_body=true) at pt-stmt.cc:124
> #25 0x00002b820cad81a7 in tree_statement_list::eval (this=0xe798f0,
>  silent=false, nargout=0) at pt-stmt.cc:185
> #26 0x00002b820ca0c7a6 in octave_user_function::do_multi_index_op (
>  this=0x70f470, nargout=1, args=@0x111b5e0) at ov-usr-fcn.cc:459
> #27 0x00002b820ca0bf27 in octave_user_function::subsref (this=0x70f470,
>  type=@0xe6c808, idx=@0x7fff9e9235b0, nargout=1) at ov-usr-fcn.cc:325
> #28 0x00002b820ca0f931 in octave_user_function::subsref (this=0x70f470,
>  type=@0xe6c808, idx=@0x7fff9e9235b0) at ov-usr-fcn.h:274
> #29 0x00002b820c9c3a88 in octave_value::subsref (this=0x7fff9e9235d0,
>  type=@0xe6c808, idx=@0x7fff9e9235b0, nargout=1) at ov.cc:930
> #30 0x00002b820cabdbd3 in tree_index_expression::rvalue (this=0xe6c7d0,
>  nargout=1) at pt-idx.cc:385
> #31 0x00002b820cabc283 in tree_index_expression::rvalue (this=0xe6c7d0)
>  at pt-idx.cc:396
> #32 0x00002b820caab9eb in tree_simple_assignment::rvalue (this=0xe6cd70)
>  at pt-assign.cc:202
> #33 0x00002b820caac42e in tree_simple_assignment::rvalue (this=0xe6cd70,
>  nargout=0) at pt-assign.cc:184
> #34 0x00002b820cad7e6e in tree_statement::eval (this=0xe6cab0, silent=false,
>  nargout=0, in_function_or_script_body=false) at pt-stmt.cc:124
> #35 0x00002b820cad81a7 in tree_statement_list::eval (this=0xe66a60,
>  silent=false, nargout=0) at pt-stmt.cc:185
> #36 0x00002b820cac82ab in tree_simple_for_command::do_for_loop_once (
>  this=0xe6dc50, ult=@0x7fff9e9240a0, rhs=@0x7fff9e9241e0,
>  quit=@0x7fff9e9241cf) at pt-loop.cc:228
> #37 0x00002b820cac3c7d in tree_simple_for_command::eval (this=0xe6dc50)
>  at pt-loop.cc:388
> #38 0x00002b820cad7d6a in tree_statement::eval (this=0xe6e540, silent=false,
>  nargout=0, in_function_or_script_body=false) at pt-stmt.cc:99
> #39 0x00002b820cad81a7 in tree_statement_list::eval (this=0xe65100,
>  silent=false, nargout=0) at pt-stmt.cc:185
> #40 0x00002b820cad626c in tree_if_clause::eval (this=0xe76a60)
>  at pt-select.cc:54
> #41 0x00002b820cad62be in tree_if_command_list::eval (this=0xe653a0)
>  at pt-select.cc:85
> #42 0x00002b820cad6337 in tree_if_command::eval (this=0xe76ae0)
>  at pt-select.cc:124
> #43 0x00002b820cad7d6a in tree_statement::eval (this=0xe75d80, silent=false,
>  nargout=0, in_function_or_script_body=false) at pt-stmt.cc:99
> #44 0x00002b820cad81a7 in tree_statement_list::eval (this=0xd76b80,
>  silent=false, nargout=0) at pt-stmt.cc:185
> #45 0x00002b820cac82ab in tree_simple_for_command::do_for_loop_once (
>  this=0xe76c90, ult=@0x7fff9e9253a0, rhs=@0x7fff9e9254e0,
>  quit=@0x7fff9e9254cf) at pt-loop.cc:228
> #46 0x00002b820cac3c7d in tree_simple_for_command::eval (this=0xe76c90)
>  at pt-loop.cc:388
> #47 0x00002b820cad7d6a in tree_statement::eval (this=0xe76bb0, silent=false,
>  nargout=0, in_function_or_script_body=true) at pt-stmt.cc:99
> #48 0x00002b820cad81a7 in tree_statement_list::eval (this=0xd62780,
>  silent=false, nargout=0) at pt-stmt.cc:185
> #49 0x00002b820ca0c7a6 in octave_user_function::do_multi_index_op (
>  this=0x70f5a0, nargout=0, args=@0x11160a0) at ov-usr-fcn.cc:459
> #50 0x00002b820ca0bf27 in octave_user_function::subsref (this=0x70f5a0,
>  type=@0xd4c108, idx=@0x7fff9e9266a0, nargout=0) at ov-usr-fcn.cc:325
> #51 0x00002b820c9c3aea in octave_value::subsref (this=0x7fff9e9266c0,
>  type=@0xd4c108, idx=@0x7fff9e9266a0, nargout=0) at ov.cc:932
> #52 0x00002b820cabdbd3 in tree_index_expression::rvalue (this=0xd4c0d0,
>  nargout=0) at pt-idx.cc:385
> #53 0x00002b820cad7e6e in tree_statement::eval (this=0xd4c020, silent=false,
>  nargout=0, in_function_or_script_body=true) at pt-stmt.cc:124
> #54 0x00002b820cad81a7 in tree_statement_list::eval (this=0xce6430,
>  silent=false, nargout=0) at pt-stmt.cc:185
> #55 0x00002b820ca0c7a6 in octave_user_function::do_multi_index_op (
>  this=0x70f210, nargout=0, args=@0x1113ee0) at ov-usr-fcn.cc:459
> #56 0x00002b820ca0bf27 in octave_user_function::subsref (this=0x70f210,
>  type=@0xc68918, idx=@0x7fff9e9270b0, nargout=0) at ov-usr-fcn.cc:325
> #57 0x00002b820c9c3aea in octave_value::subsref (this=0x7fff9e9270d0,
>  type=@0xc68918, idx=@0x7fff9e9270b0, nargout=0) at ov.cc:932
> #58 0x00002b820cabdbd3 in tree_index_expression::rvalue (this=0xc688e0,
>  nargout=0) at pt-idx.cc:385
> #59 0x00002b820cad7e6e in tree_statement::eval (this=0xc685d0, silent=false,
>  nargout=0, in_function_or_script_body=false) at pt-stmt.cc:124
> #60 0x00002b820cad81a7 in tree_statement_list::eval (this=0xb1fe10,
>  silent=false, nargout=0) at pt-stmt.cc:185
> #61 0x00002b820cac82ab in tree_simple_for_command::do_for_loop_once (
>  this=0xc6fc20, ult=@0x7fff9e9277e0, rhs=@0x7fff9e927910,
>  quit=@0x7fff9e92791f) at pt-loop.cc:228
> #62 0x00002b820cac3877 in tree_simple_for_command::eval (this=0xc6fc20)
>  at pt-loop.cc:376
> #63 0x00002b820cad7d6a in tree_statement::eval (this=0xc6fbc0, silent=false,
>  nargout=0, in_function_or_script_body=true) at pt-stmt.cc:99
> #64 0x00002b820cad81a7 in tree_statement_list::eval (this=0x858840,
>  silent=false, nargout=0) at pt-stmt.cc:185
> #65 0x00002b820ca0bcd3 in octave_user_script::do_multi_index_op (
>  this=0x89b650, nargout=0, args=@0x7fff9e928650) at ov-usr-fcn.cc:130
> #66 0x00002b820c9c2d26 in octave_value::do_multi_index_op (
>  this=0x7fff9e928750, nargout=0, idx=@0x7fff9e928650) at ov.cc:970
> ---Type <return> to continue, or q <return> to quit---
> #67 0x00002b820cabad99 in tree_identifier::rvalue (this=0x8d0a60, nargout=0)
>  at pt-id.cc:88
> #68 0x00002b820cad7e6e in tree_statement::eval (this=0xc5a250, silent=false,
>  nargout=0, in_function_or_script_body=false) at pt-stmt.cc:124
> #69 0x00002b820cad81a7 in tree_statement_list::eval (this=0x7f5650,
>  silent=false, nargout=0) at pt-stmt.cc:185
> #70 0x00002b820c952509 in main_loop () at toplev.cc:291
> #71 0x00002b820c8fffb5 in octave_main (argc=1, argv=0x7fff9e928e48, embedded=0)
>  at octave.cc:850
> #72 0x0000000000400868 in main (argc=1, argv=0x7fff9e928e48) at main.c:35
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>



-- 
Mike Jackson
imikejackson _at_ gee-mail dot com



More information about the vtkusers mailing list