Crash sous solaris : bug du compilo ? - C++ - Programmation
Marsh Posté le 29-07-2005 à 15:41:35
Compilo utilise :
CC: Sun C++ 5.5 Patch 113817-06 2004/01/29
Marsh Posté le 29-07-2005 à 15:43:33
Note additionnelle :
Quand j'essaie d'afficher occTermImpl->occNetImpl() avec workshop, il me sort :
dbx: error when looking for virtual function bndOccTermImpl::occNetImpl
Marsh Posté le 29-07-2005 à 19:49:36
Oui, illegal opcode...
p-ê une option de compilation qui n'est pas correcte, (compilé pour ultra, exécuté sur sparcstation, par ex.).
Marsh Posté le 29-07-2005 à 19:58:51
t'as essayé la technique bateau de rajouter des cout << typeid(*machin).name() ? parce qu'avec gcc-2.9x, y avait des merdes, des fois le type de l'objet était pas le bon
Marsh Posté le 29-07-2005 à 20:31:47
ReplyMarsh Posté le 29-07-2005 à 20:32:53
ReplyMarsh Posté le 29-07-2005 à 20:34:57
Taz a écrit : t'as essayé la technique bateau de rajouter des cout << typeid(*machin).name() ? parce qu'avec gcc-2.9x, y avait des merdes, des fois le type de l'objet était pas le bon |
J'ai vérifier que mon objet occTermImpl était correct via son contenu, c'était bien un bndOccTermImpl et pas un bndOccTermExpandedImpl a priori, mais j'ai pas teste via typeid(*machin).name(), je jetterai un oeil si c'est pas résolu à mon retour de vacances dans 3 semaines
Marsh Posté le 30-07-2005 à 08:24:33
joce a écrit : Note additionnelle : |
Ben c'est plutôt clair: il y a une couille dans votre steak qui fait que vous avez corrompu quelque part votre code. Ca peut autant venir d'un dépassement en écriture, d'un problème d'alignement, de pointeur invalide, ... Si votre programme est trop gros pour un simple examen à l'oeil, soit vous avez purify et il devrait vous trouver le problème comme un grand, soit il faut vous démerder pour reproduire le bug en amont et dichotomiser votre code jusqu'à trouver l'instruction coupable.
Marsh Posté le 30-07-2005 à 16:07:07
nop, j'ai pas eu l'occaz de faire un build linux pour voir, de toute façon le plus simple sera de passer un coup de purify pour avoir une idée
Marsh Posté le 30-07-2005 à 21:03:21
Je sais pas si gcc est installé sur les machines sous sparc / solaris
Marsh Posté le 29-07-2005 à 15:39:14
Hello j'ai un petit soucis avec mon programme :
il crash avec le message suivant dans le debuggueur :
t@1 (l@1) signal ILL (illegal opcode) in (unknown) at 0xfd159adc
0xfd159adc: __1cDstdZ__RTTI__1nDstdJbad_alloc__ : unimp 0x24
Current function is bndBinder::connectTermToExpandedInst
(dbx) cont
t@1 (l@1) signal ILL (illegal opcode) in (unknown) at 0xfd159adc
0xfd159adc: __1cDstdZ__RTTI__1nDstdJbad_alloc__ : unimp 0x24
Current function is bndBinder::connectTermToExpandedInst
(dbx) cont -sig 4
t@1 (l@1) signal ILL (Illegal Instruction) in __sigprocmask at 0xfcf591f0
0xfcf591f0: __sigprocmask+0x0008: retl
la ligne qui cree l'erreur :
occTermImpl est non nul et parfaitement valide.
il est reellement de type bndOccTermImpl*, et pas bndOccTermExpandedImpl*.
Les classes utilisees :
J'ai rate quelque chose