Crash using Glib.idleAdd #204

Closed
opened 2025-04-09 18:46:15 +02:00 by esiqveland · 1 comment
esiqveland commented 2025-04-09 18:46:15 +02:00 (Migrated from github.com)

When adding a function to Glib.idleAdd that should remove itself using:

        GLib.idleAdd(GLib.PRIORITY_DEFAULT_IDLE, () -> {
            fn.run();
            return GLib.SOURCE_REMOVE;
        });

It crahes during cleanup:

java.lang.WrongThreadException: Attempted access outside owning thread
	at java.base/jdk.internal.foreign.MemorySessionImpl.wrongThread(MemorySessionImpl.java:314)
	at java.base/jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError.newRuntimeException(ScopedMemoryAccess.java:113)
	at java.base/jdk.internal.foreign.MemorySessionImpl.checkValidState(MemorySessionImpl.java:209)
	at java.base/jdk.internal.foreign.ConfinedSession.justClose(ConfinedSession.java:82)
	at java.base/jdk.internal.foreign.MemorySessionImpl.close(MemorySessionImpl.java:232)
	at java.base/jdk.internal.foreign.ArenaImpl.close(ArenaImpl.java:50)
	at io.github.jwharm.javagi.interop.Arenas.close_cb(Arenas.java:66)
	at org.gnome.gio.Application.run(Application.java:1083)
	at com.github.subsound.Main.<init>(Main.java:67)
	at com.github.subsound.Main.main(Main.java:74)
When adding a function to Glib.idleAdd that should remove itself using: ``` GLib.idleAdd(GLib.PRIORITY_DEFAULT_IDLE, () -> { fn.run(); return GLib.SOURCE_REMOVE; }); ``` It crahes during cleanup: ``` java.lang.WrongThreadException: Attempted access outside owning thread at java.base/jdk.internal.foreign.MemorySessionImpl.wrongThread(MemorySessionImpl.java:314) at java.base/jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError.newRuntimeException(ScopedMemoryAccess.java:113) at java.base/jdk.internal.foreign.MemorySessionImpl.checkValidState(MemorySessionImpl.java:209) at java.base/jdk.internal.foreign.ConfinedSession.justClose(ConfinedSession.java:82) at java.base/jdk.internal.foreign.MemorySessionImpl.close(MemorySessionImpl.java:232) at java.base/jdk.internal.foreign.ArenaImpl.close(ArenaImpl.java:50) at io.github.jwharm.javagi.interop.Arenas.close_cb(Arenas.java:66) at org.gnome.gio.Application.run(Application.java:1083) at com.github.subsound.Main.<init>(Main.java:67) at com.github.subsound.Main.main(Main.java:74) ```
jwharm commented 2025-04-10 20:46:00 +02:00 (Migrated from github.com)

Thanks!

Thanks!
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
java-gi/java-gi#204
No description provided.