Você está na página 1de 2

Boletim Tcnico

Banco de Dados (Site Belo-Horizonte) 03/2013



Erro - $210D e $2501

Os erros $210D e $2501 so decorrentes de conflitos na alocao de recursos de memria pelo Windows. Nas verses XP
e Vista o endereamento padro para o BDE era bastante e no havia necessidade de realizar maiores ajustes no BDE
para utilizar vrias instancias do BDE simultaneamente sem que houvesse conflitos nos recursos alocados.

Vemos, porm que nas ltimas verses do Windows o comportamento foi alterado, havendo necessidade de realizar
modificaes dos parmetros SHAREDMEMLOCATE e SHAREDMEMSIZE, definindo endereamento de memria que no
esteja sendo utilizado pelo OS.Em muitos casos, no entanto, possvel ajustar as configuraes do BDE para contornar o
problema com conflitos de memria. Algumas solues provveis so:

Altere no BDE o parmetro memsize para 205.

Soluo 1:
Nas configuraes do BDE, acessar o parmetro SYSTEM > INIT > SHAREDMEMLOCATE e modific-lo para 5BDE. Salve a
alterao e faa o teste de uso de aplicaes simultaneamente abertas.

Soluo 2:
Nas configuraes do BDE, acessar o parmetro SYSTEM > INIT > SHAREDMEMSIZE e modific-lo 4096.
Salve a alterao e faa o teste de uso de aplicaes simultaneamente abertas.

Soluo3:
Nas configuraes do BDE, acessar o parmetro SYSTEM > INIT > SHAREDMEMLOCATE e modific-lo para 05BDE.Acesse
o parmetro SYSTEM > INIT > SHAREDMEMSIZE e modifique-o 4096.Salve as alteraes e faa o teste de uso de
aplicaes simultaneamente abertas.

Soluo4:
Nas configuraes do BDE, acessar o parmetro SYSTEM > INIT > SHAREDMEMLOCATE e modific-lo para 06BDE.Acesse
o parmetro SYSTEM > INIT > SHAREDMEMSIZE e modifique-o 8192.Salve as alteraes e faa o teste de uso de
aplicaes simultaneamente abertas.

Para esta soluo tambm so vlidos os seguintes valores de SHAREDMEMLOCATE: 1000, 7000, 7F00, 2000, 3000, 4000,
5000, 6000,0x%BDE.
possvel ainda que seja necessrio remover ou desabilitar alguns drivers (de som, por exemplo) no Windows 7 e 2008
para resolver o problema, mas normalmente somente realocando o pool de memria usado pelo BDE atravs
SHAREDMEMLOCATION j ser suficiente.Reinicie a mquina aps as alteraes.

Soluo5:

Desabilitar o recurso ASLR.

Estudando o assunto e pesquisando na Internet descobrimos que e o que ocasiona os erros de shared memorydo BDE,
desde o Windows Vista, o recurso ASLR (Address Space Layout Randomization -
http://en.wikipedia.org/wiki/Address_space_layout_randomization). Esse mecanismo tem como objetivo gerar uma
aleatoriedade para os endereos de carga de EXEs e DLLs especialmente marcados (com o bit ASLR). Com isso aumenta-se
assim a segurana do SO, pois diminui a probabilidade de um atacante adivinhar onde as reas importantes de memria
esto carregadas. O BDE (lembrando que a verso atual foi liberada l em 2001) configurado para alocar uma a rea de
memria compartilhada no endereo 6BDE (0x6BDE0000, para Windows NT e superiores). Essa rea coincide com a
regio utilizada pelo mecanismo de ASLR (acima de 0x50000000). Por isso os erros de conflito de memria
Boletim Tcnico

Banco de Dados (Site Belo-Horizonte) 03/2013
compartilhada.Para solucionar o problema voc poder desabilitar o ASLR da mquina atravs da criao da chave
MoveImages no caminho abaixo no registro:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Memory
Management]
"MoveImages"=dword:00000000

Outra alternativa para desabilitar o ASLR no Windows 7 a utilizao do Enhanced Mitigation Experience Toolkit v3.0 da
Microsoft. A criao da entrada de registro pode no desabilitar o recurso para este SO em alguns casos.

O software facilitar este procedimento.
http://www.microsoft.com/en-us/download/details.aspx?id=29851

A Microsoft no recomenda desabilitar o ASLR por conta do maior risco de contaminao por malwares, realando que foi
esse recurso que possibilitou maior segurana nos Windows a partir do Vista em diante e que o Hyper-V funciona bem
com o mesmo. (http://blogs.technet.com/b/virtualization/archive/2011/02/09/windows-7).

Você também pode gostar