Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[ace-users] tao_idl core dump

0 views
Skip to first unread message

Liqun Na

unread,
Jul 29, 1998, 3:00:00 AM7/29/98
to
Hi,

tao_idl can be compiled successfully, but it can not work, except "tao_idl
-V".

ACE 4.5.24, TAO 0.1.41, Solaris 2.6, SPARCstation20, GNU g++ 2.8.1

the following is the information gdb display to me(using s and si
command). i thought maybe string operation error in ACE or maybe ACE/TAO
configuration error. it is highly appreciated if you could give some hints
about this.

Peter

--------------------------------

gdb tao_idl

(gdb) b driver/drv_preproc.cpp:226
Breakpoint 1 at 0x14fb8: file driver/drv_preproc.cpp, line 226.
(gdb) r
Starting program: /home/prj/corba/ACE_wrappers/TAO/TAO_IDL/tao_idl
warning: Lowest section in /usr/lib/libw.so.1 is .dynamic at 0x74

Breakpoint 1, DRV_pre_proc (myfile=0xb7538 "standard input")
at driver/drv_preproc.cpp:226
226 ACE_OS::strcpy (tmp_ifile, tmpdir);
(gdb) bt
#0 DRV_pre_proc (myfile=0xb7538 "standard input")
at driver/drv_preproc.cpp:226
#1 0x139b4 in DRV_drive (s=0xb7538 "standard input") at tao_idl.cpp:128
#2 0x13e08 in main (argc=1034240, argv=0xeffffa3c) at tao_idl.cpp:253
(gdb) list
221
222 const char* tmpdir = getenv("TMP");
223 if (tmpdir != 0)
224 {
225 ACE_OS::strcpy (tmp_file, tmpdir);
226 ACE_OS::strcpy (tmp_ifile, tmpdir);
227 }
228 else
229 {
230 ACE_OS::strcpy (tmp_file, ACE_DIRECTORY_SEPARATOR_STR_A);
(gdb) s

Program received signal SIGSEGV, Segmentation fault.
Cannot access memory at address 0x0.

(gdb) b driver/drv_preproc.cpp:226
Breakpoint 1 at 0x14fb8: file driver/drv_preproc.cpp, line 226.
(gdb) r
Starting program: /home/prj/corba/ACE_wrappers/TAO/TAO_IDL/tao_idl
warning: Lowest section in /usr/lib/libw.so.1 is .dynamic at 0x74

Breakpoint 1, DRV_pre_proc (myfile=0xb7538 "standard input")
at driver/drv_preproc.cpp:226
226 ACE_OS::strcpy (tmp_ifile, tmpdir);
(gdb) si
0x14fbc 226 ACE_OS::strcpy (tmp_ifile, tmpdir);
(gdb) si
0x15010 233 ACE_OS::strcat (tmp_ifile, "tmp");
(gdb) si
1157 return ::strcat (s, t);
(gdb) list
1152
1153 ACE_INLINE char *
1154 ACE_OS::strcat (char *s, const char *t)
1155 {
1156 // ACE_TRACE ("ACE_OS::strcat");
1157 return ::strcat (s, t);
1158 }
1159
1160 ACE_INLINE size_t
1161 ACE_OS::strcspn (const char *s, const char *reject)
(gdb) bt
#0 DRV_pre_proc (myfile=0xb7538 "standard input")
at /home/prj/corba/ACE_wrappers/ace/OS.i:1157
#1 0x139b4 in DRV_drive (s=0xb7538 "standard input") at tao_idl.cpp:128
#2 0x13e08 in main (argc=1034240, argv=0xeffffa3c) at tao_idl.cpp:253
(gdb) si
1155 {
(gdb) si
0x1501c 1155 {
(gdb) bt
#0 0x1501c in DRV_pre_proc (myfile=0xb7538 "standard input")
at /home/prj/corba/ACE_wrappers/ace/OS.i:1155
#1 0x139b4 in DRV_drive (s=0xb7538 "standard input") at tao_idl.cpp:128
#2 0x13e08 in main (argc=1034240, argv=0xeffffa3c) at tao_idl.cpp:253
(gdb) si
1157 return ::strcat (s, t);
(gdb) si
0x15024 1157 return ::strcat (s, t);
(gdb) list
1152
1153 ACE_INLINE char *
1154 ACE_OS::strcat (char *s, const char *t)
1155 {
1156 // ACE_TRACE ("ACE_OS::strcat");
1157 return ::strcat (s, t);
1158 }
1159
1160 ACE_INLINE size_t
1161 ACE_OS::strcspn (const char *s, const char *reject)
(gdb) bt
#0 0x15024 in DRV_pre_proc (myfile=0xb7538 "standard input")
at /home/prj/corba/ACE_wrappers/ace/OS.i:1157
#1 0x139b4 in DRV_drive (s=0xb7538 "standard input") at tao_idl.cpp:128
#2 0x13e08 in main (argc=1034240, argv=0xeffffa3c) at tao_idl.cpp:253
(gdb) si
0xffc10 in strcat ()
(gdb) si
0xffc14 in strcat ()
(gdb) si
0xffba4 in __DTOR_END__ ()
(gdb) si
0xffba8 in __DTOR_END__ ()
(gdb) si
0xffbac in __DTOR_END__ ()
(gdb) si
0xef7d2b2c in _end ()
(gdb) si
0xef7d2b30 in _end ()
(gdb) bt
#0 0xef7d2b30 in _end ()
#1 0xffbb0 in __DTOR_END__ ()
#2 0x15028 in DRV_pre_proc (myfile=0xb7538 "standard input")
at /home/prj/corba/ACE_wrappers/ace/OS.i:1157
#3 0x139b4 in DRV_drive (s=0xb7538 "standard input") at tao_idl.cpp:128
#4 0x13e08 in main (argc=1034240, argv=0xeffffa3c) at tao_idl.cpp:253
(gdb) si
0xef7d2b34 in _end ()
(gdb) si
0xef7d2b38 in _end ()
(gdb) bt
#0 0xef7d2b38 in _end ()
#1 0xf00414a4 in _end ()
#2 0xffbb0 in __DTOR_END__ ()
#3 0x15028 in DRV_pre_proc (myfile=0xb7538 "standard input")
at /home/prj/corba/ACE_wrappers/ace/OS.i:1157
#4 0x139b4 in DRV_drive (s=0xb7538 "standard input") at tao_idl.cpp:128
#5 0x13e08 in main (argc=1034240, argv=0xeffffa3c) at tao_idl.cpp:253


Douglas C. Schmidt

unread,
Jul 29, 1998, 3:00:00 AM7/29/98
to

Hi,

> tao_idl can be compiled successfully, but it can not work, except "tao_idl
> -V".
>
> ACE 4.5.24, TAO 0.1.41, Solaris 2.6, SPARCstation20, GNU g++ 2.8.1

I suspect GCC 2.8.1 has a bug. TAO works fine with EGCS and GCC on
this platform.

> the following is the information gdb display to me(using s and si
> command). i thought maybe string operation error in ACE or maybe
> ACE/TAO configuration error. it is highly appreciated if you could
> give some hints about this.

We don't use this compiler very much, so we'll need your help to debug
this. I suspect it's a compiler bug, so I recommend you try another
version of GCC/EGCS first and see if that solves the problem.
Otherwise, I recommend you step through the debugger and see what's
going on.

Thanks,

Doug

Liqun Na

unread,
Jul 29, 1998, 3:00:00 AM7/29/98
to
thanks!

Peter

Liqun Na

unread,
Jul 29, 1998, 3:00:00 AM7/29/98
to
Hi, Doug

What version of GNU g++ did you use in Solaris 2.6? g++ 2.7.1?

Thanks!

Douglas C. Schmidt

unread,
Jul 29, 1998, 3:00:00 AM7/29/98
to

Hi Peter,

> What version of GNU g++ did you use in Solaris 2.6? g++ 2.7.1?

Please see http://www.cs.wustl.edu/~schmidt/ACE_wrappers/ACE-INSTALL.html

for the answers to these kinds of questions. BTW, if you don't see an
answer to a question like that there, then the answer is probably "we
haven't done it" so you'll just have to try it for yourself and let us
know what you learn.

Take care,

Doug

0 new messages