ID do artigo: 298014 - Última revisão: quarta-feira, 5 de dezembro de 2007 - Revisão: 5.5 CORRECÇÃO: Um aplicativo COM + que usa a tabela de interface global (GIT) pode deadlock
importante Este artigo contém informações sobre como modificar o registro. Certifique-se de fazer backup do registro antes de modificá-lo. Certifique-se que você sabe como restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup, restaurar e modificar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft: 256986
(http://support.microsoft.com/kb/256986/
)
Descrição do registro do Microsoft Windows SintomasUm processo COM + pode parecer parar de responder (travar). Esse problema específico é raro. Você deve depurar o aplicativo totalmente diagnosticar o problema. Se você enfrentar esse problema, vários threads na apresentação processo ligue pilhas que envolvem o acesso à tabela interface global (GIT). Não é necessário que acessar o GIT explicitamente no seu código para experimentar este problema. Outro componente que você usar pode acessar o GIT. CausaEsse problema pode ocorrer se uma das seguintes condições for verdadeira:
Resolução Observação
Se você enfrentar esse problema em aplicativos do COM + que não usam objetos do Microsoft .NET System.EnterpriseServices.ServicedComponent , você pode usar um valor de registro que é chamado GipActivityBypass para resolver o problema. Para usar esse valor do registro no Microsoft Windows 2000, você deve primeiro instalar o Windows 2000 Service Pack 3 ou obter Microsoft COM + Hotfix Rollup 18.1. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft: 313582
(http://support.microsoft.com/kb/313582/
)
Disponibilidade do Windows 2000 Service Pack 2 COM + Hotfix Rollup Package 18.1 Para resolver esse problema, obtenha o service pack mais recente para o Windows 2000. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft: 260910
(http://support.microsoft.com/kb/260910/
)
Como obter o service pack mais recente do Windows 2000 Aviso Podem ocorrer sérios problemas se você modificar o registro incorretamente usando o Editor do registro ou usando outro método. Esses problemas podem exigir que você reinstale seu sistema operacional. A Microsoft não garante que esses problemas possam ser solucionados. Modificar o registro por sua própria conta e risco.Para ativar a correção no Windows 2000 ou no Windows XP, você deve criar esse valor do Registro adicionais: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\GipActivityBypass
Observação Esse valor do Registro permitirá chamadas para o método GetInterfaceFromGlobal para passar o bloqueio de atividade. Se um não gerenciado COM + aplicativo experiências travamentos quando ele chama o método RevokeInterfaceFromGlobal ou o método RegisterInterfaceInGlobal , contate o suporte da Microsoft. Como ContornarSe você enfrentar esse problema em aplicativos gerenciados do COM +, você pode aplicar o hotfix descrito no seguinte artigo da Base de dados de Conhecimento da Microsoft como solução temporária: 875503
(http://support.microsoft.com/kb/875503/
)
CORRECÇÃO: Lenta vazamentos de desempenho, deadlocks e a memória podem ocorrer quando aplicativos não chame o método Dispose em todas as instâncias da classe ServicedComponent no .NET Framework Como alternativa, como solução temporária, você pode usar um valor de registro que é chamado DisableAsyncFinalization.Observação Você só deve usar o valor de registro DisableAsyncFinalization como uma solução temporária enquanto estiver implementando a solução mencionada na seção "Resolução". Se você contar com o valor de registro DisableAsyncFinalization e você não use o método Dispose , você terão o uso de memória maior, desempenho reduzido e possíveis falhas do aplicativo. Para criar HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\System.EnterpriseServices\DisableAsyncFinalization registro valor no Windows XP ou no Windows 2000, execute estas etapas:
SituaçãoA Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a". Esse problema foi corrigido primeiro no Windows 2000 Service Pack 3. Mais InformaçõesNo exemplo a seguir, a pilha de chamada mostra um JScript coletor de lixo que tenta recuperar uma interface da tabela de interface global. Observação o quadro que contém ole32! CGIPTable::GetInterfaceFromGlobal . 02c3c2d0 77e8366e 00000002 02c3c2f8 00000001 ntdll!_ZwWaitForMultipleObjects@20+0xb 02c3c320 77e260f8 02c3c2f8 00000001 00000000 KERNEL32!WaitForMultipleObjectsEx+0xea 02c3c37c 68fd46f5 02c3c348 06180fd0 ffffffff USER32!MsgWaitForMultipleObjectsEx+0x153 02c3c3a4 68fd5b64 06180fd0 00000001 02c3c404 ole32!CCliModalLoop::BlockFn+0xf8 02c3c408 695378bc 00079048 ffffffff 00000001 ole32!CoWaitForMultipleHandles+0xe1 02c3c464 69537544 06180fa0 00000001 02c3c758 COMSVCS!?EnterActivity@CActivity@@UAGJHPAUICall@@@Z+0x1be 02c3c474 68fd21f7 06180f90 02c3c758 02c3c7b8 COMSVCS!?Enter@CActivity@@UAGJPAUICall@@@Z+0x14 02c3c4ac 68fd1f78 00000020 00000002 00000001 ole32!CPolicySet::DeliverEvents+0x1f6 02c3c538 68fc8d8e 02c3c758 00000002 02c3c7b8 ole32!CPolicySet::Notify+0x455 02c3c788 68fc8b18 02c3c878 1267104c 68fd9d69 ole32!EnterForCallback+0xe7 02c3c8a8 68fc89f3 1267104c 68fd9d69 0000f024 ole32!SwitchForCallback+0xfb 02c3c8d8 68fcf3fc 1267104c 68fd9d69 0000f024 ole32!PerformCallback+0x70 02c3c934 68fd9eab 00a31e68 68fd9d69 0000f024 ole32!CObjectContext::InternalContextCallback+0x10c 02c3c97c 6b745897 6909a990 0000f024 6b76f888 ole32!CGIPTable::GetInterfaceFromGlobal+0xc1 02c3c9a0 6b7456a0 00000000 00000002 0a5abfb0 jscript!GcContext::CallInContext+0x20 02c3c9c4 6b704f1a 00000002 00000194 0a5ff530 jscript!GcContext::Reclaim+0xba 02c3c9dc 6b729eb8 0a608d88 0a62c008 6b729cae jscript!GcContext::Collect+0xbe 02c3c9e8 6b729cae 77e8357b 0a5ff648 6b72a08e jscript!GcContext::ExhaustiveCollect+0x1a 02c3ca08 6b7329bf 0a5ff530 00000001 0a608d88 jscript!CSession::Close+0x12c 02c3ca18 682fb8f4 0a5ff530 00000000 0a608d88 jscript!COleScript::SetScriptState+0x105 02c3ca28 682fb6b8 0a5cfed8 682fea19 02c3ccac scrobj!ScriptEngine::Close+0x14 02c3ca30 682fea19 02c3ccac 0a5cfed4 00000000 scrobj!ScriptEngine::~ScriptEngine+0x8 02c3ca44 682fe778 127b0fa0 02c3d4ac 00400000 scrobj!ComScriptlet::Inner::~Inner+0x79 02c3ca54 6830562d 0a5cfed0 7c0183c2 0a5e38b0 scrobj!ComScriptlet::Release+0x28 02c3ca5c 7c0183c2 0a5e38b0 68fc8db8 042dfe7c scrobj!ComDexHandler::Inner::Release+0xd 02c3ca64 68fc8db8 042dfe7c 00a30ef4 10b5140c msjava!RemoteReleaseCallback+0xd 02c3ccac 68fc8bb9 02c3cd9c 10b5140c 7c0183b5 ole32!EnterForCallback+0x111 02c3cdcc 68fec807 00079048 7c0183b5 042dfe7c ole32!SwitchForCallback+0x19c 02c3ce00 77d445e0 02c70ff8 00000000 02020202 ole32!CRemoteUnknown::DoCallback+0x72 036ded74 77f7f49f 77e74bd8 00000001 036dedc0 SharedUserData!SystemCallStub+0x4 036ded78 77e74bd8 00000001 036dedc0 00000001 ntdll!NtWaitForMultipleObjects+0xc 036dee14 77237ce4 00000001 042dd7dc 00000000 kernel32!WaitForMultipleObjectsEx+0x12c 036dee84 7575eb1d 00000000 ffffffff 00000001 ole32!CoWaitForMultipleHandles+0xe0 036deee0 7575e963 042dd790 00000001 036defb8 comsvcs!CActivity::EnterActivity+0x194 036deef0 77237287 042dd780 036defb8 036df070 comsvcs!CActivity::Enter+0x13 036def20 771d9c46 00000020 00000002 036df070 ole32!CPolicySet::DeliverEvents+0x1b4 036def98 77253c5a 036defb8 00000002 036df070 ole32!CPolicySet::Notify+0x31d 036defec 772543c7 00000000 042bede8 771cb6cd ole32!EnterForCallback+0xb3 036df144 77236722 036df024 771cb6cd 036df19c ole32!SwitchForCallback+0x19a 036df170 7722a047 042bede8 771cb6cd 036df19c ole32!PerformCallback+0x52 036df1a4 77201a4b 04284894 00000000 00090ec0 ole32!ReleaseMarshalObjRef+0x76 036df210 77237f23 036df228 000fefa0 00001b0c ole32!CoReleaseMarshalData+0x7b 036df24c 0377e50d 772b4618 00001b0c 032d2100 ole32!CGIPTable::RevokeInterfaceFromGlobal+0x1a1 036df294 03100971 0106281c 03103cea 032d2100 0x377e50d 036df2d4 79a87bfd 799b0983 036df300 000fefa0 0x3100971 036df2ec 7930a2a8 799b0908 0106281c 00000000 mscorlib_79960000+0x127bfd 036df318 792ad177 799b0908 0106281c 00000000 mscorwks!CTPMethodTable::CallTarget+0x4b 036df338 791b21e7 031f341c 00000000 00000000 mscorwks!CRemotingServices::CreateProxyOrObject+0x57 036df3a4 791b22a1 031f341c 03103c3f 00000002 mscorwks!JIT_NewCrossContextHelper+0x3b http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx
(http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx)
Para obter mais informações sobre como instalar o Windows 2000 e hotfixes do Windows 2000 ao mesmo tempo, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft: 249149
(http://support.microsoft.com/kb/249149/
)
Instalando os hotfixes do Microsoft Windows 2000 e Windows 2000 Para obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft: 824684
(http://support.microsoft.com/kb/824684/
)
Descrição da terminologia padrão que é usada para descrever as atualizações de software A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 298014
(http://support.microsoft.com/kb/298014/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesTraduções deste artigo |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar para o início