soundmonster / samoklava

Generated keyboard
MIT License
343 stars 193 forks source link

XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":601282374" after 11 requests (8 known processed) with 0 events remaining. #21

Open ujl123 opened 2 years ago

ujl123 commented 2 years ago

i'm constantly hitting his error whenever I try to use the github action to autobuild the kicad file. I'm using the yaml file generated from https://ergogen.cache.works/ . As a test I tried using the sweep-like(minimal) yaml file as well as my own design and it all ends up with the below issue.

Please let me know if the stack below is useful

Run ./.github/actions/export-dsn
/usr/bin/docker run --name soundmonsterkicadautomationscriptslatest_9a3df0 --label 72882e --workdir /github/workspace --rm -e INPUT_PCB_FILE -e INPUT_DSN_FILE -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_RUN_ATTEMPT -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_REF_NAME -e GITHUB_REF_PROTECTED -e GITHUB_REF_TYPE -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e GITHUB_STEP_SUMMARY -e RUNNER_OS -e RUNNER_ARCH -e RUNNER_NAME -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true --entrypoint "/bin/sh" -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/samoklava/samoklava":"/github/workspace" soundmonster/kicad-automation-scripts:latest  "-c" "mkdir -p $HOME/.config/kicad ;
cp /root/.config/kicad/* $HOME/.config/kicad ;
/usr/lib/python2.7/dist-packages/kicad-automation/pcbnew_automation/export_dsn.py output/pcbs/board.kicad_pcb output/pcbs/board.dsn
"
Unable to find image 'soundmonster/kicad-automation-scripts:latest' locally
latest: Pulling from soundmonster/kicad-automation-scripts
124c757242f8: Pulling fs layer
9d866f8bde2a: Pulling fs layer
fa3f2f277e67: Pulling fs layer
398d32b153e8: Pulling fs layer
afde35469481: Pulling fs layer
84c890a4c945: Pulling fs layer
c2d270e31686: Pulling fs layer
44b62cfa4727: Pulling fs layer
ee39436fdbef: Pulling fs layer
cd840ecddeb7: Pulling fs layer
ae65f875717a: Pulling fs layer
398d32b153e8: Waiting
afde35469481: Waiting
84c890a4c945: Waiting
c2d270e31686: Waiting
44b62cfa4727: Waiting
ee39436fdbef: Waiting
cd840ecddeb7: Waiting
ae65f875717a: Waiting
9d866f8bde2a: Verifying Checksum
9d866f8bde2a: Download complete
124c757242f8: Verifying Checksum
124c757242f8: Download complete
fa3f2f277e67: Verifying Checksum
fa3f2f277e67: Download complete
398d32b153e8: Verifying Checksum
398d32b153e8: Download complete
84c890a4c945: Download complete
afde35469481: Verifying Checksum
afde35469481: Download complete
44b62cfa4727: Verifying Checksum
44b62cfa4727: Download complete
cd840ecddeb7: Verifying Checksum
cd840ecddeb7: Download complete
124c757242f8: Pull complete
ae65f875717a: Verifying Checksum
ae65f875717a: Download complete
9d866f8bde2a: Pull complete
fa3f2f277e67: Pull complete
398d32b153e8: Pull complete
afde35469481: Pull complete
84c890a4c945: Pull complete
c2d270e31686: Verifying Checksum
c2d270e31686: Download complete
ee39436fdbef: Verifying Checksum
ee39436fdbef: Download complete
c2d270e31686: Pull complete
44b62cfa4727: Pull complete
ee39436fdbef: Pull complete
cd840ecddeb7: Pull complete
ae65f875717a: Pull complete
Digest: sha256:6aef0d06c62b0e9859b1f3c869f329bf7b156fc360e0076c687827ca62e57d27
Status: Downloaded newer image for soundmonster/kicad-automation-scripts:latest
INFO:util.ui_automation:Waiting for pcbnew window...
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":601282374"
      after 11 requests (8 known processed) with 0 events remaining.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/kicad-automation/pcbnew_automation/export_dsn.py", line 100, in <module>
    export_result = run_export(args.kicad_pcb_file, args.output_file, args.record)
  File "/usr/lib/python2.7/dist-packages/kicad-automation/pcbnew_automation/export_dsn.py", line 64, in run_export
    window = wait_for_window('pcbnew', 'Pcbnew', 10, False)
  File "/usr/lib/python2.7/dist-packages/kicad-automation/util/ui_automation.py", line 99, in wait_for_window
    raise RuntimeError('Timed out waiting for %s window' % name)
RuntimeError: Timed out waiting for pcbnew window
thoni56 commented 2 years ago

I get this too. This Stackoverflow answer might indicate where the root cause is, but that indicates that the docker image contains software that handles its sockets wrong. But since I don't know what that image actually does, I get no further.

I know think that it is the ergogen error in #22 that is causing this error.

Which is a pity...

thoni56 commented 2 years ago

I tried to run the same docker command locally but it also failed in exactly the same way, which confirms my suspition about the image. I guess we'll have to wait for @soundmonster to have a look at this.

toniz4 commented 2 years ago

I get this too. ~This Stackoverflow answer might indicate where the root cause is, but that indicates that the docker image contains software that handles its sockets wrong. But since I don't know what that image actually does, I get no further.~

A fix is running the build script without the X11 server running, either on a tty or (probably) wayland.

I know think that it is the ergogen error in #22 that is causing this error.

Which is a pity...

Probably not an issue, soundmonter uses a specific branch of his ergogen fork, that he implements that feature. If you try to run the yaml file in ergogen ui or the default ergogen, it will fail to export a pcb, but on ergogen ui you can set it to update on change and just use it as a preview for the drawings.

soundmonster commented 2 years ago

The Makefile and also the GH workflow make (strong) assumptions about how things are named. Probably both have to be adjusted so they work together. The GH workflow assumes:

I guess a good starting point would be if you could point me to your fork so I could have a look. Possible solutions could be one or several of the following: