项目

一般

简介

aasv9,httplog 访问日志打印线程异常导致 httphandler 线程阻塞的问题

由 she sh 在 大约 20 小时 之前添加

详细内容见附件,修复补丁见附件 jar 包,2023 年以前的版本可能出现此问题,例如 sp7


"HTTPHandler-195-323" #323 prio=5 os_prio=0 tid=0x0000fffbc00e0000 nid=0x3cee2c in Object.wait() [0x0000fff9965fd000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000001e01e6710> (a com.apusic.web.http.HttpLogger)
    at java.lang.Object.wait(Object.java:502)
    at com.apusic.web.http.HttpLogger.log(HttpLogger.java:85)
    - locked <0x00000001e01e6710> (a com.apusic.web.http.HttpLogger)
    at com.apusic.web.http.ConnectionManager.logRequest(ConnectionManager.java:100)
    at com.apusic.web.http.ConnectionHandler.postProcessConnection(ConnectionHandler.java:349)
    at com.apusic.web.http.ConnectionHandler.processConnection(ConnectionHandler.java:153)
    at com.apusic.web.http.ConnectionHandler.run(ConnectionHandler.java:52)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"HTTPHandler-194-322" #322 prio=5 os_prio=0 tid=0x0000fffba4033800 nid=0x3cee2b in Object.wait() [0x0000fff9966fd000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000001e01e6710> (a com.apusic.web.http.HttpLogger)
    at java.lang.Object.wait(Object.java:502)
    at com.apusic.web.http.HttpLogger.log(HttpLogger.java:85)
    - locked <0x00000001e01e6710> (a com.apusic.web.http.HttpLogger)
    at com.apusic.web.http.ConnectionManager.logRequest(ConnectionManager.java:100)
    at com.apusic.web.http.ConnectionHandler.postProcessConnection(ConnectionHandler.java:349)
    at com.apusic.web.http.ConnectionHandler.processConnection(ConnectionHandler.java:153)
    at com.apusic.web.http.ConnectionHandler.run(ConnectionHandler.java:52)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)