Re: Зависание в CoUninitialize
От: Vi2 Удмуртия http://www.adem.ru
Дата: 13.04.11 09:51
Оценка:
Здравствуйте, 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>Сталкивался ли кто-нибудь с подобным и как это можно побороть?

Посмотри здесь решение Бага в CoUninitialize
Автор: Коваленко Дмитрий
Дата: 18.09.06
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.