Lista dos Erros Mais Comuns e Suas Causas

Arquivo gerado durante o desenvolvimento do projeto Wonder


ERRO: Parada anormal na janela do orbixd. (UNKNOWN ERROR):
CAUSA: invocação de métodos em uma variável cujo valor era null no cliente.
ERRO: Null pointer exception durante a invocacao de metodos remotos passando sequences
CAUSA: passagem de sequences nao inicializados: variáveis do tipo sequence passadas como null.
SOLUÇÃO: Resolvemos o problema iniciando o sequence com tamanho zero.
ERRO: Ao darmos um bind para um servidor de uma determinada classe, dentro desta mesma classe, por exempl, um servidor do tipo X tenta criar outro servidor do tipo X, a OrbixWeb retorna uma referência para o servidor que invocou o bind (self reference). Deveria criar um novo servidor e retornar uma referência para este objeto.
CAUSA: Desconhecida
SOLUÇÃO: Criar um FACTORY (Um outro servidor registrado na orbix, de um tipo diferente) contendo os factory methods: operações que criam os servidores desejados, devolvendo referências para estes objetos. Criar o servidor a partir de invocações neste factory.
ERRO: org.omg.CORBA.UNKNOWN: remote exception - Unknown error. The server encountered a Java exception while dispatching the request - (unknown)
CAUSA: Passagem de uma referência a um servidor CORBA como null, seguido de uma posterior tentativa de invocação de métodos usando esta referência, no servidor que a obteve.
SOLUÇÃO: Checar se a referência é ou não nula antes de usa-la.
ERRO: org.omg.CORBA.UNKNOWN: remote exception - Unknown error. The server encountered a Java exception while dispatching the request - (unknown)
CAUSA: Tentativa de invocação de método em uma referência null no lado servidor
SOLUÇÃO: Fazer checagem de referências nulas antes de as utilizar.
ERRO: org.omg.CORBA.UNKNOWN: remote exception - Unknown error The server encountered a Java exception while dispatching the request - (unknown)
CAUSA: Passagem de um struct contendo campos null: ou o struct era null ou seus campos eram.
SOLUÇÃO: Preencher as variáveis do struct com instâncias vazias exemplo: "" para string, byte[0] para arrays, etc.
ERRO: Variable not initialized OR null variable
CAUSA: Redeclaração de uma mesma variável existente na classe pai. Desta forma, métodos da classe pai que, inicializam esta variável, não possuem efeito pois, na classe filha, a variável está inicializada como null (default do java).
SOLUÇÃO: Excluir a declaração da variável da classe derivada de forma a não sobrescrever (overrride) a declaração da superclasse.
ERRO: org.omg.CORBA.INV_OBJREF: remote exception - Invalid object reference
CAUSA: Tentativa de dar um bind num objeto de um tipo X usando um HELPER de um tipo Y.
ERRO: org.omg.CORBA.INV_OBJREF: remote exception - Invalid object reference
CAUSA: Tentativa de dar um bind num objeto do tipo X usando um marker qualquer, sem que o marker seja fornecido pelo Loader.class. O marker precisa ser consenso tanto do lado cliente quanto do lado servidor. Precisamos usar o Loader, registrando-o quando o objeto é criado.
ERRO: org.omg.CORBA.UNKNOWN: remote exception - Unknown error The server encountered a Java exception while dispatching the request - (unknown)
CAUSA: Erro durante a passagem de um tipo estruturado, contendo um dos atributos como sendo um tipo enumerado (enum), para o servidor.
SOLUÇÃO: Não usar o tipo enumerado, substituir por um string.
ERRO: Binder: Exception during binding to WorkflowManager at host: wonder
org.omg.CORBA.INV_OBJREF: remote exception - Invalid object reference
CAUSA: uso de Binder.bindDefaultWorkflowManager ao inves de Binder.bindLocalWorkflowManager. A mesma coisa vale para o Binder.WonderObjectFactory.
ERRO: Binder: Exception during binding to WorkflowObjectFactory org.omg.CORBA.INITIALIZE: Invalid operation OrbixWeb orb is not initialised, check ORB.init call minor code: 12256 completed: No
CAUSA: Tentativa de utilização da orb do OrbixWeb sem que esta estaja devidamente inicializada OU uso da ORB do JDK1.2 ao invés da OrbixWeb.
SOLUÇÃO: Inicializar o ORB ou rodar o programa usando JDK1.1 (através do wrapper owjava)
ERRO: Binder: Exception during binding to ActivityManager. org.omg.CORBA.COMM_FAILURE: wonder.pos.ic.unicamp.br/1570
CAUSA: Tentativa de criação de um servidor unshared usando um marker com comprimento maior que 59 caracteres na máquina wonder
SOLUÇÃO: Usar nomes menores :-))). O comprimento destes nomes parede depender da plataforma (solaris/NT), de acordocomo a versão da orbixweb.
ERRO: LOA: Error while serializing to file: ./WonderData/Loa/wonder,P,seqPC.loa
java.io.NotSerializableException: Wonder._CaseCoordinatorStub
CAUSA: Tentativa de serializar um objeto contendo um atributo não serializavel. No caso, uma referência a um objeto corba. Referências a objetos corba não são serializáveis já que os objetos não são locais.
SOLUÇÃO: Tornar o atributo do tipo servidor corba transient e armazenar, como alternativa, o nome do objeto, não a sua referência. Usar o nome do objeto para fazer um bind posterior, após o objeto ser lido da base de dados serializada.
ERRO: Servidor trava durante a invocação de um método remoto. O programa pára mas o daemon continua respondendo a invocações de psit por exemplo.
CAUSA: A variável usada para invocar o método não foi devidamente inicializada ou aponta para outro servidor.
SOLUÇÃO
: Iniciar a variável corretamente, possivelmente usando bind e obtendo a referência
desejada antes de inocar o método.
ERRO: DataResolver: wonder,M,seqPC,seqCC-0,act03-1: Error while gettind data !
org.omg.CORBA.UNKNOWN: remote exception - Unknown error
The server encountered a Java exception while dispatching the request - (unknown)
CAUSA: Envio de campos null dentro de um struct
SOLUÇÃO: Structs são mapeadas para Classes java, contendo seus respectivos atributos, pelo compilador IDL. Enviar objetos vazios ou strings de tamanho zero, mas não null.
ERRO: org.omg.CORBA.COMM_FAILURE do lado cliente.
CAUSA: provocado por excesso de carga na máquina: falta de recursos de memória ou swapp devido ao grande número de servidores carregados em paralelo.
SOLUÇÃO: Tratar a exceção e tentar a conexão, novamente, até conseguir usando o trecho de código semelhante ao descrito a seguir:


int retryTurn = 0;
do {

try {

// Não somente este mas para todos os servidores do wonder
server = LockManagerHelper.bind(":LockManagerSrv");

} catch (SystemException ex) {
System.out.println(ex.toString());

server = null;
retryTurn ++;
wait(waitTimeout);
}

} while (doRetry && (server == null) && (retryTurn < retryTimes));

ERRO: org.omg.CORBA.INTERNAL: remote exception - ORB internal error:

Internal Error in activator
Actual system exception is `(unknown)'
(please contact Iona Technologies)

CAUSA: O aplicativo utiliza excesso de CPU ou recursos da máquina o que a
impossibilita de atender requisições ou criar novos objetos.
 
 

Back to Wonder Page


Página atualizada em 17 de abril de 2000.