<html><body>
<p>Hello,<br>
<br>
I've recently updated my system to Mandriva 2006, and then I've update my AspectC++<br>
from 0.9.1 to 1.0pre1. Mainly, I only use the Puma library to parse some headers files to<br>
generate a custom CORBA idl files. With the old version it was working ok, but now I<br>
get segmentation faults parsing the files.<br>
<br>
I've tested the ccparser from the Puma/examples/ccparser directory with the same<br>
result.<br>
<br>
My test header file to parse is:<br>
<br>
// == IXaviText.h  ==== 8< ==================<br>
<br>
#ifndef __ITEST_H_<br>
#define __ITEST_H_<br>
<br>
typedef struct<br>
{<br>
   char     test1;<br>
   char     test2;<br>
   char     test3;<br>
   char     test4;<br>
   char     test5;<br>
} TCrbi18nRepresentation;<br>
<br>
class IXaviTest<br>
{<br>
public:<br>
  virtual ~IXaviTest(){};<br>
  virtual bool GetBasicRepresentation( const char * country, const char * lang, TCrbi18nRepresentation * repr ) = 0; <br>
  virtual bool SetBasicRepresentation( const char * country, const char * lang, TCrbi18nRepresentation repr ) = 0; <br>
};<br>
<br>
#endif<br>
<br>
// ==== 8< ==================<br>
<br>
Then I set my environment to generate core dumps when a segmentation fault occurs:<br>
<br>
<br>
$ ulimit -c unlimited<br>
<br>
$ ./ccparser IXaviTest.h<br>
Starting parse process...<br>
Segmentation fault (core dumped)<br>
<br>
$ gdb ./ccparser core.25204<br>
GNU gdb 6.3-5mdk (Mandriva Linux release 2006.0)<br>
Copyright 2004 Free Software Foundation, Inc.<br>
GDB is free software, covered by the GNU General Public License, and you are<br>
welcome to change it and/or distribute copies of it under certain conditions.<br>
Type "show copying" to see the conditions.<br>
There is absolutely no warranty for GDB.  Type "show warranty" for details.<br>
This GDB was configured as "i586-mandriva-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".<br>
<br>
Reading symbols from shared object read from target memory...done.<br>
Loaded system supplied DSO at 0xffffe000<br>
Core was generated by `./ccparser IXaviTest.h'.<br>
Program terminated with signal 11, Segmentation fault.<br>
<br>
warning: svr4_current_sos: Can't read pathname for load map: Error de entrada/salida<br>
<br>
Reading symbols from /usr/lib/libstdc++.so.6...done.<br>
Loaded symbols for /usr/lib/libstdc++.so.6<br>
Reading symbols from /lib/tls/libm.so.6...done.<br>
Loaded symbols for /lib/tls/libm.so.6<br>
Reading symbols from /lib/libgcc_s.so.1...done.<br>
Loaded symbols for /lib/libgcc_s.so.1<br>
Reading symbols from /lib/tls/libc.so.6...done.<br>
Loaded symbols for /lib/tls/libc.so.6<br>
Reading symbols from /lib/ld-linux.so.2...done.<br>
Loaded symbols for /lib/ld-linux.so.2<br>
#0  0x0806b8e7 in Puma::CT_List::CT_List$base ()<br>
(gdb) bt<br>
#0  0x0806b8e7 in Puma::CT_List::CT_List$base ()<br>
#1  0x080b58e5 in Puma::CBuilder::simple_name ()<br>
#2  0x080d7fcb in Puma::CSyntax::identifier ()<br>
#3  0x080a733e in Puma::CCSyntax::member_declarator ()<br>
#4  0x080d72e7 in Puma::CSyntax::member_declarator_list ()<br>
#5  0x080a2918 in Puma::CCSyntax::member_decl1 ()<br>
#6  0x080aa90f in Puma::TJP__ZN4Puma8CCSyntax11member_declEv_1::__action_func ()<br>
#7  0x080a2822 in Puma::CCSyntax::member_decl ()<br>
#8  0x080e011e in Puma::Syntax::catch_error<Puma::CSyntax> ()<br>
#9  0x080e036e in Puma::TJP__ZN4Puma7CSyntax11member_specEv_0::__action_func ()<br>
#10 0x080dd402 in Puma::CSyntax::member_spec ()<br>
#11 0x080a26d0 in Puma::CCSyntax::rule_class_spec ()<br>
#12 0x080a6edb in Puma::CCSyntax::class_spec ()<br>
#13 0x080d4466 in Puma::CSyntax::rule_type_spec ()<br>
#14 0x080da90b in Puma::CSyntax::type_spec ()<br>
#15 0x080da3a8 in Puma::CSyntax::rule_decl_spec ()<br>
#16 0x080da55b in Puma::CSyntax::decl_spec ()<br>
#17 0x080d4793 in Puma::CSyntax::decl_spec_seq1 ()<br>
#18 0x080dfa46 in Puma::TJP__ZN4Puma7CSyntax13decl_spec_seqEv_0::__action_func ()<br>
#19 0x080da692 in Puma::CSyntax::decl_spec_seq ()<br>
#20 0x080da2c6 in Puma::CSyntax::simple_decl ()<br>
#21 0x0809e8f1 in Puma::CCSyntax::simple_decl ()<br>
#22 0x080a5437 in Puma::CCSyntax::block_decl ()<br>
#23 0x080a52d0 in Puma::CCSyntax::decl ()<br>
#24 0x080e011e in Puma::Syntax::catch_error<Puma::CSyntax> ()<br>
#25 0x080dd349 in Puma::CSyntax::decl_seq ()<br>
#26 0x080dfadc in Puma::TJP__ZN4Puma7CSyntax10trans_unitEv_0::__action_func ()<br>
#27 0x080d8281 in Puma::CSyntax::trans_unit ()<br>
#28 0x080f1cff in Puma::Syntax::run ()<br>
#29 0x080f5acd in Puma::Parser::parse ()<br>
#30 0x0804e389 in Puma::CCParser::parse (this=0xbfab4ee4, u=@0x818d9e8, p=@0xbfac6348, m=0)<br>
    at /home/jorge/cvs-sgd/develop/Electronica/Soft/Genesis/contrib/ac-1.0pre1/Puma/gen-release/step1/inc/Puma/CCParser.h:51<br>
#31 0x0804b855 in run (argc=2, argv=0xbfac6584) at ccparser.cc:112<br>
#32 0x0804bd12 in main (argc=2, argv=0xbfac6584) at ccparser.cc:150<br>
(gdb)<br>
<br>
<br>
Any help is welcome! <br>
<br>
Best regards,<br>
Jorge<br>
</body></html>