Panda3d (1.10.7) hangs indefinitely when loading .obj file on Windows 10 (works on macos)

I have this minimal repro:

from direct.showbase.ShowBase import ShowBase
from panda3d.core import ConfigVariableString
import panda3d

if __name__ == '__main__':

    print('Panda3d Version: ', panda3d.__version__)
    loadFileType = ConfigVariableString('load-file-type')
    print('load-file-type Config settings: ', loadFileType.getValue())
    base = ShowBase()
    print('loading...')
    model = loader.loadModel("../../data/Crystal_2020.06.30_L.obj")
    print('loaded!')
    model.reparentTo(render)
    base.run()

I have verified I am loading p3assimp. Here is the output:

Panda3d Version: 1.10.7
load-file-type Config settings: p3assimp
Known pipe types:
wglGraphicsPipe
(all display modules loaded.)
loading…

However, this code works as expected on MacOs.

Any ideas?

It’s because the version of Assimp that we’re using on Windows is quite outdated compared to the one we’re using on macOS. We’ll need to update it. Please file an issue on GitHub so that this doesn’t get forgotten again.

In the meantime, you can instead convert your .obj file through Blender.

Will do.

This isn’t really an option (I need to support loading .obj files on windows in the general case). Instead, I just hacked around this by, on windows, loading the mesh using open3d (which I’m using to do several various mesh & point-cloud operations), then writing my own open3d -> panda3d mesh converter.