-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
posix_ipc.BusyError: Semaphore is busy #285
Comments
Still seeing this bug |
I've had the same issue training an agent on MazeWorld-FinishMazeSphere. Holodeck 0.3.0, DefaultWorlds installed. To ReproduceMake "MazeWorld-FinishMazeSphere" and begin training agent (DQN) for ~200,000 steps Logs(note that the same error has occurred in env.step as well as env.reset):
|
Uh oh, this means we have to fix it now ;) What distro are you using? What version of holodeck ( Now that we know that its an issue in the wild we'll prioritize it. I'm going to try and reproduce the exact failure you're seeing. |
Same problem here. OpenSUSE 15.0, Unreal 4.22.3, Holodeck 0.2.2. To reproduceBuild ExampleLevel package for Linux. Install where Holodeck installs its worlds, create the JSON files. Invoke holodeck.make with this world within python3 shell. Logs
|
I picked this timeout at random, it seems that is was too short. The original purpose was to prevent tests from hanging indefinitely. 60s is long enough that it shouldn't happen under normal usage but will prevent tests from hanging.
For those who are interested, it seems part of the issue was a timeout was set too low, that would cause the issue when starting up an environment. That wouldn't explain why it would fail after 200,000 steps, I have been unable to reproduce that issue. Still trying though |
I picked this timeout at random, it seems that is was too short. The original purpose was to prevent tests from hanging indefinitely. 60s is long enough that it shouldn't happen under normal usage but will prevent tests from hanging.
@jaydenmilne what's the status on this issue? @kolbytn said he hasn't had any more issues. Can we close this? |
There are two separate issues that cause this error.
We thought they were related, but they weren't. We fixed (1) but haven't figured out (2). I have tried to reproduce (2) since it was reported but haven't been able. I am planning on running a few more tests to try and reproduce (2), since it broke someone's research and is thus a high priority issue. |
I've been unable to reproduce this issue resetting the world 14,000 times and ticking it 13,380,000 times. This is the script I am trying to use to reproduce it: import holodeck
import datetime
import traceback
i = 0
with holodeck.make("MazeWorld-FinishMazeSphere", show_viewport=False) as env:
try:
while True:
env.tick(1000)
env.reset()
i += 1
if i % 5 == 0:
print("ticks = {} resets = {}".format(i * 1000, i))
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
except Exception as e:
print("ticks = {} resets = {}".format(i * 1000, i))
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
track = traceback.format_exc()
print(track)
print(e) Should I be ticking it more times per episode? |
Ok. I spent a fair amount of time digging into this issue. I was able to reproduce it consistently when running tests on my Linux box. It has something to do with OpenGL when we run Holodeck headless (but with rendering enabled. i.e delete the I ran the same tests but with Let us know if you run into this problem while running holodeck with a GUI I'm going to close this issue now for housekeeping. |
Describe the bug
Running integration tests on Linux has an intermittent failure with the error
posix_ipc.BusyError: Semaphore is busy
To Reproduce
Run the integration tests a few times on Linux.
I haven't observed this outside of testing.
Logs
The text was updated successfully, but these errors were encountered: