diegoroyo / tal

(Your)-Transient Auxiliary Library - Toolkit for simulation and analysis of time-resolved light transport captures - pip install y-tal
https://pypi.org/project/y-tal/
GNU General Public License v3.0
19 stars 4 forks source link

Critical error during the static RTTI initialization #5

Closed HERO-YDX closed 4 months ago

HERO-YDX commented 4 months ago

Issue Description

Thank you for this wonderful work. I encountered some issues.

When running the confocal-scene example, the program does not get interrupted but encounters a "Critical error during the static RTTI initialization" (see the output below). This error occurs at different points during each run, and the class that cannot be located varies each time. The parameters used are "llvm_ad_rgb".

I tried replacing different obj files in the experiments, and this issue occurs multiple times, especially when the rendering time is long.

Additionally, the examples provided in mitsuba3-transient-nlos can run without issues.


System Description

OS: Ubuntu 22.04 y-tal: 0.16.1 mitransient: 1.0.3 Mitsuba3 version: Manually compiled

I am using a manually compiled version of Mitsuba3. The available parameters are as follows:


Output

 back_view for confocal-scene steady render...
/usr/local/lib/python3.10/dist-packages/tal/util.py:51: RuntimeWarning: divide by zero encountered in divide
  image *= 255.0 / np.max(image)
/usr/local/lib/python3.10/dist-packages/tal/util.py:51: RuntimeWarning: invalid value encountered in multiply
  image *= 255.0 / np.max(image)
/usr/local/lib/python3.10/dist-packages/tal/util.py:52: RuntimeWarning: invalid value encountered in cast
  return image.astype(np.uint8)
side_view for confocal-scene steady render...
Rendering confocal-scene (confocal)...:  56%|################1            | 143/256 [00:12<00:10, 11.14it/s]
Critical error during the static RTTI initialization:
Could not locate the base class 'Integrator' while initializing 'prb' with variant 'llvm_ad_rgb'!
Rendering confocal-scene (confocal)...: 100%|#############################| 256/256 [00:23<00:00, 10.95it/s]
Merging partial results...
Merging partial results...:  66%|#########################             | 169/256 [00:00<00:00, 19804.91it/s]
We missed some partial results (iteration 169 failed because: [Errno 2] No such file or directory: '/storage/tal/examples/render-reconstruct-confocal/confocal-scene/20240604-000142/partial/confocal-scene_L[9_5][10_5].npy'), re-launching...
Found a render in progress (20240604-000142), continuing...
back_view for confocal-scene steady render...
side_view for confocal-scene steady render...
Rendering confocal-scene (confocal)...: 100%|###########################| 256/256 [00:00<00:00, 2619.20it/s]
Merging partial results...
Merging partial results...: 100%|######################################| 256/256 [00:00<00:00, 22595.58it/s]
Stored result in /storage/tal/examples/render-reconstruct-confocal/confocal-scene/20240604-000142/confocal-scene.hdf5

Please let me know if you need any additional details or modifications.

diegoroyo commented 4 months ago

Thanks for the detailed issue!

I'm familiar with that error "Critical error during the static RTTI initialization", it has also happened to us. However, we are not sure either of what causes the error, seems to be some sort of race condition as it happens seemingly at random. We just implemented a workaround that just re-launches the renders that fail, and for now it has worked without more issues (hopefully in your case it does not give you any issues either)

If I have more time I can look into it, it only happens under confocal or exhaustive scenes, and not in single (i.e. scenes with only one laser point). The confocal and exhaustive scenes call Mitsuba 3 multiple times, so it might be some cleanup that needs to be done between renders.

In any case, if this issue gives you more problems, or you happen to find more info, please reach back to us.

HERO-YDX commented 4 months ago

Thank you. I will try it. Have a great day and thanks for your support!