glfw: non-deterministic PlatformUnavailable failures on Linux CI #370

Closed
opened 2022-06-25 17:24:23 +00:00 by emidoots · 3 comments
emidoots commented 2022-06-25 17:24:23 +00:00 (Migrated from github.com)

The GLFW CI tests are randomly failing with PlatformUnavailable - it's not clear why, I wonder if zig build test now runs tests in parallel and that's giving us a race condition or something?

https://github.com/hexops/mach/runs/7054721396?check_suite_focus=true

108/138 Window.test "setFramebufferSizeCallback"... FAIL (PlatformUnavailable)
/home/runner/work/mach/mach/glfw/src/errors.zig:152:5: 0x29b08f in errors.convertError (test)
    return switch (e) {
    ^
/home/runner/work/mach/mach/glfw/src/errors.zig:190:5: 0x23c9a4 in clipboard.test "getClipboardString" (test)
    return convertError(c.glfwGetError(null));
    ^
/home/runner/work/mach/mach/glfw/src/clipboard.zig:52:28: 0x23ca4a in clipboard.test "getClipboardString" (test)
    getError() catch |err| return switch (err) {
                           ^
/home/runner/work/mach/mach/glfw/src/errors.zig:152:5: 0x29b08f in errors.convertError (test)
    return switch (e) {
    ^
/home/runner/work/mach/mach/glfw/src/errors.zig:190:5: 0x24864b in Monitor.test "set_getGammaRamp" (test)
    return convertError(c.glfwGetError(null));
    ^
/home/runner/work/mach/mach/glfw/src/Monitor.zig:331:28: 0x2486de in Monitor.test "set_getGammaRamp" (test)
    getError() catch |err| return switch (err) {
                           ^
/home/runner/work/mach/mach/glfw/src/errors.zig:152:5: 0x29b08f in errors.convertError (test)
    return switch (e) {
    ^
/home/runner/work/mach/mach/glfw/src/errors.zig:190:5: 0x2659a1 in Window.test "setPosCallback" (test)
    return convertError(c.glfwGetError(null));
    ^
/home/runner/work/mach/mach/glfw/src/main.zig:89:28: 0x265a7d in Window.test "setPosCallback" (test)
    getError() catch |err| return switch (err) {
The GLFW CI tests are randomly failing with `PlatformUnavailable` - it's not clear why, I wonder if `zig build test` now runs tests in parallel and that's giving us a race condition or something? https://github.com/hexops/mach/runs/7054721396?check_suite_focus=true ``` 108/138 Window.test "setFramebufferSizeCallback"... FAIL (PlatformUnavailable) /home/runner/work/mach/mach/glfw/src/errors.zig:152:5: 0x29b08f in errors.convertError (test) return switch (e) { ^ /home/runner/work/mach/mach/glfw/src/errors.zig:190:5: 0x23c9a4 in clipboard.test "getClipboardString" (test) return convertError(c.glfwGetError(null)); ^ /home/runner/work/mach/mach/glfw/src/clipboard.zig:52:28: 0x23ca4a in clipboard.test "getClipboardString" (test) getError() catch |err| return switch (err) { ^ /home/runner/work/mach/mach/glfw/src/errors.zig:152:5: 0x29b08f in errors.convertError (test) return switch (e) { ^ /home/runner/work/mach/mach/glfw/src/errors.zig:190:5: 0x24864b in Monitor.test "set_getGammaRamp" (test) return convertError(c.glfwGetError(null)); ^ /home/runner/work/mach/mach/glfw/src/Monitor.zig:331:28: 0x2486de in Monitor.test "set_getGammaRamp" (test) getError() catch |err| return switch (err) { ^ /home/runner/work/mach/mach/glfw/src/errors.zig:152:5: 0x29b08f in errors.convertError (test) return switch (e) { ^ /home/runner/work/mach/mach/glfw/src/errors.zig:190:5: 0x2659a1 in Window.test "setPosCallback" (test) return convertError(c.glfwGetError(null)); ^ /home/runner/work/mach/mach/glfw/src/main.zig:89:28: 0x265a7d in Window.test "setPosCallback" (test) getError() catch |err| return switch (err) { ```
emidoots commented 2022-07-09 01:20:21 +00:00 (Migrated from github.com)

Another failure:

image
Another failure: <img width="828" alt="image" src="https://user-images.githubusercontent.com/3173176/178086326-8b194e75-c8d2-4e33-a383-e8ccc7fe5393.png">
emidoots commented 2022-07-09 01:21:30 +00:00 (Migrated from github.com)

It's weird how we go from setMouseButtonCallback test to set_getGammaRamp test in the same stack trace. Is the stack trace wrong, or how do we end up there?

It's weird how we go from `setMouseButtonCallback` test to `set_getGammaRamp` test in the same stack trace. Is the stack trace wrong, or how do we end up there?
emidoots commented 2023-06-25 07:34:45 +00:00 (Migrated from github.com)

seems to have gone away.

seems to have gone away.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
hexops/mach#370
No description provided.