View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008409ParaView(No Category)public2009-01-20 11:402009-08-24 16:30
ReporterBenjamin Schindler 
Assigned To 
PrioritynormalSeveritycrashReproducibilitysometimes
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0008409: External plugin makes paraview-3.5 crash
DescriptionHi

I develop my own external plugin for my master thesis. I just updated paraview (With meshless extensions from CSCS) to the latest svn and I get 100% crash when trying to load my filter. I can be 100% certain that my filter works correct in the sense that it loads and runs (I use it in an external application where it works just fine)

I've got a backtrace attached.

I've noted, that the crash to 90% produces a segmentation fault. However, sometimes I get an illegal instruction. I assume I have a memory corruption here.

And just to make things a bit more clear: my constructor just does this:

vtkVortexCorelineExtractor::vtkVortexCorelineExtractor()
{
    // Setup default values for the parameters
    pMinSpinAmount = 1.0;
    pMinVortexlength = 0.1;
    pMaxNumSteps = 500;
    pMaxNumberOfMisses = 3;
    pMaxVToCoreAngle = 60;
    // don't change that thing as long UpdateExtent isn't finished
    pNumInterpolationsBetweenTimeSteps = 0;
    TracingMethod = 1;
}

So I for sure can't generate a memory corruption inside my constructor...

Since this is my master thesis and the deadline is slowly approaching, a bug fix for this is (to me at least) most urgently needed
TagsNo tags attached.
Project
Topic Name
Type
Attached Files? file icon backtrace [^] (5,649 bytes) 2009-01-20 11:40 [Show Content]

 Relationships

  Notes
(0015085)
Utkarsh Ayachit (administrator)
2009-02-17 16:41

Need more information. Can you reproduce the crash with a simple plugin that you can share?
(0015480)
Benjamin Schindler (reporter)
2009-03-02 03:50

I have created a simple plugin quite some time ago - that plugin did absolutely nothing. All it had is a filter class which showed up under the filters menu. But the filter code was in all empty.

I tried the same on two different machines, both running gentoo and paraview does not crash there.
So this seems like a distro specific thing - I'm running:

bschindl@macke /local/bschindler/animations/smooth $ uname -a
Linux macke 2.6.18-92.1.22.el5 #1 SMP Fri Dec 5 09:29:46 EST 2008 i686 i686 i386 GNU/Linux

Note, the crash does not happen, when I compile the plugin with PARAVIEW_EXTRA_EXTERNAL_PLUGIN

I'll try to create such a plugin, but it will look like the most basic textbook example
(0016755)
Benjamin Schindler (reporter)
2009-06-25 11:07

okay, I was able to figure out a little bit. It crashes in line 312 of vtkClinetServerInterpreter.cxx

I looked at the NewInstanceFunctions array in this->Internal and found the following entries:

    vtkClientServerID)) 0x2251540 <vtkCommonCS_NewInstance>
    vtkClientServerID)) 0x75a7790 <vtkFilteringCS_NewInstance>
    vtkClientServerID)) 0xc973f0 <vtkGenericFilteringCS_NewInstance>
    vtkClientServerID)) 0x68c6e40 <vtkImagingCS_NewInstance>
    vtkClientServerID)) 0x703f5b0 <vtkInfovisCS_NewInstance>
    vtkClientServerID)) 0x78d89f0 <vtkGraphicsCS_NewInstance>
    vtkClientServerID)) 0x6c9c6f0 <vtkIOCS_NewInstance>
    vtkClientServerID)) 0x218f020 <vtkRenderingCS_NewInstance>
    vtkClientServerID)) 0x18ddb60 <vtkVolumeRenderingCS_NewInstance>
    vtkClientServerID)) 0x18aa790 <vtkHybridCS_NewInstance>
    vtkClientServerID)) 0x9275a40 <vtkWidgetsCS_NewInstance>
    vtkClientServerID)) 0x659aa40 <vtkParallelCS_NewInstance>
    vtkClientServerID)) 0xa31560 <vtkPVServerCommonCS_NewInstance>
    vtkClientServerID)) 0x37cfdb0 <vtkPVFiltersCS_NewInstance>
    vtkClientServerID)) 0x776030 <vtkXdmfCS_NewInstance>
    vtkClientServerID)) 0x332b870 <vtkPVServerManager_NewInstance>
    vtkClientServerID)) 0x363fc20 <CSCS_Common_SMPlugin_NewInstance>
    vtkClientServerID)) 0x36c51a0 <CSCS_ESPHI_SMPlugin_NewInstance>
    vtkClientServerID)) 0x3709fb0 <CSCS_H5Part_SMPlugin_NewInstance>
    vtkClientServerID)) 0x64e6520 <CSCS_PointSprite_GUIPlugin_NewInstance>
    vtkClientServerID)) 0x30bdc90 <Moments_NewInstance>
elem[21]: $23 = (int (*)(vtkClientServerInterpreter *, const char *, vtkClientServerID)) 0x90ceef0
    vtkClientServerID)) 0x62d7ef0 <PrismClientPlugin_NewInstance>
    vtkClientServerID)) 0x5d76340 <PrismServerPlugin_NewInstance>
    vtkClientServerID)) 0x380d5f0 <sphvis_NewInstance>

See that elem21 - it was not able to resolve it. And it crashes, because I'm trying to instantiate something from sphvis_NewInstance. I checked - it's the first time the iterator needs to loop over item 21 and this is where it crashes. I have yet to figure out which plugin is not loaded/missing.

I'll report back once I know more
(0016756)
Benjamin Schindler (reporter)
2009-06-25 11:42

Okay, I figured something:

The PrismClientPlugin got loaded twice. I set a breakpoint on
vtkClientServerInterpreter::AddNewInstanceFunction

and item 21 was PrismClientPlugin which was followed by itself once again

I surely hope this helps you fix this
For completeness, I attach the output of my debugging session:

.......

Breakpoint 1, vtkClientServerInterpreter::AddNewInstanceFunction (this=0x9413dc0,
    f=0x41031a0 <CSCS_ESPHI_SMPlugin_NewInstance>)
    at /home/bschindl/software/pv-meshless/Utilities/VTKClientServer/vtkClientServerInterpreter.cxx:748
748 }
(gdb) c
Continuing.

Breakpoint 1, vtkClientServerInterpreter::AddNewInstanceFunction (this=0x9413dc0,
    f=0x5518fb0 <CSCS_H5Part_SMPlugin_NewInstance>)
    at /home/bschindl/software/pv-meshless/Utilities/VTKClientServer/vtkClientServerInterpreter.cxx:748
748 }
(gdb) c
Continuing.

Breakpoint 1, vtkClientServerInterpreter::AddNewInstanceFunction (this=0x9413dc0,
    f=0x4752520 <CSCS_PointSprite_GUIPlugin_NewInstance>)
    at /home/bschindl/software/pv-meshless/Utilities/VTKClientServer/vtkClientServerInterpreter.cxx:748
748 }
(gdb) c
Continuing.

Breakpoint 1, vtkClientServerInterpreter::AddNewInstanceFunction (this=0x9413dc0, f=0x4166c90 <Moments_NewInstance>)
    at /home/bschindl/software/pv-meshless/Utilities/VTKClientServer/vtkClientServerInterpreter.cxx:748
748 }
(gdb) c
Continuing.

Breakpoint 1, vtkClientServerInterpreter::AddNewInstanceFunction (this=0x9413dc0,
    f=0x4182ef0 <PrismClientPlugin_NewInstance>)
    at /home/bschindl/software/pv-meshless/Utilities/VTKClientServer/vtkClientServerInterpreter.cxx:748
748 }
(gdb) c
Continuing.

Breakpoint 1, vtkClientServerInterpreter::AddNewInstanceFunction (this=0x9413dc0,
    f=0x4182ef0 <PrismClientPlugin_NewInstance>)
    at /home/bschindl/software/pv-meshless/Utilities/VTKClientServer/vtkClientServerInterpreter.cxx:748
748 }
(gdb) c
Continuing.

Breakpoint 1, vtkClientServerInterpreter::AddNewInstanceFunction (this=0x9413dc0,
    f=0x60e6340 <PrismServerPlugin_NewInstance>)
    at /home/bschindl/software/pv-meshless/Utilities/VTKClientServer/vtkClientServerInterpreter.cxx:748
748 }
(gdb) c
Continuing.

Breakpoint 1, vtkClientServerInterpreter::AddNewInstanceFunction (this=0x9413dc0, f=0x6ece5f0 <sphvis_NewInstance>)
    at /home/bschindl/software/pv-meshless/Utilities/VTKClientServer/vtkClientServerInterpreter.cxx:748
748 }
(gdb) c


Cheers
Benjamin
(0017191)
Alan Scott (manager)
2009-08-24 16:30

Resolving, since we don't think this is ParaView's problem. If you feel otherwise, please re-open it.

 Issue History
Date Modified Username Field Change
2009-01-20 11:40 Benjamin Schindler New Issue
2009-01-20 11:40 Benjamin Schindler File Added: backtrace
2009-02-17 16:41 Utkarsh Ayachit Note Added: 0015085
2009-02-17 16:41 Utkarsh Ayachit Status backlog => @20@
2009-03-02 03:50 Benjamin Schindler Note Added: 0015480
2009-06-25 11:07 Benjamin Schindler Note Added: 0016755
2009-06-25 11:42 Benjamin Schindler Note Added: 0016756
2009-08-24 16:30 Alan Scott Note Added: 0017191
2009-08-24 16:30 Alan Scott Status @20@ => closed
2009-08-24 16:30 Alan Scott Resolution open => fixed
2011-06-16 13:10 Zack Galbreath Category => (No Category)


Copyright © 2000 - 2018 MantisBT Team