cnr-isti-vclab / meshlab

The open source mesh processing system
http://www.meshlab.net
GNU General Public License v3.0
4.76k stars 825 forks source link

Meshlab crashes when trying to open objs #1270

Closed Makogan closed 1 year ago

Makogan commented 2 years ago

Trying to open a model crashes the program. When launching from the terminal I get the error:

./vcglib/wrap/io_trimesh/import_obj.h:640: static int vcg::tri::io::ImporterOBJ<OpenMeshType>::Open(OpenMeshType&, const char*, vcg::tri::io::ImporterOBJ<OpenMeshType>::Info&) [with OpenMeshType = CMeshO]: Assertion `(numTriangles +numVertices) == numVerticesPlusFaces+extraTriangles' failed.
Aborted (core dumped)

This occurs in a machine with Ubuntu 22.04. It doesn't seem to happen in a machine with Ubuntu 21.10.

I have tried uninstalling and reinstalling from different providers so far I tried:

I get the same error regardless of which source I used. I am unsure why it doesn;t work on this machine specifically.

I am using the same meshes in the system that works so it;s not a problem with the objs, it also happens with any obj including the default blender cube.

alemuntoni commented 2 years ago

Please read carefully the instructions before submitting an issue.

be as detailed as possible while describing an issue:

  • if it applies, share all the involved files

There is not much I can do here without the model that crashes meshlab.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. The resources of the VCLab team are limited, and so we are asking for your help. If this is a bug and you can still reproduce this error on the last release of MeshLab, please reply with all of the information you have about it in order to keep the issue open. If this is a feature request, and you feel that it is still relevant and valuable, please tell us why. This issue will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.

allo- commented 2 years ago

Same issue on (K)Ubuntu 22.04 and Meshlab version 2020.09+dfsg1-2.

Literally ANY obj file crashes meshlab. Example attached. example1.txt

thomasdebruin commented 2 years ago

Same issue here, on ubuntu 20.04.5 LTS no problems, but on Ubuntu 22.04.1 LTS I get this issue with any obj file

CILT commented 1 year ago

Same issue on Debian 12 Bookworm.

I've tried to open an .obj file (attached) and MeshLab just crashes. It only occurs with .obj files, not with .ply, .off, etc.

I've also tested opening the app from here [https://github.com/cnr-isti-vclab/meshlab/releases/tag/MeshLab-2022.02](MeshLab repo) and it works fine.

Some output:

$ sudo apt show meshlab
Package: meshlab
Version: 2020.09+dfsg1-2
Priority: optional
Section: graphics
Maintainer: Debian Science Team <debian-science-maintainers@lists.alioth.debian.org>
Installed-Size: 23,5 MB
Depends: lib3ds-1-3 (>= 1.3.0), libc6 (>= 2.33), libgcc-s1 (>= 3.4), libglew2.2 (>= 2.2.0-4), libglu1-mesa | libglu1, libglx0, libgmp10 (>= 2:6.2.1+dfsg), libgomp1 (>= 6), libmuparser2v5 (>= 2.2.6.1+dfsg), libopenctm1 (>= 1.0.3), libopengl0, libqhull8.0 (>= 2020.1), libqt5core5a (>= 5.15.1), libqt5gui5 (>= 5.14.1) | libqt5gui5-gles (>= 5.14.1), libqt5network5 (>= 5.0.2), libqt5opengl5 (>= 5.0.2), libqt5qml5 (>= 5.0.2), libqt5widgets5 (>= 5.15.1), libqt5xml5 (>= 5.0.2), libstdc++6 (>= 11)
Recommends: chemical-mime-data
Homepage: https://www.meshlab.net/
Tag: field::mathematics, field::physics, interface::graphical,
 interface::x11, role::program, uitoolkit::qt, x11::application
Download-Size: 5.010 kB
APT-Manual-Installed: yes
APT-Sources: http://deb.debian.org/debian bookworm/main amd64 Packages
Description: System for processing and editing triangular meshes
 This is an open source, portable, and extendible system for the
 processing and editing of unstructured 3D triangular meshes.
 The system is aimed to help the processing of the typical not-so-small
 unstructured models arising in 3D scanning, providing a set of tools for
 editing, cleaning, healing, inspecting, rendering and converting this kind
 of meshes.
 .
 Meshlab can read files in these formats: PLY, STL, OFF, OBJ, 3DS, COLLADA
 and PTX. It can write PLY, STL, OFF, OBJ, 3DS, COLLADA, VRML, and DXF.

mesh.txt

$ sudo lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux bookworm/sid
Release:    n/a
Codename:   bookworm

The error:

meshlab: ./vcglib/wrap/io_trimesh/import_obj.h:640: static int vcg::tri::io::ImporterOBJ<OpenMeshType>::Open(OpenMeshType&, const char*, vcg::tri::io::ImporterOBJ<OpenMeshType>::Info&) [with OpenMeshType = CMeshO]: Assertion `(numTriangles +numVertices) == numVerticesPlusFaces+extraTriangles' failed.
Avortat

Attached is the .obj file I'm trying to open (notice that it is in .txt format because I couldn't upload the .obj file. Changing extension to .obj should work).


EDIT: the .obj file is from the NVDiffrec project: [https://github.com/NVlabs/nvdiffrec]

MikePelton commented 1 year ago

Exact same crash on any OBJ load on Ubuntu 22.04 for me too. Same OBJ's load perfectly on Meshlab under Windows. I installed 22.04 with the "minimal install" option - I wonder if MeshLab is looking for something that gets installed with the full-fat install, hence this is affecting some people and not others?

allo- commented 1 year ago

The crash reads as if there is a wrong assertion on the number of mesh elements. I only wonder why, because the minimal example for the crash does not have complicated geometry. Maybe some number is not initialized or updated correctly? And I wonder if the versions that do not crash simply have Assertions disabled.

ferdymercury commented 1 year ago

@alemuntoni same issue here with Ubuntu 22 and apt Version: 2020.09+dfsg1-2

The solution for me was to run with the latest AppImage downloaded here https://www.meshlab.net/#download. There it works perfectly and no assert is given.

So it just seems that the Ubuntu apt packages are a bit outdated.

alemuntoni commented 1 year ago

@MikePelton @allo- @CILT @thomasdebruin The official apt package is not maintained by us and it is outdated. I can't do anything about that, since I am not a maintaner and I don't have time to do that. Our latest release is 2022.02, which is newer than 2020.09. Also snap package is not maintained anymore, but flatpak is. Please be sure to run the latest available release before posting.

ferdymercury commented 1 year ago

This was reported in launchpad: https://bugs.launchpad.net/ubuntu/+source/meshlab/+bug/1995736

Maybe @rpavlik can update the apt version?

mmpiotrek commented 1 year ago

I had the same problem with .obj files. Installing snap version works for me. sudo snap install meshlab

Echo-jyt commented 7 months ago

I had the same problem with .obj files. Installing snap version works for me. sudo snap install meshlab

thank you very much!

nepfaff commented 4 months ago

flatpak install meshlab worked for me while snap couldn't find meshlab. Make sure that the apt version is uninstalled before installing with flatpak

Masterxilo commented 1 month ago

for reference, this bug has also been reported here https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054006 & https://bugs.launchpad.net/ubuntu/+source/meshlab/+bug/1995736