[Paraview] ParaView thinks that it does not have a wind blade reader

Andy Bauer andy.bauer at kitware.com
Wed Oct 24 11:09:43 EDT 2012


Hi Sohail,

Did you get a chance to look at the warnings for the
vtkIOGeometryCxx-TestWindBladeReader test for the
http://review.source.kitware.com/#/t/1396/ gerrit topic? It's going to need
to be fixed pretty soon if it's going to make it into the ParaView 4.0
release.

Thanks,
Andy

On Wed, Oct 3, 2012 at 10:22 PM, Andy Bauer <andy.bauer at kitware.com> wrote:

> It's available with "git clone git://vtk.org/VTKLargeData.git VTKLargeData".
> It's in the Data/WindBladeReader subdirectory there.
>
> On Wed, Oct 3, 2012 at 6:27 PM, Sohail Shafii <sohailshafii at yahoo.com>wrote:
>
>> Which data set are you using for the test?
>>
>> If it's the single turbine data set with the curvy terrain, I don't have
>> it (I use other data sets) so I can't do a similar test.  Let me know where
>> I can download it.
>>
>> Sohail
>>
>>   ------------------------------
>> *From:* Andy Bauer <andy.bauer at kitware.com>
>> *To:* David E DeMarle <dave.demarle at kitware.com>
>> *Cc:* Sohail Shafii <sohailshafii at yahoo.com>; "migichen at gmail.com" <
>> migichen at gmail.com>; "paraview at paraview.org" <paraview at paraview.org>;
>> "Woodring, Jonathan L" <woodring at lanl.gov>
>> *Sent:* Wednesday, October 3, 2012 3:16 PM
>>
>> *Subject:* Re: [Paraview] ParaView thinks that it does not have a wind
>> blade reader
>>
>> I finally got around to doing the VTK part of the WindBladeReader work.
>> It's on gerrit at http://review.source.kitware.com/#/c/7734/. It still
>> needs some cleanup but at least both the serial test and the parallel test
>> with a single process pass. For the serial test,
>> vtkIOGeometryCxx-TestWindBladeReader, I'm still getting the following
>> warning which needs to be fixed as well:
>> Warning: In
>> /home/acbauer/CODE/VTK/VTK/IO/Geometry/vtkWindBladeReader.cxx, line 568
>> vtkWindBladeReader (0x1373840): WindBladeReader error reading file:
>> /home/acbauer/DATA/VTKLargeData/Data/WindBladeReader/test1_topo.wind
>> Premature EOF while reading block of data. Expected 896000 but got 0
>>
>> Sohail, can you check this out and fix it?
>>
>> Thanks,
>> Andy
>>
>> On Fri, Jul 20, 2012 at 12:02 PM, David E DeMarle <
>> dave.demarle at kitware.com> wrote:
>>
>> Thanks.
>>
>> In today's git master it now sits in VTK/IO/Parallel/vtkWindbladeReader.
>>
>> The serial version should go in VTK/IO/Geometry.
>>
>> The MPI version should go in a new module VTK/IO/MPIParallel.
>> (VTK/IO/Parallel depends only on vtkSocketController now and should
>> not depend on vtkMPIController).
>>
>> Finally when that is done we can remove the flag in paraview's xml
>> that prevents it from being used in serial.
>>
>> David E DeMarle
>> Kitware, Inc.
>> R&D Engineer
>> 21 Corporate Drive
>> Clifton Park, NY 12065-8662
>> Phone: 518-881-4909
>>
>>
>> On Thu, Jul 19, 2012 at 7:08 PM, Sohail Shafii <sohailshafii at yahoo.com>
>> wrote:
>> > Well it seems like #1 and #2 can be solved by writing a new parallel
>> wind
>> > blade reader class. I had similar experience by creating distributed
>> > versions of class that I created in other vtk directories. The normal
>> wind
>> > blade reader would have no parallel calls, which would address #1.
>> >
>> > What I find interesting is that in your directories, the wind blade
>> reader
>> > is located in VTK/IO/Parallel. For the ParaView snapshot that I
>> downloaded,
>> > as well as the 3.14 source, it's still in VTK/Parallel.  No Parallel
>> folder
>> > in VTK/IO. Is this a recent change?
>> >
>> > So maybe the ideal folder layout would be:
>> >
>> > VTK/IO/WindBladeReader.*
>> >
>> > VTK/IO/Parallel/DistributedWindBladeReader.*
>> >
>> > I can make changes to the WindBladeReader to remove the MPI-IO calls and
>> > make a distributed wind blade reader class in case you want to add them
>> to
>> > the repository. The one template I have for the parallel/serial split
>> is the
>> > vtkStreamTracer and its distributed counterparts so I can use those as a
>> > guide.  If you have better recommendations please let me know.
>> >
>> > Sohail
>> >
>> > ________________________________
>> > From: David E DeMarle <dave.demarle at kitware.com>
>> > To: Sohail Shafii <sohailshafii at yahoo.com>
>> > Cc: Andy Bauer <andy.bauer at kitware.com>; "migichen at gmail.com"
>> > <migichen at gmail.com>; "paraview at paraview.org" <paraview at paraview.org>;
>> > "Woodring, Jonathan L" <woodring at lanl.gov>
>> > Sent: Thursday, July 19, 2012 3:20 PM
>> >
>> > Subject: Re: [Paraview] ParaView thinks that it does not have a wind
>> blade
>> > reader
>> >
>> > Two issues need to be fixed.
>> > 1) that behavior in 3.14 is there because of this fix which we had to
>> > rush in just before the 3.14 release.
>> >
>> > Committer: Utkarsh Ayachit <utkarsh.ayachit at kitware.com>  2012-02-08
>> > 17:12:18
>> > Parent: e401d569f6e54c49c3497852463f6b13a01da8b6 (Update version after
>> > 3.14.0-RC1 tag.)
>> > Child:  99fdb1aeb5997c29b43393f45a478c4b53a23109 (Merge topic
>> > 'fix_windblade_segfault')
>> > Branches: many (31)
>> > Follows: v3.14.0-RC1
>> > Precedes: v3.14.0-RC2
>> >
>> >     Fix segfault with ParaView built with MPI when opening *.vtr files.
>> >
>> >     The problem was that vtkWindBlade reader was getting created to test
>> >     "CanReadFile" and that would cause segfault unless MPI was
>> initialized.
>> >
>> >     Solved the problem by added support to vtkSMReaderFactory to
>> respect the
>> >     ProcessSupport flag on SourceProxy and change windblade reader XML
>> > to say that
>> >     it only works in parallel.
>> >
>> > In other words, Windblade reader's Constructor should not take it upon
>> > itself to initialize MPI.
>> >
>> > Once that is fixed, we get to issue 2 before paraview 4.0
>> >
>> > 2) VTK's new modularization has the rule that no module can behave
>> > differently with parallel (or most other cmake config options) turned
>> > configured on or off. This is so because it makes it very hard to
>> > package VTK when the libs behave differently in different situations.
>> >
>> > Ie, we can't have any more
>> > #ifdef VTK_USE_MPI
>> > do something
>> > #else
>> > do something different
>> > #endif
>> > in VTK classes.
>> >
>> > Now if we want a class to behave differently when MPI is turned on or
>> > off we have to make a serial only version in a non MPI dependent
>> > module and a subclass of that in an MPI dependent module.
>> >
>> > David E DeMarle
>> > Kitware, Inc.
>> > R&D Engineer
>> > 21 Corporate Drive
>> > Clifton Park, NY 12065-8662
>> > Phone: 518-881-4909
>> >
>> >
>> > On Thu, Jul 19, 2012 at 3:52 PM, Sohail Shafii <sohailshafii at yahoo.com>
>> > wrote:
>> >> When running serially, vtkSMReaderFactory::CanReadFile sees that the
>> >> session
>> >> has a single process.  As such, on line 660 it realizes that the source
>> >> proxy's process support (in this case the source is a
>> vtkWindBladeReader
>> >> proxy) is multiple processes, which causes a return of "false" from
>> that
>> >> function.  This makes ParaView think that the wind blade reader can't
>> read
>> >> a
>> >> .wind file in serial.  According to Andy, the reader works find in
>> >> parallel.
>> >>
>> >> I assume that a fix for this is pretty trivial? It never did this
>> before
>> >> in
>> >> previous versions of ParaView and I think that the wind blade reader
>> code
>> >> has remained mostly the same. Andy mentioned some details in person
>> when
>> >> he
>> >> was talking with Jon but at that time I didn't know as much as I do
>> now.
>> >> There is a mention below about enabling the filter in serial and
>> parallel
>> >> --
>> >> is this done in a xml file?
>> >>
>> >> Sohail
>> >>
>> >> ________________________________
>> >> From: David E DeMarle <dave.demarle at kitware.com>
>> >> To: Sohail Shafii <sohailshafii at yahoo.com>
>> >> Cc: Andy Bauer <andy.bauer at kitware.com>; "migichen at gmail.com"
>> >> <migichen at gmail.com>; "paraview at paraview.org" <paraview at paraview.org>;
>> >> "Woodring, Jonathan L" <woodring at lanl.gov>
>> >> Sent: Tuesday, July 17, 2012 7:00 PM
>> >>
>> >> Subject: Re: [Paraview] ParaView thinks that it does not have a wind
>> blade
>> >> reader
>> >>
>> >> Each file that has an association with that file extension, made via
>> the
>> >> XML, has its CanReadFile method called. Put a breakpoint there to
>> >> determine
>> >> if ParaView even knows about that reader.
>> >>
>> >> On Tuesday, July 17, 2012, Sohail Shafii wrote:
>> >>
>> >> Sorry, but I meant to ask a different question.  Here's what Andy said
>> >> before, which relates to my concern:
>> >> ">
>> >>> I went through the code and it jogged my memory about previous
>> problems
>> >>> with
>> >>> it. It had an explicit MPI call in the constructor that would cause
>> >>> problems
>> >>> when paraview wasn't getting built with MPI. Any time a user tried to
>> >>> open
>> >>> an unknown file it would try to create a windblade reader to see if
>> the
>> >>> reader could handle the file and this would cause a crash. If you
>> launch
>> >>> a
>> >>> separate pvserver the wind blade reader will be available in the gui."
>> >>
>> >> What I meant was; which ParaView class "creates" or "tests" a reader to
>> >> see
>> >> if it can handle a file? The test code you specified has a predefined
>> data
>> >> set that is loaded in, and I think is more of an example to your
>> average
>> >> user. Correct me if I'm wrong.
>> >>
>> >> So basically ParaView will recognize the file extension, tries to load
>> it,
>> >> crashes somewhere, then asks you specify the data format from a dialog.
>> >> I'm
>> >> trying to figure out where it crashes so that I can see how that
>> relates
>> >> to
>> >> the wind blade reader class and any MPI calls that are in there.
>> >>
>> >> Sohail
>> >>
>> >> Subject: Re: [Paraview] ParaView thinks that it does not have a wind
>> blade
>> >> reader
>> >>
>> >> kargad:ParaView demarle$ find . -name "*WindBlade*" -print
>> >> ---> ./VTK/IO/Parallel/Testing/Cxx/TestWindBladeReader.cxx
>> >> ./VTK/IO/Parallel/vtkWindBladeReader.cxx
>> >> ./VTK/IO/Parallel/vtkWindBladeReader.h
>> >>
>> >> David E DeMarle
>> >> Kitware, Inc.
>> >> R&D Engineer
>> >> 21 Corporate Drive
>> >> Clifton Park, NY 12065-8662
>> >> Phone: 518-881-4909
>> >>
>> >>
>> >> On Tue, Jul 17, 2012 at 2:09 PM, Sohail Shafii <sohailshafii at yahoo.com
>> >
>> >> wrote:
>> >>> What is the class that is responsible for testing to reader to see if
>> it
>> >>> can
>> >>> open the .wind file?
>> >>>
>> >>> Sohail
>> >>>
>> >>> ________________________________
>> >>> From: Andy Bauer <andy.bauer at kitware.com>
>> >>> To: Sohail Shafii <sohailshafii at yahoo.com>
>> >>> Cc: "Woodring, Jonathan L" <woodring at lanl.gov>; Sebastien Jourdain
>> >>> <sebastien.jourdain at kitware.com>; "migichen at gmail.com"
>> >>> <migichen at gmail.com>;
>> >>> "paraview at paraview.org" <paraview at paraview.org>
>> >>> Sent: Wednesday, July 11, 2012 10:53 AM
>> >>>
>> >>> Subject: Re: [Paraview] ParaView thinks that it does not have a wind
>> >>> blade
>> >>> reader
>> >>>
>> >>> I was reluctant to enable the reader in serial (i.e. not using MPI IO
>> >>> which
>> >>> I think is getting done by default with the parallel build) because of
>> >>> the
>> >>> following warnings that I got:
>> >>>
>> >>> Warning: In /home/acbauer/CODE/ParaView/
>> >>> ParaView/VTK/IO/Parallel/vtkWindBladeReader.cxx, line 942
>> >>> vtkWindBladeReader (0x3a0c800): WindBladeReader error reading file:
>> >>> /home/acbauer/DATA/VTKLargeData/Data/WindBladeReader/test1_topo.wind
>> >>> Premature EOF while reading block of data. Expected 896000 but got 0
>> >>>
>> >>> I just assumed that it was getting bad results so I didn't check the
>> >>> serial
>> >>> output with the parallel output. In either case the code should be
>> >>> changed
>> >>> before enabling it in serial so that it reads the files correctly and
>> >>> doesn't produce any warning messages.
>> >>>
>> >>> Andy
>> >>>
>> >>> On Wed, Jul 11, 2012 at 12:04 PM, Sohail Shafii <
>> sohailshafii at yahoo.com>
>> >>> wrote:
>> >>>
>> >>> I'm not aware of any option to build/link against mpi-io.  This is
>> just a
>> >>> standard build with mpi support that suffers from this issue.
>> >>>
>> >>> The ParaView website's builds also have the same bug.
>> >>>
>> >>> ________________________________
>> >>> From: "Woodring, Jonathan L" <woodring at lanl.gov>
>> >>> To: Sohail Shafii <sohailshafii at yahoo.com>; Andy Bauer
>> >>> <andy.bauer at kitware.com>; Sebastien Jourdain
>> >>> <sebastien.jourdain at kitware.com>
>> >>> Cc: "migichen at gmail.com" <migichen at gmail.com>; "paraview at paraview.org
>> "
>> >>> <paraview at paraview.org>
>> >>> Sent: Tuesday, July 10, 2012 10:06 AM
>> >>>
>> >>> Subject: Re: [Paraview] ParaView thinks that it does not have a wind
>> >>> blade
>> >>> reader
>> >>>
>> >>> I added the MPI calls to be in sync with what was being added in the
>> >>> simulation.
>> >>>
>> >>> In the SuperComputing demo last year, we updated both the HiGrad
>> FireTec
>> >>> to
>> >>> use MPI-IO and likewise ParaView to do the same thing.
>> >>>
>> >>> It w
>> >>
>> >>
>> >>
>> >> --
>> >> David E DeMarle
>> >> Kitware, Inc.
>> >> R&D Engineer
>> >> 21 Corporate Drive
>> >> Clifton Park, NY 12065-8662
>> >> Phone: 518-881-4909
>> >>
>> >>
>> >
>> >
>>
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20121024/27f35307/attachment-0001.htm>


More information about the ParaView mailing list