问:
Gradle tests compile task runs infinitely
I am trying to run all tests in my project with intellij but when I do, the compile test task runs infinitely.

I ran the tests with debug option. The output shows same logs over and over related to file locks.
Here is a snippet of logs

```<code>    2022-12-22T12:17:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:17:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:17:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:17:52.927+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: acquired lock on worker lease
2022-12-22T12:17:52.927+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: released lock on worker lease
2022-12-22T12:18:02.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:10.304+0200 [DEBUG] [sun.rmi.client.ref] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: get connection
2022-12-22T12:18:10.305+0200 [DEBUG] [sun.rmi.transport.tcp] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: create connection
2022-12-22T12:18:10.309+0200 [DEBUG] [sun.rmi.loader] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: name = "java.rmi.dgc.Lease", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.310+0200 [DEBUG] [sun.rmi.loader] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: name = "java.rmi.dgc.VMID", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.310+0200 [DEBUG] [sun.rmi.loader] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: name = "[B", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.310+0200 [DEBUG] [sun.rmi.loader] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: name = "java.rmi.server.UID", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.310+0200 [DEBUG] [sun.rmi.client.ref] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: free connection (reuse = true)
2022-12-22T12:18:10.310+0200 [DEBUG] [sun.rmi.transport.tcp] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: reuse connection
2022-12-22T12:18:10.311+0200 [DEBUG] [sun.rmi.transport.tcp] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: create reaper
2022-12-22T12:18:10.577+0200 [DEBUG] [sun.rmi.transport.tcp] RMI TCP Connection(2)-127.0.0.1: accepted socket from [127.0.0.1:43282]
2022-12-22T12:18:10.578+0200 [DEBUG] [sun.rmi.transport.tcp] RMI TCP Connection(2)-127.0.0.1: (port 41601) op = 80
2022-12-22T12:18:10.578+0200 [DEBUG] [sun.rmi.loader] RMI TCP Connection(2)-127.0.0.1: name = "[Ljava.rmi.server.ObjID;", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.578+0200 [DEBUG] [sun.rmi.loader] RMI TCP Connection(2)-127.0.0.1: name = "java.rmi.dgc.Lease", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.579+0200 [DEBUG] [sun.rmi.loader] RMI TCP Connection(2)-127.0.0.1: name = "java.rmi.dgc.VMID", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.579+0200 [DEBUG] [sun.rmi.loader] RMI TCP Connection(2)-127.0.0.1: name = "[B", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.579+0200 [DEBUG] [sun.rmi.loader] RMI TCP Connection(2)-127.0.0.1: name = "java.rmi.server.UID", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:12.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:12.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:22.585+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:22.585+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:22.585+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:22.928+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: acquired lock on worker lease
2022-12-22T12:18:22.928+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: released lock on worker lease
2022-12-22T12:18:25.312+0200 [DEBUG] [sun.rmi.transport.tcp] RMI Scheduler(0): close connection
2022-12-22T12:18:25.582+0200 [DEBUG] [sun.rmi.transport.tcp] RMI TCP Connection(2)-127.0.0.1: (port 41601) connection closed
2022-12-22T12:18:25.582+0200 [DEBUG] [sun.rmi.transport.tcp] RMI TCP Connection(2)-127.0.0.1: close connection
2022-12-22T12:18:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:52.928+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: acquired lock on worker lease
2022-12-22T12:18:52.928+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: released lock on worker lease
2022-12-22T12:19:02.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:22.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:22.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:22.928+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: acquired lock on worker lease
2022-12-22T12:19:22.928+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: released lock on worker lease
2022-12-22T12:19:32.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:32.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:42.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
</code>```

What could be the problem? At first I thought it's a permission problem, so I ran intellij with sudo. But the result is the same.

UPDATE
This the process that I found

```<code>root       18076  116 29.1 11723948 4753968 pts/1 Sl+ 11:52  50:32 /opt/idea-IU-222.3345.118/jbr/bin/java -classpath /opt/idea-IU-222.3345.118/lib/util.jar:/opt/idea-IU-222.3345.118/lib/app.jar:/opt/idea-IU-222.3345.118/lib/3rd-party-rt.jar:/opt/idea-IU-222.3345.118/lib/jna.jar:/opt/idea-IU-222.3345.118/lib/platform-statistics-devkit.jar:/opt/idea-IU-222.3345.118/lib/jps-model.jar:/opt/idea-IU-222.3345.118/lib/rd-core.jar:/opt/idea-IU-222.3345.118/lib/rd-framework.jar:/opt/idea-IU-222.3345.118/lib/stats.jar:/opt/idea-IU-222.3345.118/lib/protobuf.jar:/opt/idea-IU-222.3345.118/lib/external-system-rt.jar:/opt/idea-IU-222.3345.118/lib/jsp-base-openapi.jar:/opt/idea-IU-222.3345.118/lib/forms_rt.jar:/opt/idea-IU-222.3345.118/lib/intellij-test-discovery.jar:/opt/idea-IU-222.3345.118/lib/rd-swing.jar:/opt/idea-IU-222.3345.118/lib/annotations.jar:/opt/idea-IU-222.3345.118/lib/groovy.jar:/opt/idea-IU-222.3345.118/lib/annotations-java5.jar:/opt/idea-IU-222.3345.118/lib/asm-9.2.jar:/opt/idea-IU-222.3345.118/lib/asm-analysis-9.2.jar:/opt/idea-IU-222.3345.118/lib/asm-commons-9.2.jar:/opt/idea-IU-222.3345.118/lib/asm-tree-9.2.jar:/opt/idea-IU-222.3345.118/lib/asm-util-9.2.jar:/opt/idea-IU-222.3345.118/lib/async-profiler.jar:/opt/idea-IU-222.3345.118/lib/byte-buddy-agent.jar:/opt/idea-IU-222.3345.118/lib/error-prone-annotations.jar:/opt/idea-IU-222.3345.118/lib/externalProcess-rt.jar:/opt/idea-IU-222.3345.118/lib/grpc-netty-shaded.jar:/opt/idea-IU-222.3345.118/lib/idea_rt.jar:/opt/idea-IU-222.3345.118/lib/intellij-coverage-agent-1.0.673.jar:/opt/idea-IU-222.3345.118/lib/jffi-1.3.9-native.jar:/opt/idea-IU-222.3345.118/lib/jffi-1.3.9.jar:/opt/idea-IU-222.3345.118/lib/jnr-a64asm-1.0.0.jar:/opt/idea-IU-222.3345.118/lib/jnr-ffi-2.2.12.jar:/opt/idea-IU-222.3345.118/lib/jnr-x86asm-1.0.2.jar:/opt/idea-IU-222.3345.118/lib/jsch-agent.jar:/opt/idea-IU-222.3345.118/lib/junit.jar:/opt/idea-IU-222.3345.118/lib/junit4.jar:/opt/idea-IU-222.3345.118/lib/junixsocket-core.jar:/opt/idea-IU-222.3345.118/lib/kotlin-test-assertions-core-jvm.jar:/opt/idea-IU-222.3345.118/lib/lz4-java.jar:/opt/idea-IU-222.3345.118/lib/platform-objectSerializer-annotations.jar:/opt/idea-IU-222.3345.118/lib/pty4j.jar:/opt/idea-IU-222.3345.118/lib/rd-text.jar:/opt/idea-IU-222.3345.118/lib/tests_bootstrap.jar:/opt/idea-IU-222.3345.118/lib/uast-tests.jar:/opt/idea-IU-222.3345.118/lib/util_rt.jar:/opt/idea-IU-222.3345.118/lib/winp.jar:/opt/idea-IU-222.3345.118/lib/ant/lib/ant.jar:/opt/idea-IU-222.3345.118/lib/dbus-java-3.2.1.jar:/opt/idea-IU-222.3345.118/lib/java-utils-1.0.6.jar -Xms128m -Xmx750m -XX:ReservedCodeCacheSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=exclude,com/intellij/openapi/vfs/impl/FilePartNodeRoot,trieDescend -ea -Dsun.io.useCanonCaches=false -Dsun.java2d.metal=true -Djbr.catch.SIGABRT=true -Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Djdk.module.illegalAccess.silent=true -Dkotlinx.coroutines.debug=off -Dsun.tools.attach.tmp.only=true -Xmx1994m -XX:ErrorFile=/root/java_error_in_idea_%p.log -XX:HeapDumpPath=/root/java_error_in_idea_.hprof -Djb.vmOptionsFile=/root/.config/JetBrains/IntelliJIdea2022.2/idea64.vmoptions -Djava.system.class.loader=com.intellij.util.lang.PathClassLoader -Didea.strict.classpath=true -Didea.vendor.name=JetBrains -Didea.paths.selector=IntelliJIdea2022.2 -Didea.jre.check=true -Dsplash=true --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.vm=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.security.ssl=ALL-UNNAMED --add-opens=java.base/sun.security.util=ALL-UNNAMED --add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/javax.swing=ALL-UNNAMED --add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED --add-opens=java.desktop/sun.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/sun.awt.image=ALL-UNNAMED --add-opens=java.desktop/sun.awt=ALL-UNNAMED --add-opens=java.desktop/sun.font=ALL-UNNAMED --add-opens=java.desktop/sun.java2d=ALL-UNNAMED --add-opens=java.desktop/sun.swing=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-opens=jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED com.intellij.idea.Main
</code>```

and /proc/18076/status contains indicates that the process is sleeping.

Body:
I am trying to run all tests in my project with intellij but when I do, the compile test task runs infinitely.

I ran the tests with debug option. The output shows same logs over and over related to file locks.
Here is a snippet of logs

    2022-12-22T12:17:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:17:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:17:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:17:52.927+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: acquired lock on worker lease
2022-12-22T12:17:52.927+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: released lock on worker lease
2022-12-22T12:18:02.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:10.304+0200 [DEBUG] [sun.rmi.client.ref] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: get connection
2022-12-22T12:18:10.305+0200 [DEBUG] [sun.rmi.transport.tcp] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: create connection
2022-12-22T12:18:10.309+0200 [DEBUG] [sun.rmi.loader] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: name = "java.rmi.dgc.Lease", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.310+0200 [DEBUG] [sun.rmi.loader] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: name = "java.rmi.dgc.VMID", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.310+0200 [DEBUG] [sun.rmi.loader] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: name = "[B", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.310+0200 [DEBUG] [sun.rmi.loader] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: name = "java.rmi.server.UID", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.310+0200 [DEBUG] [sun.rmi.client.ref] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: free connection (reuse = true)
2022-12-22T12:18:10.310+0200 [DEBUG] [sun.rmi.transport.tcp] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: reuse connection
2022-12-22T12:18:10.311+0200 [DEBUG] [sun.rmi.transport.tcp] RMI RenewClean-[127.0.0.1:17128,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@2c57e79a]: create reaper
2022-12-22T12:18:10.577+0200 [DEBUG] [sun.rmi.transport.tcp] RMI TCP Connection(2)-127.0.0.1: accepted socket from [127.0.0.1:43282]
2022-12-22T12:18:10.578+0200 [DEBUG] [sun.rmi.transport.tcp] RMI TCP Connection(2)-127.0.0.1: (port 41601) op = 80
2022-12-22T12:18:10.578+0200 [DEBUG] [sun.rmi.loader] RMI TCP Connection(2)-127.0.0.1: name = "[Ljava.rmi.server.ObjID;", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.578+0200 [DEBUG] [sun.rmi.loader] RMI TCP Connection(2)-127.0.0.1: name = "java.rmi.dgc.Lease", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.579+0200 [DEBUG] [sun.rmi.loader] RMI TCP Connection(2)-127.0.0.1: name = "java.rmi.dgc.VMID", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.579+0200 [DEBUG] [sun.rmi.loader] RMI TCP Connection(2)-127.0.0.1: name = "[B", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:10.579+0200 [DEBUG] [sun.rmi.loader] RMI TCP Connection(2)-127.0.0.1: name = "java.rmi.server.UID", codebase = "", defaultLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader@72972e91
2022-12-22T12:18:12.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:12.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:22.585+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:22.585+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:22.585+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:22.928+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: acquired lock on worker lease
2022-12-22T12:18:22.928+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: released lock on worker lease
2022-12-22T12:18:25.312+0200 [DEBUG] [sun.rmi.transport.tcp] RMI Scheduler(0): close connection
2022-12-22T12:18:25.582+0200 [DEBUG] [sun.rmi.transport.tcp] RMI TCP Connection(2)-127.0.0.1: (port 41601) connection closed
2022-12-22T12:18:25.582+0200 [DEBUG] [sun.rmi.transport.tcp] RMI TCP Connection(2)-127.0.0.1: close connection
2022-12-22T12:18:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:18:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:18:52.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:18:52.928+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: acquired lock on worker lease
2022-12-22T12:18:52.928+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: released lock on worker lease
2022-12-22T12:19:02.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:02.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:12.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:22.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:22.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:22.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:22.928+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: acquired lock on worker lease
2022-12-22T12:19:22.928+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: released lock on worker lease
2022-12-22T12:19:32.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:32.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:32.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:42.583+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-12-22T12:19:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-12-22T12:19:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-12-22T12:19:42.584+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.

What could be the problem? At first I thought it's a permission problem, so I ran intellij with sudo. But the result is the same.

UPDATE
This the process that I found

root       18076  116 29.1 11723948 4753968 pts/1 Sl+ 11:52  50:32 /opt/idea-IU-222.3345.118/jbr/bin/java -classpath /opt/idea-IU-222.3345.118/lib/util.jar:/opt/idea-IU-222.3345.118/lib/app.jar:/opt/idea-IU-222.3345.118/lib/3rd-party-rt.jar:/opt/idea-IU-222.3345.118/lib/jna.jar:/opt/idea-IU-222.3345.118/lib/platform-statistics-devkit.jar:/opt/idea-IU-222.3345.118/lib/jps-model.jar:/opt/idea-IU-222.3345.118/lib/rd-core.jar:/opt/idea-IU-222.3345.118/lib/rd-framework.jar:/opt/idea-IU-222.3345.118/lib/stats.jar:/opt/idea-IU-222.3345.118/lib/protobuf.jar:/opt/idea-IU-222.3345.118/lib/external-system-rt.jar:/opt/idea-IU-222.3345.118/lib/jsp-base-openapi.jar:/opt/idea-IU-222.3345.118/lib/forms_rt.jar:/opt/idea-IU-222.3345.118/lib/intellij-test-discovery.jar:/opt/idea-IU-222.3345.118/lib/rd-swing.jar:/opt/idea-IU-222.3345.118/lib/annotations.jar:/opt/idea-IU-222.3345.118/lib/groovy.jar:/opt/idea-IU-222.3345.118/lib/annotations-java5.jar:/opt/idea-IU-222.3345.118/lib/asm-9.2.jar:/opt/idea-IU-222.3345.118/lib/asm-analysis-9.2.jar:/opt/idea-IU-222.3345.118/lib/asm-commons-9.2.jar:/opt/idea-IU-222.3345.118/lib/asm-tree-9.2.jar:/opt/idea-IU-222.3345.118/lib/asm-util-9.2.jar:/opt/idea-IU-222.3345.118/lib/async-profiler.jar:/opt/idea-IU-222.3345.118/lib/byte-buddy-agent.jar:/opt/idea-IU-222.3345.118/lib/error-prone-annotations.jar:/opt/idea-IU-222.3345.118/lib/externalProcess-rt.jar:/opt/idea-IU-222.3345.118/lib/grpc-netty-shaded.jar:/opt/idea-IU-222.3345.118/lib/idea_rt.jar:/opt/idea-IU-222.3345.118/lib/intellij-coverage-agent-1.0.673.jar:/opt/idea-IU-222.3345.118/lib/jffi-1.3.9-native.jar:/opt/idea-IU-222.3345.118/lib/jffi-1.3.9.jar:/opt/idea-IU-222.3345.118/lib/jnr-a64asm-1.0.0.jar:/opt/idea-IU-222.3345.118/lib/jnr-ffi-2.2.12.jar:/opt/idea-IU-222.3345.118/lib/jnr-x86asm-1.0.2.jar:/opt/idea-IU-222.3345.118/lib/jsch-agent.jar:/opt/idea-IU-222.3345.118/lib/junit.jar:/opt/idea-IU-222.3345.118/lib/junit4.jar:/opt/idea-IU-222.3345.118/lib/junixsocket-core.jar:/opt/idea-IU-222.3345.118/lib/kotlin-test-assertions-core-jvm.jar:/opt/idea-IU-222.3345.118/lib/lz4-java.jar:/opt/idea-IU-222.3345.118/lib/platform-objectSerializer-annotations.jar:/opt/idea-IU-222.3345.118/lib/pty4j.jar:/opt/idea-IU-222.3345.118/lib/rd-text.jar:/opt/idea-IU-222.3345.118/lib/tests_bootstrap.jar:/opt/idea-IU-222.3345.118/lib/uast-tests.jar:/opt/idea-IU-222.3345.118/lib/util_rt.jar:/opt/idea-IU-222.3345.118/lib/winp.jar:/opt/idea-IU-222.3345.118/lib/ant/lib/ant.jar:/opt/idea-IU-222.3345.118/lib/dbus-java-3.2.1.jar:/opt/idea-IU-222.3345.118/lib/java-utils-1.0.6.jar -Xms128m -Xmx750m -XX:ReservedCodeCacheSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=exclude,com/intellij/openapi/vfs/impl/FilePartNodeRoot,trieDescend -ea -Dsun.io.useCanonCaches=false -Dsun.java2d.metal=true -Djbr.catch.SIGABRT=true -Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Djdk.module.illegalAccess.silent=true -Dkotlinx.coroutines.debug=off -Dsun.tools.attach.tmp.only=true -Xmx1994m -XX:ErrorFile=/root/java_error_in_idea_%p.log -XX:HeapDumpPath=/root/java_error_in_idea_.hprof -Djb.vmOptionsFile=/root/.config/JetBrains/IntelliJIdea2022.2/idea64.vmoptions -Djava.system.class.loader=com.intellij.util.lang.PathClassLoader -Didea.strict.classpath=true -Didea.vendor.name=JetBrains -Didea.paths.selector=IntelliJIdea2022.2 -Didea.jre.check=true -Dsplash=true --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.vm=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.security.ssl=ALL-UNNAMED --add-opens=java.base/sun.security.util=ALL-UNNAMED --add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/javax.swing=ALL-UNNAMED --add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED --add-opens=java.desktop/sun.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/sun.awt.image=ALL-UNNAMED --add-opens=java.desktop/sun.awt=ALL-UNNAMED --add-opens=java.desktop/sun.font=ALL-UNNAMED --add-opens=java.desktop/sun.java2d=ALL-UNNAMED --add-opens=java.desktop/sun.swing=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-opens=jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED com.intellij.idea.Main

and /proc/18076/status contains indicates that the process is sleeping.


来源: stackexchange

问:
make from autotools does not detect changes in preprocessor directives
I am stuck with a problem for which I searched on various threads unsuccessfully.

I have a project built with autotools utilities. This project relies on preprocessor directives which activate blocks of code depending on the presence of libraries or other stuff.

The problem I am facing is that once the project is built, for example like:
./configure --enable-mpi=yes && make

(Note that --enable-mpi=yes is set to add -DMPI_LIB=1 to the list of compiler flags.)

If I rebuild the project like
./configure --enable-mpi=no && make

Nothing is done for make. I think it is normal behaviour as no files changed except compilation flags (-DMPI_LIB=0 in that case).

How then can I add a dependence on flag changes in Makefile.am ?

I came across this thread: Makefile trigger rebuild for C/C++ preprocessor directives. Unfortunately I do not know how to adapt this to Makefile.am as there seem to be pretty high limitations in conditionals handling in Makefile.am.

Thank you for any advice !

EDIT
I may have found a workaround, or maybe the right way of doing it in another thread how to force recompile when changing Makefile flags? (I am not much experienced with make). If I add Makefile as a dependency to my object files it does the job, e.g. recompiles whenever a compilation flag changed.

ContentLicense: CC BY-SA 4.0


问:
Pass props when using 'react-router-dom' Link
I am trying to send data from one component to another when redirecting with react-router-dom's Link.

I have a list of Rooms that I render with a for loop. Those Rooms are wrapped in a Link like this:

```<code><Link
  key={room.id}
  to={{
    pathname: `${room.id}`,
    state: {
      room: {room}
    }
  }}
>
  <Room room={room} />
</Link>
</code>```

That Route corresponds to the ActiveChat component (the one that needs the data). However, when I do console.log(props); it returns an empty object (and props.location returns undefined)

The variable room is not empty (I also tried passing a string and returned undefined as well).

Body:
I am trying to send data from one component to another when redirecting with react-router-dom's Link.

I have a list of Rooms that I render with a for loop. Those Rooms are wrapped in a Link like this:

<Link
  key={room.id}
  to={{
    pathname: `${room.id}`,
    state: {
      room: {room}
    }
  }}
>
  <Room room={room} />
</Link>

That Route corresponds to the ActiveChat component (the one that needs the data). However, when I do console.log(props); it returns an empty object (and props.location returns undefined)

The variable room is not empty (I also tried passing a string and returned undefined as well).


问:
How to fix 'Session ended' error when loading an Oracle Apex webpage embedded in another html page using  or <embed>?
I'm loading apex webpage embedded into my blank HTML webpage using  or <embed> tags.
My apex page has these settings - page is public without any login, cross domain is enabled.

If I load the apex page via URL, it works fine. If I embed in another html page then I get this error after loading. All the interactive grids are not loaded with data from database.

I could not figure out what is causing the error.

Title: How to fix 'Session ended' error when loading an Oracle Apex webpage embedded in another html page using <iframe> or <embed>?


问:
How to connect with application server?
I have 3 application servers running on 3 different ports doing the same thing. I want a socket connection between the client and a free application server. How to pass the information of the free server's port number so I can achieve a socket connection. Should I give the client the port number of the free application server?

Currently I am giving the client the port information and achieving a socket connection with the app server.

I am very new to web development and please forgive me for my poor English.

Title: How to connect with application server?


问:
Send an async request to backend in "onRowsDelete" callback
I am using the material ui data table package in my React project.

In the onRowsDelete callback provided by this package, I would like to send request to backend:

```<code>import { MUIDataTableOptions } from "mui-datatables";
...
const options: MUIDataTableOptions = {
  onRowsDelete: (rows => {
      // error: since it is not in an async function
      await notifyBackend();
  }),
  ...
}
</code>```

But since the callback onRowsDelete doesn't support async call, I am not able to await notifyBackend(). Then, I tried:

```<code>// adding the 'async' yields compiler error
onRowsDelete: (async rows => {
      await notifyBackend();
  }),
</code>```

How can I invoke an async call in onRowsDelete callback then?

Body:
I am using the material ui data table package in my React project.

In the onRowsDelete callback provided by this package, I would like to send request to backend:

import { MUIDataTableOptions } from "mui-datatables";
...
const options: MUIDataTableOptions = {
  onRowsDelete: (rows => {
      // error: since it is not in an async function
      await notifyBackend();
  }),
  ...
}

But since the callback onRowsDelete doesn't support async call, I am not able to await notifyBackend(). Then, I tried:

// adding the 'async' yields compiler error
onRowsDelete: (async rows => {
      await notifyBackend();
  }),

How can I invoke an async call in onRowsDelete callback then?


问:
Get current data of the Plot not the whole. Plotly JS
Good day! For some reason I want to get the current range of data not the whole data of the plot. Is that possible?

I tried using this PlotID.data but I'm getting the whole data not the current data that shows in the screen.


问:
Open vCard file in contacts app from browser Android
I want my users to be able to save a contact by clicking a button. I've learned that this can be done using vCard files.

I generate a vCard file and let the user download it by clicking a button.

On IOS, this works really well, where the contents of the vCard file get shown in the contacts app. The user can simply click "add" and the contact gets saved.

On Android, the same button causes the file to be downloaded as a usual file. The user then clicks open and gets presented with an interface on where he wants to store his file in. The whole process has a much worse UX.

Is it possible to have contact saving on Android in the same way as in IOS?

This is how I cause the download to happen:

```<code>element.setAttribute('href', 'data:text/vcard;charset=utf-8,' + encodeURIComponent(vcard.toString()));
element.setAttribute('download', "contact.vcf");
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element)
</code>```

I tried the intent API syntax like this:

```<code>element.setAttribute('href', 'intent://vnd.android.cursor.dir/raw_contact/#Intent;action=android.intent.action.INSERT;S.email=hello@world.com;S.phone=+1-212-555-1234end;');
</code>```

That doesn't work either

I found a few other unanswered stack overflow questions from almost a decade ago. I am hoping that Android made some changes that made this possible.

Body:
I want my users to be able to save a contact by clicking a button. I've learned that this can be done using vCard files.

I generate a vCard file and let the user download it by clicking a button.

On IOS, this works really well, where the contents of the vCard file get shown in the contacts app. The user can simply click "add" and the contact gets saved.

On Android, the same button causes the file to be downloaded as a usual file. The user then clicks open and gets presented with an interface on where he wants to store his file in. The whole process has a much worse UX.

Is it possible to have contact saving on Android in the same way as in IOS?

This is how I cause the download to happen:

element.setAttribute('href', 'data:text/vcard;charset=utf-8,' + encodeURIComponent(vcard.toString()));
element.setAttribute('download', "contact.vcf");
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element)

I tried the intent API syntax like this:

element.setAttribute('href', 'intent://vnd.android.cursor.dir/raw_contact/#Intent;action=android.intent.action.INSERT;S.email=hello@world.com;S.phone=+1-212-555-1234end;');

That doesn't work either

I found a few other unanswered stack overflow questions from almost a decade ago. I am hoping that Android made some changes that made this possible.


问:
SwiftUI clear TextField placeholder on focus is working only in a certain way
I am trying to remove the placeholder from a textfield in SwiftUI when user taps on the textfield. So as suggested in stackoverflow i used the following code.

```<code>import Foundation
import SwiftUI
import ApplicationCore

struct StartUpScreen: View {

    @State var password = ""
    @State var passwordPlaceholder = "Enter Password"

    var body: some View {
                        TextField(self.$passwordPlaceholder.wrappedValue, text: $password, onEditingChanged: { (changed) in
                            print("Password onEditingChanged - \(changed)")
                            switch changed {
                            case true:
                                self.$passwordPlaceholder.wrappedValue
                                = self.$password.wrappedValue
                                self.$password.wrappedValue = ""
                            case false:
                                break
                            }
                        })
}
}
</code>```

But when i run it nothing happens. The placeholder remains as it is when the user taps on the TextField box. So i just changed this line

```<code>self.$password.wrappedValue = ""
</code>```

to this

```<code>self.$password.wrappedValue = " "
</code>```

and it worked. So the answer i found in stackoverflow was wrong although everyone voted up for it so i thought it should work for me as well. Moreover the weird thing is that although i enter a space to work i do not see any spaces in my TextField and everything works great.

...but i want to understand what is going on behind the scenes.

Is there any logic explanation behind all this? Any help appreciated.

Body:
I am trying to remove the placeholder from a textfield in SwiftUI when user taps on the textfield. So as suggested in stackoverflow i used the following code.

import Foundation
import SwiftUI
import ApplicationCore

struct StartUpScreen: View {

    @State var password = ""
    @State var passwordPlaceholder = "Enter Password"

    var body: some View {
                        TextField(self.$passwordPlaceholder.wrappedValue, text: $password, onEditingChanged: { (changed) in
                            print("Password onEditingChanged - \(changed)")
                            switch changed {
                            case true:
                                self.$passwordPlaceholder.wrappedValue
                                = self.$password.wrappedValue
                                self.$password.wrappedValue = ""
                            case false:
                                break
                            }
                        })
}
}

But when i run it nothing happens. The placeholder remains as it is when the user taps on the TextField box. So i just changed this line

self.$password.wrappedValue = ""

to this

self.$password.wrappedValue = " "

and it worked. So the answer i found in stackoverflow was wrong although everyone voted up for it so i thought it should work for me as well. Moreover the weird thing is that although i enter a space to work i do not see any spaces in my TextField and everything works great.

...but i want to understand what is going on behind the scenes.

Is there any logic explanation behind all this? Any help appreciated.


问:
A React component overwrites its content if it is in a mapping function
I have a component to upload a file to the server. The component accepts the path of the local file. The component sends a request to generate a unique url where to upload the image. Then it uploads the file to that url.

export default function MediaUploaderProcess(props) {
  const [loadUrl, {loading, error}] = useLazyQuery(GetMediaUploadUrlDocument);

  useEffect(() => {
    loadUrl().then(data => {
      const options = {
        url: data.getMediaUploadUrl,
        path: props.filePath,
      };
      Upload.startUpload(options);
      // ...
    });
  }, [])

  if (!loading && error) {
    return <Text>Init media url error</Text>;
  }

  return (
    <View>
      {error ? <Text>Upload error</Text> : null}
      {loading ? <Text>Uploading</Text> : null}
    </View>
  );
}

```
<p>Everything works fine if I use the component once.</p>
<pre class="lang-js prettyprint-override"><code>export function HomeScreen() {
  return (
    <View>
      <MediaUploaderProcess filePath={'./../file.jpg'} />
    </View>
  );
}
</code>```

But if I use a given component in the map function, it does not generate a different upload address for each component, but it is the same for all of them.

It looks like he sent the request with one and all the others used the same one. Or everything gets overwritten and they all use the last one generated.

export function HomeSubscribedScreen() {
  const localeFiles = ['../../file.png', '../gile2.png'];
  return (
    <ScrollView>
      {localeFiles.map(localeFile => {
        // Same URL to upload for all child component
        return <MediaUploaderProcess filePath={localeFile} key={localeFile} />;
      })}
    </ScrollView>
  );
}

How to please make each child component have its unique state?

Thank you!
```

Body:
I have a component to upload a file to the server. The component accepts the path of the local file. The component sends a request to generate a unique url where to upload the image. Then it uploads the file to that url.

export default function MediaUploaderProcess(props) {
  const [loadUrl, {loading, error}] = useLazyQuery(GetMediaUploadUrlDocument);

  useEffect(() => {
    loadUrl().then(data => {
      const options = {
        url: data.getMediaUploadUrl,
        path: props.filePath,
      };
      Upload.startUpload(options);
      // ...
    });
  }, [])

  if (!loading && error) {
    return <Text>Init media url error</Text>;
  }

  return (
    <View>
      {error ? <Text>Upload error</Text> : null}
      {loading ? <Text>Uploading</Text> : null}
    </View>
  );
}

Everything works fine if I use the component once.

export function HomeScreen() {
  return (
    <View>
      <MediaUploaderProcess filePath={'./../file.jpg'} />
    </View>
  );
}

But if I use a given component in the map function, it does not generate a different upload address for each component, but it is the same for all of them.

It looks like he sent the request with one and all the others used the same one. Or everything gets overwritten and they all use the last one generated.

export function HomeSubscribedScreen() {
  const localeFiles = ['../../file.png', '../gile2.png'];
  return (
    <ScrollView>
      {localeFiles.map(localeFile => {
        // Same URL to upload for all child component
        return <MediaUploaderProcess filePath={localeFile} key={localeFile} />;
      })}
    </ScrollView>
  );
}

How to please make each child component have its unique state?

Thank you!


问:
I had a runtime error when am trying to run an android studio code about resource extraction
This is the error when I run the code -> Can not extract resource from com.android.aaptcompiler.ParsedResource@16fb6dec.

I have tried to edit the strings.xml file, changing string values, but when I rerun the code, I still get the same error
I also followed the steps posted by previous but it doesn't work out for me.


问:
Concept for any noexcept invocable with any number of parameters
I am trying to use a Concept to constrain a template parameter to only allow invocables that are noexcept.

E.g.:

```<code>template<NoExceptFunc Fn>
void foo(Fn invocable) noexcept {
  invocable();
}
</code>```

The difficulty I have is that the invocable should be any type of invocable (free function, lambda, ...) and allow any number of parameters.

EDIT: Thanks to How can unspecified types be used in C++20 'requires' expressions?, I understand this is not possible to do in the general case, you need to know what invocable actually is, and then can constraint that.

Still, even when I know what invocable actually is, I do not know how to express the contrain, see below.

The following

```<code>template <typename T, typename... Args>
concept NoExceptFunc = requires(T &&f, Args &&...args) { requires noexcept(f(args...)); };
</code>```

works, but requires that the arguments types be explicitly given, e.g.:

```<code>template<NoExceptFunc<int, int> Fn>
void foo(Fn invocable) noexcept {
  invocable(0, 1);
}
</code>```

The problem is that I do not know how to specify the parameters in the following case:

```<code>template <NoExceptFunc<??> Fn>
void foo(Fn f) noexcept {
    f(1);
    f("hello", "world");
}

int main() {
    auto lambda = [](auto&& a, auto&&... rest) {
        std::cout << a;
        if constexpr(sizeof...(rest) != 0) {
            std::cout << (rest << ...);
        }
        std::cout << std::endl;
    };

    foo(lambda);
}

</code>```

How can I say that the parameters can be <int> OR <const char*, const char*>?

Body:
I am trying to use a Concept to constrain a template parameter to only allow invocables that are noexcept.

E.g.:

template<NoExceptFunc Fn>
void foo(Fn invocable) noexcept {
  invocable();
}

The difficulty I have is that the invocable should be any type of invocable (free function, lambda, ...) and allow any number of parameters.

EDIT: Thanks to How can unspecified types be used in C++20 'requires' expressions?, I understand this is not possible to do in the general case, you need to know what invocable actually is, and then can constraint that.

Still, even when I know what invocable actually is, I do not know how to express the contrain, see below.

The following

template <typename T, typename... Args>
concept NoExceptFunc = requires(T &&f, Args &&...args) { requires noexcept(f(args...)); };

works, but requires that the arguments types be explicitly given, e.g.:

template<NoExceptFunc<int, int> Fn>
void foo(Fn invocable) noexcept {
  invocable(0, 1);
}

The problem is that I do not know how to specify the parameters in the following case:

template <NoExceptFunc<??> Fn>
void foo(Fn f) noexcept {
    f(1);
    f("hello", "world");
}

int main() {
    auto lambda = [](auto&& a, auto&&... rest) {
        std::cout << a;
        if constexpr(sizeof...(rest) != 0) {
            std::cout << (rest << ...);
        }
        std::cout << std::endl;
    };

    foo(lambda);
}

How can I say that the parameters can be <int> OR <const char*, const char*>?


问:
Stop gradle build gracefully, i.e. without an exception, from within the build script
Is it possible to stop a gradle build gracefully, meaning without throwing an exception? It is not

System.exit() as this kills the daemon

throw SomeException

Background: for occasional debugging I want to run some method after the build is set up and show some information, but then stop and don't actually run the build. Throwing an exception for some debugging situation is probably good enough, but without the exception it would be even nicer.


问:
JSEncrypt decrypt on back-end (Bash)
Please advice me on this issue.

It looks like JSEncrypt adds some random padding to the RSA-encrypted string, and thus I cannot decrypt it with openssl.

My JS code looks like this:

```<code>const rsaEncrypt = new window.JSEncrypt();
rsaEncrypt.setKey(
`-----BEGIN PUBLIC KEY-----
MIICITANBgkqhkiG9w0BAQEFAAOCAg4AMIICCQKCAgBNuSrpc+p9fd9I3qSa6+nC
HeNHfagAlCfJisM3eglbNN1yvY8U2DqtrYdPhukxSefo4iFMj65ngt+ZXLaLp6po
4VsGguQtqmQH9HC3I5FQk5YQTdtaLr8cQM8rHta0OEmJgGWfG2YndaFnxshuFgtW
AD9cdXPCh/RmGlhDdmR6xpBeMbvco6YOqyNGfxBRJqiZeINcVWmoEzHmqTlt/L7d
AcBHQA4erxsrfwie9POwgJptYYpwn1mamQ/a2/oDRnttaRayASlN2GRUkUeeI+hZ
zNe4eCrizXyEd7uL0JQ/h7T5qLj/5WNn/cCyi2X9VLllxLdRGauZ77NiB8KKVocb
i6BJM2gX/NszrBDsR/nyP1q0tLNalNE0IXiw0hsv6WamN2YvDfQtKm7Y4giAqhHY
Er7kwxR//OuNuf6Mb5YZVk8c1oZwIT0Vs9q6rlpcPLjpsWN769C+Pu4TP4Pmxh6n
zihPxWSnPLc4VegkpTzN+qix4cFgn6cYBIlvLg11NS0Vb+xKxtQroL67QWq0+LB0
5nS9ao4jxWFM80puWT813ThJ3vt/kIw5a1R9gNEuXW/zOwKQxfddvEO84YprVRRX
0TI2eZcjjBI0P6qJHkn1/B7rjZ7P0afDwCOS4K1vB0RHuP6tPwUI6nC+4R/+emfB
BHapRHdVpO8uotDNoaDhIQIDAQAB
-----END PUBLIC KEY-----`);
const rsaDecrypt = new window.JSEncrypt();
rsaDecrypt.setKey(
`-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----`
);
const encryptedKey = rsaEncrypt.encrypt(key);
console.log(rsaDecrypt.decrypt(encryptedKey));

</code>```

And the command I use to decrypt is this: (this is a command I use currently, but I've tried a million of different commands and none worked!)

openssl rsautl -in "$ENCRYPTED_FILE" -out "decrypted.txt" -inkey "private-key.pem"

I've been trying to solve this for 3 days purely, so any advice would be very very appreciated! I'm also open to using a different library that is compatible to be used with openssl.

Please help! Thanks in advance!

Title: JSEncrypt decrypt on back-end (Bash)

Body:
Please advice me on this issue.

It looks like JSEncrypt adds some random padding to the RSA-encrypted string, and thus I cannot decrypt it with openssl.

My JS code looks like this:

const rsaEncrypt = new window.JSEncrypt();
rsaEncrypt.setKey(
`-----BEGIN PUBLIC KEY-----
MIICITANBgkqhkiG9w0BAQEFAAOCAg4AMIICCQKCAgBNuSrpc+p9fd9I3qSa6+nC
HeNHfagAlCfJisM3eglbNN1yvY8U2DqtrYdPhukxSefo4iFMj65ngt+ZXLaLp6po
4VsGguQtqmQH9HC3I5FQk5YQTdtaLr8cQM8rHta0OEmJgGWfG2YndaFnxshuFgtW
AD9cdXPCh/RmGlhDdmR6xpBeMbvco6YOqyNGfxBRJqiZeINcVWmoEzHmqTlt/L7d
AcBHQA4erxsrfwie9POwgJptYYpwn1mamQ/a2/oDRnttaRayASlN2GRUkUeeI+hZ
zNe4eCrizXyEd7uL0JQ/h7T5qLj/5WNn/cCyi2X9VLllxLdRGauZ77NiB8KKVocb
i6BJM2gX/NszrBDsR/nyP1q0tLNalNE0IXiw0hsv6WamN2YvDfQtKm7Y4giAqhHY
Er7kwxR//OuNuf6Mb5YZVk8c1oZwIT0Vs9q6rlpcPLjpsWN769C+Pu4TP4Pmxh6n
zihPxWSnPLc4VegkpTzN+qix4cFgn6cYBIlvLg11NS0Vb+xKxtQroL67QWq0+LB0
5nS9ao4jxWFM80puWT813ThJ3vt/kIw5a1R9gNEuXW/zOwKQxfddvEO84YprVRRX
0TI2eZcjjBI0P6qJHkn1/B7rjZ7P0afDwCOS4K1vB0RHuP6tPwUI6nC+4R/+emfB
BHapRHdVpO8uotDNoaDhIQIDAQAB
-----END PUBLIC KEY-----`);
const rsaDecrypt = new window.JSEncrypt();
rsaDecrypt.setKey(
`-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----`
);
const encryptedKey = rsaEncrypt.encrypt(key);
console.log(rsaDecrypt.decrypt(encryptedKey));

And the command I use to decrypt is this: (this is a command I use currently, but I've tried a million of different commands and none worked!)

openssl rsautl -in "$ENCRYPTED_FILE" -out "decrypted.txt" -inkey "private-key.pem"

I've been trying to solve this for 3 days purely, so any advice would be very very appreciated! I'm also open to using a different library that is compatible to be used with openssl.

Please help! Thanks in advance!


问:
How to change default [resolve message] in prometheus-alertmanager?
Who can help me to change prometheus alertmanager default resolve message.
for example
{Firing message} + RESOLVED!

i try with templates, but didn't send message after template ...


问:
jUnit-Testing from another class
I simplified the problem.

I have 3 classes:

My operating class, which has just one static method (add) in it, which should add to ints:

```<code>    public class T{
        public static int add(int a, int b){
            return a+b;
        }
    }
</code>```

I am pretty sure, there is no error in this simple method. Here is my jUnit-Test:

```<code>import org.junit.*;
import static org.junit.Assert.*;
import junit.framework.TestCase;

public class MyJUnitTest extends TestCase{
    T t;
    public boolean test(){
       junit.framework.TestResult t = this.run();
       System.out.println(t.wasSuccessful());
       System.out.println(t.failures.nextElement());
       return t.wasSuccessful();
    }
    public void setUp() throws Exception {
       t = new T();
    }
    public void tearDown() throws Exception {
        t = null;
    }
    //@Test
    public void test1(){
        int[] vgl1 = new int[1];
        int[] vgl2 = new int[1];
        vgl1[0] = t.add(1,2);
        vgl2[0] = 3;
        Assert.assertArrayEquals("Test one", vgl1, vgl2);
    }
}
</code>```

Note: I test with Arrays, because in my not simplified Version of the problem, there are Arrays, which I have to test.

Here comes the problem, I cannot understand: If I run the Test in my IDE I get a success (till here, quite understandable), but if I run a third class with one static method:

```<code>public class A{
    public static void abc(){
        MyJUnitTest t = new MyJUnitTest();
        t.test();
    }
}
</code>```

I get a failureCount of one and wasSuccessful returns false. Also System.out.println(t.failures.nextElement()); prints null(MyJUnitTest): TestCase.fName cannot be null.

This is, what I cannot understand. The test should be successful!

Also I tried to use jUnit4, which means, I adapted my MyJUnitTest-Class. But doing so, I cannot call the run-Method. Is there an equivalent in jUnit4? In my IDE I can just click on "test All", but I need to make the Tests in another class an get the information, wheather all Test were successful.

Title: jUnit-Testing from another class

Body:
I simplified the problem.

I have 3 classes:

My operating class, which has just one static method (add) in it, which should add to ints:

    public class T{
        public static int add(int a, int b){
            return a+b;
        }
    }

I am pretty sure, there is no error in this simple method. Here is my jUnit-Test:

import org.junit.*;
import static org.junit.Assert.*;
import junit.framework.TestCase;

public class MyJUnitTest extends TestCase{
    T t;
    public boolean test(){
       junit.framework.TestResult t = this.run();
       System.out.println(t.wasSuccessful());
       System.out.println(t.failures.nextElement());
       return t.wasSuccessful();
    }
    public void setUp() throws Exception {
       t = new T();
    }
    public void tearDown() throws Exception {
        t = null;
    }
    //@Test
    public void test1(){
        int[] vgl1 = new int[1];
        int[] vgl2 = new int[1];
        vgl1[0] = t.add(1,2);
        vgl2[0] = 3;
        Assert.assertArrayEquals("Test one", vgl1, vgl2);
    }
}

Note: I test with Arrays, because in my not simplified Version of the problem, there are Arrays, which I have to test.

Here comes the problem, I cannot understand: If I run the Test in my IDE I get a success (till here, quite understandable), but if I run a third class with one static method:

public class A{
    public static void abc(){
        MyJUnitTest t = new MyJUnitTest();
        t.test();
    }
}

I get a failureCount of one and wasSuccessful returns false. Also System.out.println(t.failures.nextElement()); prints null(MyJUnitTest): TestCase.fName cannot be null.

This is, what I cannot understand. The test should be successful!

Also I tried to use jUnit4, which means, I adapted my MyJUnitTest-Class. But doing so, I cannot call the run-Method. Is there an equivalent in jUnit4? In my IDE I can just click on "test All", but I need to make the Tests in another class an get the information, wheather all Test were successful.


问:
I need to slice a lists column into 5 columns in pandas/spark dataframe
I have a spark dataframe with 3 columns

df = df.select("timestamp","outer_value","values")

current format

“Values” column contains lists of variable lengths (although in multiple of 5, so for instance 1st row might have 30 values, 2nd row might have 60 values…etc)

I want to split values column in such a way that – it takes first 5 values and puts it in 5 new columns and then next 5 values in the second row of the same 5 columns and so on
So lets say for above example 1st row of “values” column is a list of 15 elements and second row is a list of 20 and 3rd row is a list 10 elements than my dataframe should look something like this

desired format

Is there a better way to do this?

I tried F.slice by using something like this but this only works for fixed values assuming I take 60 as a fixed number for 12 slices of 5 each but I need it to be dividing the values column dynamically so it stops when there are no more list elements left.

code I tried

So instead of having 12 slices of 5 each, I need it to keep stacking up 5 values into 5 separate columns and then from 6th value onwards return to the 1st column and insert values 6-10 into the same 5 columns and keep doing this until each row list is finished.

Is there a better way to do it.


问:
Compiling webapp and spring boot together causes routing to not work
I have a spring boot and a angular application which is compiled together and when I start my spring boot application localhost:8080 I am first routed to the standard spring security login screen and if i log in I am on my angular login screen. But when I try to use my angular page for example click on the login button on my angular page (Static no authentification) I am routed back to a whitelable page (error page). How can I tell spring to only use my angular pages.

I do not know where to do the setting but I think it has to be done spring site not angular.


问:
React Native | Unable to start receiver com.google.android.finsky.instantapps.PhenotypeUpdateReceiver
Issue found in Google Play Store Pre-launch report the stack is below

```<code>FATAL EXCEPTION: main
Process: com.android.vending:instant_app_installer, PID: 19936
java.lang.RuntimeException: Unable to start receiver com.google.android.finsky.instantapps.PhenotypeUpdateReceiver: android.app.BackgroundServiceStartNotAllowedException: Not allowed to start service Intent { act=com.google.android.gms.phenotype.UPDATE cmp=com.android.vending/com.google.android.finsky.instantapps.PhenotypeUpdateService }: app is in background uid UidRecord{a4cce41 u0a137 TRNB bg:+7m30s209ms idle change:uncached procs:0 seq(0,0,0)}
</code>```

I tried to upload my app on google play store and this what happened

Body:
Issue found in Google Play Store Pre-launch report the stack is below

FATAL EXCEPTION: main
Process: com.android.vending:instant_app_installer, PID: 19936
java.lang.RuntimeException: Unable to start receiver com.google.android.finsky.instantapps.PhenotypeUpdateReceiver: android.app.BackgroundServiceStartNotAllowedException: Not allowed to start service Intent { act=com.google.android.gms.phenotype.UPDATE cmp=com.android.vending/com.google.android.finsky.instantapps.PhenotypeUpdateService }: app is in background uid UidRecord{a4cce41 u0a137 TRNB bg:+7m30s209ms idle change:uncached procs:0 seq(0,0,0)}

I tried to upload my app on google play store and this what happened


问:
How to use EntityState with Angulary 14 Class?
I want to notify my MVC Model from Angular Update request, about which property is changed, which property is modified or which property is deleted?

can anyone provide a better solution.

Angular Class:-

```<code>export class Customer {
    ID?:number;
    firstName!: string;
    lastName!: string;
    email!: string;
    emailConfirm!: string;
    status!:  EntityStatus.Added;
    Addresses!: Address[];
}
</code>```

MVC Model class:-

```<code> public partial class Customer
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public Customer()
        {
            this.Addresses = new HashSet<Address>();
        }

        public int ID { get; set; }
        public string firstName { get; set; }
        public string lastName { get; set; }
        public string email { get; set; }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<Address> Addresses { get; set; }
    }
</code>```

EntityState enum same for both Angular & MVC 5 Entity Framework :-

```<code>export enum EntityStatus{
        Detached = 1,
        Unchanged = 2,
        Added = 4,
        Deleted = 8,
        Modified = 16
}
</code>```

Body:
I want to notify my MVC Model from Angular Update request, about which property is changed, which property is modified or which property is deleted?

can anyone provide a better solution.

Angular Class:-

export class Customer {
    ID?:number;
    firstName!: string;
    lastName!: string;
    email!: string;
    emailConfirm!: string;
    status!:  EntityStatus.Added;
    Addresses!: Address[];
}

MVC Model class:-

 public partial class Customer
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public Customer()
        {
            this.Addresses = new HashSet<Address>();
        }

        public int ID { get; set; }
        public string firstName { get; set; }
        public string lastName { get; set; }
        public string email { get; set; }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<Address> Addresses { get; set; }
    }

EntityState enum same for both Angular & MVC 5 Entity Framework :-

export enum EntityStatus{
        Detached = 1,
        Unchanged = 2,
        Added = 4,
        Deleted = 8,
        Modified = 16
}


问:
CUDA tiled 2D Convolution in shared memory is slower than global memory
I performed two convolution using constant memory for mask.

One without tiling in global memory:

```<code>__global__ void constGradientConvolution(uint8_t* inputImgData, uint8_t* gradientImgData, int w, int h) {

    // Calculate the global thread positions
    int row = blockIdx.y * blockDim.y + threadIdx.y;
    int col = blockIdx.x * blockDim.x + threadIdx.x;

    // Starting index for calculation
    int start_r = row - SOBEL_OP_RADIUS;
    int start_c = col - SOBEL_OP_RADIUS;

    // Temp value for calculation
    int temp = 0;

    // Iterate over all the rows
    for (int i = 0; i < SOBEL_OP_DIM; i++) {
        // Go over each column
        for (int j = 0; j < SOBEL_OP_DIM; j++) {
            // Range check for rows
            if ((start_r + i) >= 0 && (start_r + i) < h) {
                // Range check for columns
                if ((start_c + j) >= 0 && (start_c + j) < w) {
                    // Accumulate result
                    temp += inputImgData[(start_r + i) * w + (start_c + j)] *
                        constMask[i * SOBEL_OP_DIM + j];
                }
            }
        }

    }
    // Write back the result
    gradientImgData[row * w + col] = (uint8_t)abs(temp);
}
</code>```

and one with tiling, loading in shared memory, credits to https://www.cstechera.com/2015/07/two-dimensional-2d-image-convolution-in-CUDA.html:

```<code>__global__ void tiledGradientConvolution(uint8_t* inputImgData, uint8_t* gradientImgData, int width, int height) {

    __shared__ uint8_t N_ds[SharedDim_y][SharedDim_x];

    // First batch loading
    int dest = threadIdx.y * TILE_WIDTH + threadIdx.x,
        destY = dest / SharedDim_x, destX = dest % SharedDim_x,
        srcY = blockIdx.y * TILE_HEIGHT + destY - SOBEL_OP_RADIUS,
        srcX = blockIdx.x * TILE_WIDTH + destX - SOBEL_OP_RADIUS,
        src = (srcY * width + srcX);
    if (srcY >= 0 && srcY < height && srcX >= 0 && srcX < width)
        N_ds[destY][destX] = inputImgData[src];
    else
        N_ds[destY][destX] = 0;

    for (int iter = 1; iter <= (SharedDim_x * SharedDim_y) / (TILE_WIDTH * TILE_HEIGHT); iter++)
    {
        // other batch loading
        dest = threadIdx.y * TILE_WIDTH + threadIdx.x + iter * (TILE_WIDTH * TILE_HEIGHT);
        destY = dest / SharedDim_x, destX = dest % SharedDim_x;
        srcY = blockIdx.y * TILE_HEIGHT + destY - SOBEL_OP_RADIUS;
        srcX = blockIdx.x * TILE_WIDTH + destX - SOBEL_OP_RADIUS;
        src = (srcY * width + srcX);
        if (destY < SharedDim_y && destX < SharedDim_x)
        {
            if (srcY >= 0 && srcY < height && srcX >= 0 && srcX < width)
                N_ds[destY][destX] = inputImgData[src];
            else
                N_ds[destY][destX] = 0;
        }
    }
    __syncthreads();

    int temp = 0;
    int y, x;
    for (y = 0; y < SOBEL_OP_DIM; y++)
        for (x = 0; x < SOBEL_OP_DIM; x++)
            temp += N_ds[threadIdx.y + y][threadIdx.x + x] * constMask[y * SOBEL_OP_DIM + x];
    y = blockIdx.y * TILE_HEIGHT + threadIdx.y;
    x = blockIdx.x * TILE_WIDTH + threadIdx.x;
    if (y < height && x < width) {
        gradientImgData[y * width + x] = (uint8_t)abs(temp);
    }
    __syncthreads();
}
</code>```

according to nvprof shared memory implementations is slower:

```<code>  Type  Time(%)      Time     Calls       Avg       Min       Max  Name
 GPU activities:   53.27%  387.52us         2  193.76us  190.70us  196.82us  [CUDA memcpy DtoH]
                   24.28%  176.62us         2  88.311us     608ns  176.01us  [CUDA memcpy HtoD]
                   11.56%  84.102us         1  84.102us  84.102us  84.102us tiledGradientConvolution(unsigned char*, unsigned char*, int, int)
                   10.90%  79.270us         1  79.270us  79.270us  79.270us  constGradientConvolution(unsigned char*, unsigned char*, int, int)
</code>```

this is the configuration kernel:

```<code>#define SOBEL_OP_DIM 3
#define SOBEL_OP_RADIUS (SOBEL_OP_DIM / 2)

// tile dimension
#define TILE_WIDTH 16
#define TILE_HEIGHT 16

// Allocate masks in constant memory
__constant__ int constMask[SOBEL_OP_DIM * SOBEL_OP_DIM];

// Shared Memory Elements needed to be loaded as per Mask Size
#define SharedDim_x (TILE_WIDTH + SOBEL_OP_DIM - 1)
#define SharedDim_y (TILE_HEIGHT + SOBEL_OP_DIM - 1)

// in main code//

dim3 dimBlock(TILE_WIDTH, TILE_HEIGHT);
dim3 dimGrid((test.w + TILE_WIDTH - 1) / TILE_WIDTH, (test.h + TILE_HEIGHT - 1) / TILE_HEIGHT);
</code>```

I expect shared memory to be faster, but i can figure out what cause conflincts in loading from global memory.

Any help would be appreciated. Thanks you in advance.

Body:
I performed two convolution using constant memory for mask.

One without tiling in global memory:

__global__ void constGradientConvolution(uint8_t* inputImgData, uint8_t* gradientImgData, int w, int h) {

    // Calculate the global thread positions
    int row = blockIdx.y * blockDim.y + threadIdx.y;
    int col = blockIdx.x * blockDim.x + threadIdx.x;

    // Starting index for calculation
    int start_r = row - SOBEL_OP_RADIUS;
    int start_c = col - SOBEL_OP_RADIUS;

    // Temp value for calculation
    int temp = 0;

    // Iterate over all the rows
    for (int i = 0; i < SOBEL_OP_DIM; i++) {
        // Go over each column
        for (int j = 0; j < SOBEL_OP_DIM; j++) {
            // Range check for rows
            if ((start_r + i) >= 0 && (start_r + i) < h) {
                // Range check for columns
                if ((start_c + j) >= 0 && (start_c + j) < w) {
                    // Accumulate result
                    temp += inputImgData[(start_r + i) * w + (start_c + j)] *
                        constMask[i * SOBEL_OP_DIM + j];
                }
            }
        }

    }
    // Write back the result
    gradientImgData[row * w + col] = (uint8_t)abs(temp);
}

and one with tiling, loading in shared memory, credits to https://www.cstechera.com/2015/07/two-dimensional-2d-image-convolution-in-CUDA.html:

__global__ void tiledGradientConvolution(uint8_t* inputImgData, uint8_t* gradientImgData, int width, int height) {

    __shared__ uint8_t N_ds[SharedDim_y][SharedDim_x];

    // First batch loading
    int dest = threadIdx.y * TILE_WIDTH + threadIdx.x,
        destY = dest / SharedDim_x, destX = dest % SharedDim_x,
        srcY = blockIdx.y * TILE_HEIGHT + destY - SOBEL_OP_RADIUS,
        srcX = blockIdx.x * TILE_WIDTH + destX - SOBEL_OP_RADIUS,
        src = (srcY * width + srcX);
    if (srcY >= 0 && srcY < height && srcX >= 0 && srcX < width)
        N_ds[destY][destX] = inputImgData[src];
    else
        N_ds[destY][destX] = 0;

    for (int iter = 1; iter <= (SharedDim_x * SharedDim_y) / (TILE_WIDTH * TILE_HEIGHT); iter++)
    {
        // other batch loading
        dest = threadIdx.y * TILE_WIDTH + threadIdx.x + iter * (TILE_WIDTH * TILE_HEIGHT);
        destY = dest / SharedDim_x, destX = dest % SharedDim_x;
        srcY = blockIdx.y * TILE_HEIGHT + destY - SOBEL_OP_RADIUS;
        srcX = blockIdx.x * TILE_WIDTH + destX - SOBEL_OP_RADIUS;
        src = (srcY * width + srcX);
        if (destY < SharedDim_y && destX < SharedDim_x)
        {
            if (srcY >= 0 && srcY < height && srcX >= 0 && srcX < width)
                N_ds[destY][destX] = inputImgData[src];
            else
                N_ds[destY][destX] = 0;
        }
    }
    __syncthreads();

    int temp = 0;
    int y, x;
    for (y = 0; y < SOBEL_OP_DIM; y++)
        for (x = 0; x < SOBEL_OP_DIM; x++)
            temp += N_ds[threadIdx.y + y][threadIdx.x + x] * constMask[y * SOBEL_OP_DIM + x];
    y = blockIdx.y * TILE_HEIGHT + threadIdx.y;
    x = blockIdx.x * TILE_WIDTH + threadIdx.x;
    if (y < height && x < width) {
        gradientImgData[y * width + x] = (uint8_t)abs(temp);
    }
    __syncthreads();
}

according to nvprof shared memory implementations is slower:

  Type  Time(%)      Time     Calls       Avg       Min       Max  Name
 GPU activities:   53.27%  387.52us         2  193.76us  190.70us  196.82us  [CUDA memcpy DtoH]
                   24.28%  176.62us         2  88.311us     608ns  176.01us  [CUDA memcpy HtoD]
                   11.56%  84.102us         1  84.102us  84.102us  84.102us tiledGradientConvolution(unsigned char*, unsigned char*, int, int)
                   10.90%  79.270us         1  79.270us  79.270us  79.270us  constGradientConvolution(unsigned char*, unsigned char*, int, int)

this is the configuration kernel:

#define SOBEL_OP_DIM 3
#define SOBEL_OP_RADIUS (SOBEL_OP_DIM / 2)

// tile dimension
#define TILE_WIDTH 16
#define TILE_HEIGHT 16

// Allocate masks in constant memory
__constant__ int constMask[SOBEL_OP_DIM * SOBEL_OP_DIM];

// Shared Memory Elements needed to be loaded as per Mask Size
#define SharedDim_x (TILE_WIDTH + SOBEL_OP_DIM - 1)
#define SharedDim_y (TILE_HEIGHT + SOBEL_OP_DIM - 1)

// in main code//

dim3 dimBlock(TILE_WIDTH, TILE_HEIGHT);
dim3 dimGrid((test.w + TILE_WIDTH - 1) / TILE_WIDTH, (test.h + TILE_HEIGHT - 1) / TILE_HEIGHT);

I expect shared memory to be faster, but i can figure out what cause conflincts in loading from global memory.

Any help would be appreciated. Thanks you in advance.


问:
3DES keys in AWS Cloud HSM
Im new to AWS HSM (but worked with many others)

is it possible to load 3DES key to the AWS Cloud HSM?

I saw you can generate but is it possible if already have my key

thanks

Title: 3DES keys in AWS Cloud HSM


问:
Kusto Query get total number of unique CVEs
I'm trying to create a Kusto Query to get the total number of unique CVEs viewed by Defender.

I think that is the information that is shown on the "Weaknesses" dashboard, but I would like to extract that in a query, but I'm new to Kusto Query and I'm not understanding how can I do that. Can anyone help me on how to build this query?

Thanks


问:
Use daplink with stm32
I bought CMSIS daplink with stm32f103c8 blue pill, and I'm using Keil microvision for programming stm32, when I try to download code to stm32, program shows error "no st link detected", can I fix this?</p>

Title: Use daplink with stm32


问:
go-pear.phar file error and unknown charachters
I want to install PEAR and I'm using PHP 8.1.0
I'm following this tutorial: https://pear.php.net/manual/en/installation.getting.php

The error is in the go-pear.phar file and I found it here: https://pear.php.net/go-pear.phar

And I have an error when I try:
php go-pear.phar
The error is:

Fatal error: Uncaught Error: Failed opening required 'phar://go-pear.phar/index.php' (include_path='.;C:\php\pear') in C:\wamp64\bin\php\php8.1.0\go-pear.phar:1284
Stack trace:
#0 {main}
thrown in C:\wamp64\bin\php\php8.1.0\go-pear.phar on line 1284

My line 1284 and the following ones are:

Does someone know what I can do or where I've to search to solve this problem?


问:
How to open particular screen when scheduled local notification is shown in Flutter?
I scheduled notification locally that will appear after some time. I close the app(completely) and notification appears. I press on notification and app opens normally(same as clicking app icon goes to homepage). I would like to open a specific page not home page when clicking on a notification.

I tried sending payload when clicking on notification(if payload is "this" navigate to specific page). But I only get payload data if app is already running. Is there a way to do this. I am using flutter local navigations plugin.