Got crash using TAO backend (more info in thread)....
# nucleus
p
Got crash using TAO backend (more info in thread). Haven't extract small repro yet. But it seems like there can be some connection leak to X11 server, when ui changing fast - my case is a color picker that when sliding on each select of color modifies app theme (MaterialTheme,colorScheme).
Copy code
Maximum number of clients reached
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f61d68f3014, pid=4581, tid=4611
#
# JRE version: OpenJDK Runtime Environment Zulu25.34+17-CA (25.0.3+9) (build 25.0.3+9-LTS)
# Java VM: OpenJDK 64-Bit Server VM Zulu25.34+17-CA (25.0.3+9-LTS, mixed mode, sharing, tiered, compressed oops, compact obj headers, parallel gc, linux-amd64)
# Problematic frame:
# C  [libX11.so.6+0x33014]  XDefaultScreen+0x4
u
without reproducing the bug, it's difficult for me but I know I fixed about ten bugs of this type in nucleus 2.6, I publish dev versions on mc, the latest is v2.6.0-dev-202609230816
p
Not reproduсing with this version
@אליהו הדס I've noticed that in this version there is exitProcessOnExit parameter for nucleusApplication. When I set it to false and then on window close call exitApplication() nothing happens. I expecting that with exitProcessOnExit=false call to exitApplication should call return from nucleusApplication but without exiting process.
u
On Linux ?
p
Yes.
Tao backend
u
Nucleus 2.6 no longer offers an Awt backend 🙂
p
with exitProcessOnExit=false call to exitApplication make window freeze
u
x11 and wayland ?
p
x11
u
I'm checking
Can you send me a jstack while the app is doing nothing ?
p
Please try this code (in real project nucleusApplication is called from coroutine with IO dispatcher, but for repro it doesn't matter )
Copy code
fun main() {
    runBlocking {
        nucleusApplication(
            exitProcessOnExit = false
        ) {
            NucleusDecoratedWindowTheme(
                isDark = false
            ) {
                MaterialDecoratedWindow(
                    onCloseRequest = ::exitApplication
                ) {
                    MaterialTitleBar()
                }
            }
        }
        println("------------------- after nucleusApp exit")
        awaitCancellation()
    }
}
By the way it would be nice to have nucleusApplication as suspend fun - will be easy to handle cancellations from outer scope
🤔 1
u
you can try 2.6.0-dev-202609241732 ?
p
Thanks! With this build it is exiting normally!
❤️ 1