[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-17 Thread Robert Munteanu (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17493906#comment-17493906
 ] 

Robert Munteanu commented on SLING-10831:
-

I wonder if we could simply hand out new threads each time, maybe behind a 
configuration flag. This would definitely have no correctness implications, but 
on the other hand performance may be negatively impacted.

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-17 Thread Carsten Ziegeler (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17493902#comment-17493902
 ] 

Carsten Ziegeler commented on SLING-10831:
--

I think the problem with leftover thread locals is not necessary memory - but 
out of the sudden one request has access to objects of another request which 
can lead to all kinds of problems

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-17 Thread Robert Munteanu (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17493900#comment-17493900
 ] 

Robert Munteanu commented on SLING-10831:
-

[~olli] - yes, if they are dropping threads that does not help. But maybe it 
would help if we dropped threads after a number of executions and/or set time? 
This way any leftover thread locals would be dropped, just at a slower pace 
(and potentially too late to prevent an OOME ).

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-17 Thread Oliver Lietz (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17493894#comment-17493894
 ] 

Oliver Lietz commented on SLING-10831:
--

[~rombert], The goal of Tomcat's memory leak protection is AFAIU to free memory 
but we are trying also to mitigate bad user code (keeping data private). I 
haven't checked the Tomcat code but from the comments (from a decade ago) I 
understand they are dropping threads or even the whole thread pool which does 
not help in our case.

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-17 Thread Robert Munteanu (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17493859#comment-17493859
 ] 

Robert Munteanu commented on SLING-10831:
-

[~olli] - perhaps someone can investigate what Tomcat is doing - 
https://cwiki.apache.org/confluence/display/tomcat/MemoryLeakProtection . Not 
sure if their stuff works without {{--add-opens}}.

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-16 Thread Oliver Lietz (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17493466#comment-17493466
 ] 

Oliver Lietz commented on SLING-10831:
--

[~rombert], Fine so far. But we should have a strategy how to support JPMS in 
the future.

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-16 Thread Robert Munteanu (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17493354#comment-17493354
 ] 

Robert Munteanu commented on SLING-10831:
-

[~cziegeler] - I filed SLING-11149 for the logging part.
[~olli] - I see you filed issues for the improvements that you propose, so I 
guess nothing left to clarify here.

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-16 Thread Carsten Ziegeler (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17493240#comment-17493240
 ] 

Carsten Ziegeler commented on SLING-10831:
--

I agree that this is a last resort for bad code; however if developers really 
rely on it, not having this clean up will cause trouble.
Can we add a error log message each time this code does actually a clean up, so 
clients are aware of it and eventually fix their code?

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-16 Thread Oliver Lietz (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17493239#comment-17493239
 ] 

Oliver Lietz commented on SLING-10831:
--

[~rombert], I checked the code again, everything is already in place. We just 
have to fix the tests for Java 17.

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-15 Thread Robert Munteanu (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17492597#comment-17492597
 ] 

Robert Munteanu commented on SLING-10831:
-

[~olli]- all things being equal, I'd prefer that we have this feature in. But 
if that is not possible, we'll have to drop and document it, of course.

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-15 Thread Oliver Lietz (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17492596#comment-17492596
 ] 

Oliver Lietz commented on SLING-10831:
--

[~royteeuwen], The cleanup in Commons Threads is IMHO only a measure of last 
resort. Removing ThreadLocals must happen in application code (therefore I'm 
happy to drop the feature on unsupported runtimes with a big warning in 
documentation and logs).

[~rombert], I'm pretty sure it will not work on module path. Here the JPMS 
rules should be enforced.

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-15 Thread Robert Munteanu (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17492554#comment-17492554
 ] 

Robert Munteanu commented on SLING-10831:
-

I think that for now we are safe with {{--add-opens}} and the current Java 
versions. I am not sure whether the option will actually go away at some point.

ISTR that [~kpauls] said at some point that if we were to run on the module 
path via OSGi Connect/Felix Atomos this kind of problem would be solved. But I 
might be wrong as I don't know all that much about the problem.

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-15 Thread Roy Teeuwen (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17492529#comment-17492529
 ] 

Roy Teeuwen commented on SLING-10831:
-

Indeed, I can definitely vouch for that ThreadLocal's in applications I worked 
on using Sling did not clean themselves up, because we knew this cleaning was 
happening by this service. So it would be a big attention point if we had to 
now start doing that ourselves (and some refactorings of course)

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-15 Thread Robert Munteanu (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17492522#comment-17492522
 ] 

Robert Munteanu commented on SLING-10831:
-

The problem was in application code. I don't think we have those leaks, but 
sometimes users do. And yes, it was tampering with internals, but at the moment 
I don't see an alternative.

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-15 Thread Oliver Lietz (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17492521#comment-17492521
 ] 

Oliver Lietz commented on SLING-10831:
--

The JPMS should prevent exactly what we are doing in the cleaner – tampering 
around with internals. And it's the {{java.base}} module which we don't even 
own.

What was the original use case? Preventing memory leaks or "fixing" bad 
user/application code?

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-15 Thread Robert Munteanu (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17492501#comment-17492501
 ] 

Robert Munteanu commented on SLING-10831:
-

[~olli] - I think we should fix it, but I am not sure if it's possible. Users 
can manually add an {{--add-opens}} flag ( see SLING-11143 ) but that's not 
ideal.

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (SLING-10831) o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17

2022-02-15 Thread Oliver Lietz (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-10831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17492494#comment-17492494
 ] 

Oliver Lietz commented on SLING-10831:
--

[~rombert], Any plans to fix? Are we fine with just failing gracefully, 
dropping ThreadLocal cleanup on unsupported runtimes?

> o.a.s.commons.thread fails setting up ThreadLocal cleaner on Java 17
> 
>
> Key: SLING-10831
> URL: https://issues.apache.org/jira/browse/SLING-10831
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Robert Munteanu
>Priority: Major
> Fix For: Commons Threads 3.3.0
>
>
> When running the Sling Starter with Java 17, the following messages come up:
> {noformat}21.09.2021 11:13:54.247 *WARN* [sling-default-1] 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals 
> Could not set up thread local cleaner (most probably not a compliant JRE): {}
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> 21.09.2021 11:13:54.248 *ERROR* [sling-default-1] 
> org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception 
> in Thread Thread[sling-default-1,5,main]
> java.lang.ExceptionInInitializerError: null
> at 
> org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocals.beforeExecute(ThreadPoolExecutorCleaningThreadLocals.java:58)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals 
> accessible: module java.base does not "opens java.lang" to unnamed module 
> @6e04bc96
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at 
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.field(ThreadLocalCleaner.java:77)
>  [org.apache.sling.commons.threads:3.2.20]
> at 
> org.apache.sling.commons.threads.impl.ThreadLocalCleaner.(ThreadLocalCleaner.java:54)
>  [org.apache.sling.commons.threads:3.2.20]
> ... 4 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)