Giter Club home page Giter Club logo

Comments (8)

stefanoborini avatar stefanoborini commented on July 21, 2024

Can reproduce. Investigating.

from mayavi.

stefanoborini avatar stefanoborini commented on July 21, 2024

This is the report on the console

libpng warning: iCCP: known incorrect sRGB profile
ERROR: In /Users/vagrant/pisi-64bit/tmp/VTK-6.2.0-1/work/VTK-6.2.0/Common/Core/vtkDataArrayTemplate.txx, line 142
vtkDoubleArray (0x1287fbf00): Unable to allocate 9223372036854775805 elements of size 8 bytes. 

Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

libc++abi.dylib: terminating with uncaught exception of type std::bad_alloc: std::bad_alloc
Abort trap: 6

from mayavi.

stefanoborini avatar stefanoborini commented on July 21, 2024

It appears that the initial number of points is completely broken, and gets accepted to size an array.

untitled

from mayavi.

stefanoborini avatar stefanoborini commented on July 21, 2024

Ok, after investigation, a value so high is technically correct, and not the result of junk memory. The default maximum number of points is established in VTK MaskPoints as the VTK_ID_MAX, which is the maximum long value. In practice, that value means: all points.

While not pleasant, it's technically correct. The question is why a vtkDoubleArray is getting allocated with that value, eventually.

from mayavi.

stefanoborini avatar stefanoborini commented on July 21, 2024

Problem is in VTK. Will obtain enough information to file a bug report.

from mayavi.

kitchoi avatar kitchoi commented on July 21, 2024

For the record, this issue is reproduced with the condition that "Proportional maximum number of points" is set to True when "mask points" is enabled.

As tested today, the default value of "proportional maximum number of points" is False, so the following should work:

from mayavi import mlab
mlab.points3d(range(4), range(4), range(4), mask_points=2)

so is clicking Glyph->Glyph->Masking->"Mask input points".

The seg fault generated by setting the "proportional maximum number of points" to True remains a vtk bug, as explained by @stefanoborini

from mayavi.

stefanoborini avatar stefanoborini commented on July 21, 2024

This is going to require some frequent compile time so I put it in background as I do something else from the list.

from mayavi.

stefanoborini avatar stefanoborini commented on July 21, 2024

Found the problem, at vtkMaskPoints.cxx:335

  localMaxPts = this->MaximumNumberOfPoints > numPts ? numPts : this->MaximumNumberOfPoints;
  if(this->ProportionalMaximumNumberOfPoints)
    {
    localMaxPts = this->GetLocalSampleSize(numPts,
                  this->InternalGetNumberOfProcesses());
    }

They are checking the localMaxPts before the splitting among processors. The GetLocalSampleSize returns the MaximumNumberOfPoints, which as we saw, it's a large value.
The first line should go after the if.

Filed bug report on VTK.

from mayavi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.