|
|
|
нереальный дедлок :)
|
|||
|---|---|---|---|
|
#18+
Есть кастомный Classloader, соответственно метод loadClass synchronized внутри него пишется что-то в лог. Далее при определенных обстоятельствах ловится дедлок, а именно: Первый в это время в синхронайзед блоке создает класс (в синхронайзед секции) и пытается залоггировать - ждет пока второй освободит лок (внутренний логгера - log4j). Второй поток зашел в секцию log.debug(...) получил внутренний лок логгера (тот который ждет первый поток) и дошел до: Код: java 1. 2. 3. ЗДЕСЬ ОН ПОЧЕМУ ТО ЖДЕТ RELEASE НА ЛОК КЛАССЛОАДЕРА! Как вообще это возможно? Как на строке (1) вообще какие-либо локи/мониторы могут захватываться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2017, 17:03 |
|
||
|
нереальный дедлок :)
|
|||
|---|---|---|---|
|
#18+
no56892соответственно метод loadClass synchronized Не понял откуда тут "соответственно"? no56892ЗДЕСЬ ОН ПОЧЕМУ ТО ЖДЕТ RELEASE НА ЛОК КЛАССЛОАДЕРА! Как вообще это возможно? Как на строке (1) вообще какие-либо локи/мониторы могут захватываться? Возможно там нарисовался новый класс и заблокировалось выполнение потому как заблокирована загрузка классов? Хотелось бы, конечно, дамп потоков посмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2017, 17:33 |
|
||
|
нереальный дедлок :)
|
|||
|---|---|---|---|
|
#18+
Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. Код com.ctc.wstx.exc.WstxException.toString http://grepcode.com/file/repo1.maven.org/maven2/org.codehaus.woodstox/wstx-asl/3.2.7/com/ctc/wstx/exc/WstxException.java#WstxException ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2017, 17:48 |
|
||
|
нереальный дедлок :)
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Хм, я так понял, в указанном коде: Код: java 1. 2. 3. только в случае если в методе getMessage() будут создаваться объекты и соответственно будет деадлок, логично, че :o). А я Х часов искал связь с локом класслоадера и строкой getClass().getName(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2017, 18:08 |
|
||
|
нереальный дедлок :)
|
|||
|---|---|---|---|
|
#18+
Вот интересное по теме. http://docs.oracle.com/javase/7/docs/technotes/guides/lang/cl-mt.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2017, 18:09 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39434990&tid=2122998]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
87ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 218ms |
| total: | 401ms |

| 0 / 0 |
