[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Erro no mico 2.3.5



Depois da aula de hoje, eu e a minha dupla resolvemos testar se também
dava aquele problema com o nosso ep para enviar um vetor de tamanho zero.
Para isso, rodamos listp com um PartRepository vazio. Vejam o que
aconteceu:

========================================================================
[tocantins:~/private/materias/MAC440/SOD/micoSOD]$ ./client -ORBInitRef
NameService=`cat /tmp/NS_Ref`

listp
Part Repository
client: /usr/include/mico/sequence.h:189: struct SOD::PartListItem *
SequenceTmpl<SOD::PartListItem,0>::get_buffer(unsigned char = 0):
Assertion `vec.size() > 0' failed.
Abortado
[tocantins:~/private/materias/MAC440/SOD/micoSOD]$
========================================================================

Sendo que "Part Repository" é o nome do nosso repositório de peças.
Como vocês podem observar, parece que, em sequence.h, tem um Assert para
verificar se o tamanho de um vetor recebido é maior que 0. Como não havia
nehuma peça no repositório, o tamanho do array retornado é 0, e o programa
é abortado.
Isso foi testado no mico da rede linux, cuja versão é 2.3.5.Não testei
isso no mico versão 2.3.6, mas, se o Rodrigo falou que esse problema é só
na versão 2.3.5, deve ser isso.
Eu e a minha dupla pretendemos deixar o ep assim, e entregaremos com uma
observação dizendo que ele não funciona corretamente na versão 2.3.5.

Flávia

_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3, filtro contra spam. 
http://br.mail.yahoo.com/