zju3dv / Vox-Fusion

Code for "Dense Tracking and Mapping with Voxel-based Neural Implicit Representation", ISMAR 2022

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Producer process has been terminated before all shared CUDA tensors released

garylidd opened this issue · comments

Hey~Very appreciate to your great work! I also meet the problem of the 'producer process terminated', I wanna know when will the problem be fixed?

Hi, we have tried some methods and still cannot eliminate this warning, but this should only appear after the program ends and does not affect the result.

Same error here but I got the warning before the program ends, which returns no results.
I got "No such file or directory" error when the kf_buffer.get() is called at the end of the program. Has this issue been shown before? Thank you in advance.

commented

Same error here but I got the warning before the program ends, which returns no results. I got "No such file or directory" error when the kf_buffer.get() is called at the end of the program. Has this issue been shown before? Thank you in advance.

I have encountered the same issue, have you solved it? It seems "share_data.stop_mapping" is not correctly locked, the value sometimes changed from False to True in the last iteration of mapping.py int the while loop, just around kf_buffer.get(). In addition, when stop_mapping is set, the kf_buffer is not empty, which will make another round of do_mapping. Currently I simple skip the get() which causes error by try-except.

I got the same error, with no results at the end.

@garylidd any updates on this?

Same error here but I got the warning before the program ends, which returns no results. I got "No such file or directory" error when the kf_buffer.get() is called at the end of the program. Has this issue been shown before? Thank you in advance.

I have encountered the same issue, have you solved it? It seems "share_data.stop_mapping" is not correctly locked, the value sometimes changed from False to True in the last iteration of mapping.py int the while loop, just around kf_buffer.get(). In addition, when stop_mapping is set, the kf_buffer is not empty, which will make another round of do_mapping. Currently I simple skip the get() which causes error by try-except.

if you move this to the top of the while loop in spin() mapping.py, it solves the issue.
if share_data.stop_mapping:
break
elif not kf_buffer.empty():
tracked_frame = kf_buffer.get()
# self.create_voxels(tracked_frame)
...

@Yuhanelle thank you so much.

@Yuhanelle thank you so much.

Have you solved this problem yet?