Re[2]: Зависание в CoUninitialize
От: Voinov Россия http://www.svoinov.ru
Дата: 14.04.11 11:43
Оценка:
Здравствуйте, Vi2, Вы писали:

Vi2>Здравствуйте, Voinov, Вы писали:


V>>Есть серверное приложение с кучей одинаковых потоков. В каждом потоке в начале вызывается CoInitialize, а в конце CoUninitialize. Сами потоки выполняют некоторые скрипты, где могут создаваться различные COM объекты. Изредка вызов CoUninitialize зависает и не даёт потоку нормально завершиться. При этом стек вызовов имеет такой вид:


V>>...

V>># 0x7769174C, CreateErrorInfo+3085, <no source info>, ole32
V>># 0x776BCE40, CoUninitialize+407, <no source info>, ole32
V>># 0x776BCDF2, CoUninitialize+329, <no source info>, ole32
V>># 0x00409AB1, ScriptThreadProc+577, scriptthread.cpp [.text+0x00008AB1] 94+0, surrogate

V>>Т.е. оно зависает в каком-то Sleep, вызываемом из NdrEncapsulatedUnionMarshall.

V>>Сталкивался ли кто-нибудь с подобным и как это можно побороть?

Vi2>Посмотри здесь решение Бага в CoUninitialize
Автор: Коваленко Дмитрий
Дата: 18.09.06


Спасибо, но к сожалению, не прокатило. Есть ещё идеи?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.