|
|
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Подскажите, куда копать? Крутиться 70 потоков записи в Oracle. Периодически валятся ошибки access violation at address in module OraOCIEI12.dll При 10 потоках все хорошо, но это не точно)) Последовательность записи такая Код: pascal 1. 2. 3. 4. 5. 6. 7. Ошибка на OracleSession.LogOn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 10:05 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
Каждый поток должен иметь свою собственную сессию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 10:10 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
cptngrb, у вас достаточно простой пример. проверьте его в ODAC и FireDAC. если AV только в DOA, то Oracle тут ни при чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 10:11 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
b0rk, точно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 10:14 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
JaDi, так и есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 10:14 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
cptngrbПодскажите, куда копать? Call Stack. И посмотреть в исходниках как инициализируется Environment: там должен быть флаг для поддержки многопоточности OCI_THREADED и не должно быть OCI_NO_MUTEX. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 12:38 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, спасибо, но посмотрел с самого начала! Кстати, если поменять порядок, то ошибок нет... блин забыл про SetVariable Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. если так, то нормально, вроде, но не точно ))) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Интересно, почему сначала надо делать LogOn? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 13:01 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
cptngrbпосмотрел с самого начала! Куда? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 13:05 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Oracle.pas, где выставляются OCI_THREADED и OCI_NO_MUTEX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 13:17 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
вернее когда выставляешь у OracleSession.ThreadSafe:=True ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 13:18 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
cptngrbвыставляются OCI_THREADED и OCI_NO_MUTEX. Во-первых, я сказал, что OCI_NO_MUTEX быть не должно . Во-вторых, я сказал смотреть Call Stack. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 13:21 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
Что плохого в OCI_NO_MUTEX, если один экземляр Environment используется только одним потоком ... Если ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 13:32 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, в Oracle.pas: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Как вы и сказали, а со стеком беда. При большом кол-ве потоков (>100) IDE под дебагером виснет. А AQTime, eurekalog и т.д. нет. Я ищу, стараюсь... не бейте сильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 13:36 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefievесли один экземляр Environment используется только одним потоком ... Если ... Вот именно: если. Если UseSingleEnvironment не установлено, если ThreadSafe установлено, причём вовремя, если аффтар не скармливает левых указателей. Но он даже текст ошибки привёл только наполовину. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 13:43 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
При возникновении ошибка в утечках появляется TSessionPreferences х 2(3 или 4) Полный текст ошибки: Access violation at address 00007FFB70A2D69D in module 'OraOCIEI12.dll'. Read of address 00000000000000D8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 13:58 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
UseSingleEnvironment = false ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 14:08 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
cptngrbRead of address 00000000000000D8 Ну вот и ответ: ищи кто и куда скармливает nil вместо объекта. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 14:21 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, ага, уже пару дней ищу, вот и решил у вас спросить, что и как ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 14:31 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
cptngrbуже пару дней ищу, вот и решил у вас спросить, что и как Call Stack - незаменимая вещь. Найди способ его получить. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2018, 14:54 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
не прошло и три года... вот что получилось если я правильно понял, то последняя "хорошая" процедура OracleQuery.Parse. В ней процедура UTF8Client , которая находится в Oracle.pas: Код: pascal 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. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. А уже в ней процедура из System.pas _UStrClr Код: pascal 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. 40. 41. 42. 43. 44. 45. 46. 47. Получает пустое значение и валиться с ошибкой. На какие мысли это вас может натолкнуть? Ткните носом, а ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2018, 16:44 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
cptngrbНа какие мысли это вас может натолкнуть? FastMM + FullDebugMode. DrMemory. Или у тебя стек не тот или память где-то портится. На всякий случай проверь значение self в TOracleQuery.Parse этого стэка. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2018, 18:08 |
|
||
|
access violation at address in module OraOCIEI12.dll при большом кол-ве потоков
|
|||
|---|---|---|---|
|
#18+
Если в коде есть несинхронные объекты, доступ к которым есть из нескольких потоков, и которые меняются -- стек и дебаг не поможет -- они будут вылетать/останавливаться в рандомных местах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2018, 21:24 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39667685&tid=2040676]: |
0ms |
get settings: |
4ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 348ms |

| 0 / 0 |
