Describe the bug
In Unity Editor 6000.4.3f1, with Ultraleap Tracking 7.3.0 installed in a project, after starting and stopping play mode a few times, this error occurs:
Unhandled exception during build: System.NotSupportedException: Could not register to wait for file descriptor <file descriptor number>
The number at the end is usually something between 1000-1200. It seems like something in Ultraleap leaks open file descriptors. The number increases with each start and stop of the play mode until the number of open file descriptors for the Unity process exceeds 1000. From this point on, the exception above occurs sometimes during play mode, and sometimes during edit mode. In any case, it prevents starting another play mode since Unity recognizes this as compilation error and refuses to play.
If it occurs during play mode, other functionalities sending SocketIO messages in my project do not work anymore. Thus, I suspect that something regarding Ultraleap's connection attempts to the Tracking Software might be causing this.
As of now, the only workaround for this is to close the Editor and open it again as this resets the open file descriptors.
To Reproduce
Steps to reproduce the behavior:
-
Open a completely new Unity project with "Universal 3D"
-
Start & Stop play mode once
-
Execute in terminal
lsof -n | awk '{print $1}' | uniq -c | sort -rn | head -n $LINES
You will see an entry with title "Unity" and some number around 200-300. This is the number of currently open file descriptors for Unity.
-
Start and stop the play mode a few times. Then, execute the command again. You will see no increase in that number.
-
Install Ultraleap Tracking 7.3.0 via the Package Manager.
-
Retry step 5. Now, you will see an increase of the open file descriptors, which should be roughly 20-40 for one start & stop of play mode.
-
Repeat until the number reaches a value above 1000 and a few times more, then you should get the exception mentioned above.
Project details
- Unity version: Unity Editor 6000.4.3f1, also encountered in 6000.3.11f1
- Plugin/package version: Ultraleap Tracking 7.3.0
- Installation method: OpenUPM
- Packages affected: Ultraleap Tracking
Describe the bug
In Unity Editor 6000.4.3f1, with Ultraleap Tracking 7.3.0 installed in a project, after starting and stopping play mode a few times, this error occurs:
Unhandled exception during build: System.NotSupportedException: Could not register to wait for file descriptor <file descriptor number>The number at the end is usually something between 1000-1200. It seems like something in Ultraleap leaks open file descriptors. The number increases with each start and stop of the play mode until the number of open file descriptors for the Unity process exceeds 1000. From this point on, the exception above occurs sometimes during play mode, and sometimes during edit mode. In any case, it prevents starting another play mode since Unity recognizes this as compilation error and refuses to play.
If it occurs during play mode, other functionalities sending SocketIO messages in my project do not work anymore. Thus, I suspect that something regarding Ultraleap's connection attempts to the Tracking Software might be causing this.
As of now, the only workaround for this is to close the Editor and open it again as this resets the open file descriptors.
To Reproduce
Steps to reproduce the behavior:
Open a completely new Unity project with "Universal 3D"
Start & Stop play mode once
Execute in terminal
lsof -n | awk '{print $1}' | uniq -c | sort -rn | head -n $LINESYou will see an entry with title "Unity" and some number around 200-300. This is the number of currently open file descriptors for Unity.
Start and stop the play mode a few times. Then, execute the command again. You will see no increase in that number.
Install Ultraleap Tracking 7.3.0 via the Package Manager.
Retry step 5. Now, you will see an increase of the open file descriptors, which should be roughly 20-40 for one start & stop of play mode.
Repeat until the number reaches a value above 1000 and a few times more, then you should get the exception mentioned above.
Project details