Compiling on AIX 5.3 using xlC 3.55 compiler

713 views
Skip to first unread message

vikram

unread,
Jun 25, 2009, 9:59:24 PM6/25/09
to Protocol Buffers
Hello guys,

I am actually attempting to compile protocol buffer source on
AIX 5.3 and xlC 3.55 .
It seems that I am able to compile it correctly but when it tried to
use created protoc compiler it fails.
So following it the snapshot of what happens when I do make. basically
it can not replace ./$^ with appropriate prerequisites

bash-3.00$ make
make all-recursive
Making all in .
Target "all-am" is up to date.
Making all in src
./ -I. --cpp_out=.
/bin/sh: ./: 0403-006 Execute permission denied.
make: 1254-004 The error code from the last command is 126.


Stop.
make: 1254-004 The error code from the last command is 1.


Stop.
make: 1254-004 The error code from the last command is 2.


Stop.


While when I do gmake it works but then it goes in to infinite loop
some where

bash-3.00$ gmake
gmake all-recursive
gmake[1]: Entering directory `/work/vpatil/protobuf-2.1.0'
Making all in .
gmake[2]: Entering directory `/work/vpatil/protobuf-2.1.0'
gmake[2]: Leaving directory `/work/vpatil/protobuf-2.1.0'
Making all in src
gmake[2]: Entering directory `/work/vpatil/protobuf-2.1.0/src'
./protoc google/protobuf/test.proto -I. --cpp_out=.


* test.proto is the the simplest proto file we can have

test.proto :

package testPackage;

// option optimize_for = SPEED;

message TestAllTypes {
optional uint32 optional_int32 = 1;

}



I created this simplest proto file to check whether it works fine. But
when I tried tocompile it with create protoc binary ( .libs/lt-
protoc ) it blocked in infinite loop.

But with "option" uncommented it creates coredump

./src/.libs/lt-protoc src/google/protobuf/test.proto -I. --cpp_out=.
Assertion failed: f == NULL || dynamic_cast<To>(f) != NULL, file ./
google/protobuf/stubs/common.h, line 282
IOT/Abort trap (core dumped)


In dbx I found following things

File: userid=1104, groupid=1000
pthread_kill(??, ??) at 0xd01246b4
_p_raise(??) at 0xd0124124
raise.raise(??) at 0xd0375b28
abort() at 0xd03d3e78
__assert_c99(??, ??, ??, ??) at 0xd03ded6c
down_cast__Q3_6google8protobuf8internalHPQ3_6google8protobuf19UninterpretedOptionQ3_6google8protobuf7Message_PQ3_6google8protobuf7Message_PQ3_6google8protobuf19UninterpretedOption
(0x2000edb8) at 0xd1d08844
ParseOptionAssignment__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf7Message
(0x2ff223b8, 0x2000dd58) at 0xd1d08ad0
ParseOption__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf7Message
(0x2ff223b8, 0x2000dd58) at 0xd1d09090
ParseTopLevelStatement__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf19FileDescriptorProto
(0x2ff223b8, 0x2ff22450) at 0xd1d0f1e0
Parse__Q4_6google8protobuf8compiler6ParserFPQ4_6google8protobuf2io9TokenizerPQ3_6google8protobuf19FileDescriptorProto
(0x2ff223b8, 0x2ff22368, 0x2ff22450) at 0xd1d0f7d0
FindFileByName__Q4_6google8protobuf8compiler28SourceTreeDescriptorDatabaseFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__PQ3_6google8protobuf19FileDescriptorProto
(0x2ff22678, 0x2000b5c8, 0x2ff22450) at 0xd1d25c28
TryFindFileInFallbackDatabase__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(0x2ff2269c, 0x2000b5c8) at 0xd1b34004
FindFileByName__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(0x2ff2269c, 0x2000b5c8) at 0xd1b34344
Import__Q4_6google8protobuf8compiler8ImporterFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(0x2ff22678, 0x2000b5c8) at 0xd1d24144
Run__Q4_6google8protobuf8compiler20CommandLineInterfaceFiPCPCc
(0x2ff22880, 0x4, 0x2ff22a24) at 0xd1755294
main(0x4, 0x2ff22a24) at 0x10002730


while gdb shows up

bash-3.00$ gdb src/.libs/lt-protoc core
GNU gdb 5.1.1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "powerpc-ibm-aix4.3.2.0"...(no debugging
symbols found)...
Core was generated by `lt-protoc'.
Program terminated with signal 6, Aborted.
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...
#0 0xd01246b4 in pthread_kill () from /usr/lib/libpthreads.a
(shr_xpg5.o)
(gdb) where
#0 0xd01246b4 in pthread_kill () from /usr/lib/libpthreads.a
(shr_xpg5.o)
#1 0xd0124128 in _p_raise () from /usr/lib/libpthreads.a(shr_xpg5.o)
#2 0xd0375b2c in raise () from /usr/lib/libc.a(shr.o)
#3 0xd03d3e7c in abort () from /usr/lib/libc.a(shr.o)
#4 0xd03ded70 in __assert_c99 () from /usr/lib/libc.a(shr.o)
#5 0xd1d08848 in google::protobuf::compiler::Parser::RecordLocation
() from /work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a
(libprotobuf.so.4)
#6 0xd1d08ad4 in
google::protobuf::compiler::Parser::ParseOptionAssignment () from /
work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a(libprotobuf.so.4)
#7 0xd1d09094 in google::protobuf::compiler::Parser::ParseOption ()
from /work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a
(libprotobuf.so.4)
#8 0xd1d0f1e4 in
google::protobuf::compiler::Parser::ParseTopLevelStatement () from /
work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a(libprotobuf.so.4)
#9 0xd1d0f7d4 in google::protobuf::compiler::Parser::Parse () from /
work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a(libprotobuf.so.4)
#10 0xd1d25c2c in
FindFileByName__Q4_6google8protobuf8compiler28SourceTreeDescriptorDatabaseFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc
()
from /work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a
(libprotobuf.so.4)
#11 0xd1b34008 in
TryFindFileInFallbackDatabase__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
()
from /work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a
(libprotobuf.so.4)
#12 0xd1b34348 in
FindFileByName__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
()
from /work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a
(libprotobuf.so.4)
#13 0xd1d24148 in
Import__Q4_6google8protobuf8compiler8ImporterFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
()
from /work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a
(libprotobuf.so.4)
#14 0xd1755298 in
google::protobuf::compiler::CommandLineInterface::Run () from /work/
vpatil/protobuf-2.1.0/src/.libs/libprotoc.a(libprotoc.so.4)
#15 0x10002734 in main ()
#16 0x100001c4 in __start ()

So assertion failed in r::Parser::ParseOptionAssignment ();

Please provide some inputs on this one.

Thanks & Regards,
Vikram


Kenton Varda

unread,
Jun 26, 2009, 3:32:24 PM6/26/09
to vikram, Protocol Buffers
On Thu, Jun 25, 2009 at 6:59 PM, vikram <patil...@gmail.com> wrote:

Hello guys,

      I am actually attempting to compile protocol buffer source on
AIX 5.3 and xlC 3.55 .
It seems that I am able to compile it correctly but when it tried to
use created protoc compiler it fails.
So following it the snapshot of what happens when I do make. basically
it can not replace ./$^ with appropriate prerequisites

Yeah, you need to use gmake.
 
I created this simplest proto file to check whether it works fine. But
when I tried tocompile it with create protoc binary ( .libs/lt-
protoc ) it blocked in infinite loop.

Can you run in a debugger, ctrl+c during the loop, and give me the stack trace?
 
But with "option" uncommented it creates coredump

./src/.libs/lt-protoc src/google/protobuf/test.proto -I. --cpp_out=.
Assertion failed: f == NULL || dynamic_cast<To>(f) != NULL, file  ./
google/protobuf/stubs/common.h, line 282
IOT/Abort trap (core dumped)

You are using v2.1.0, right?

Does your compiler support RTTI?

vikram

unread,
Jun 26, 2009, 3:39:34 PM6/26/09
to Protocol Buffers
Yes I am using v 2.1.0

I provided compiler option "-qrtti=all " . So compilation went
smoothly but last step where
protoc is uses proto files seems like running in infinite loop. I am
currently looking at it

Vikram

On Jun 26, 12:32 pm, Kenton Varda <ken...@google.com> wrote:

vikram

unread,
Jun 26, 2009, 4:29:14 PM6/26/09
to Protocol Buffers

bash-3.00$ gdb src/.libs/lt-protoc
GNU gdb 5.1.1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "powerpc-ibm-aix4.3.2.0"...(no debugging
symbols found)...
(gdb) run
CHANGES.txt Makefile.in
config.h.in depcomp
java src
CONTRIBUTORS.txt README.txt
config.log editors
libtool stamp-h1
COPYING.txt aclocal.m4
config.status examples
ltmain.sh vsprojects
INSTALL.txt autogen.sh
config.sub generate_descriptor_proto.sh
m4 warning.txt
Makefile config.guess
configure gtest missing
Makefile.am config.h
configure.ac install-sh python
(gdb) run
CHANGES.txt Makefile.in
config.h.in depcomp
java src
CONTRIBUTORS.txt README.txt
config.log editors
libtool stamp-h1
COPYING.txt aclocal.m4
config.status examples
ltmain.sh vsprojects
INSTALL.txt autogen.sh
config.sub generate_descriptor_proto.sh
m4 warning.txt
Makefile config.guess
configure gtest missing
Makefile.am config.h
configure.ac install-sh python
(gdb) run src/g
generated_message_reflection.lo google
gzip_stream.lo
(gdb) run src/google/protobuf/test
test.proto test1.proto test_util.cc test_util.h testdata
testing
(gdb) run src/google/protobuf/test.proto --cpp_out=.
Starting program: /work/vpatil/protobuf-2.1.0/src/.libs/lt-protoc src/
google/protobuf/test.proto --cpp_out=.
***********************************
HOST: Undefined variable.
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...

Program received signal SIGINT, Interrupt.
0xd1cfe90c in __384 () from /work/vpatil/protobuf-2.1.0/src/.libs/
libprotobuf.a(libprotobuf.so.4)
(gdb) backtrace
#0 0xd1cfe90c in __384 () from /work/vpatil/protobuf-2.1.0/src/.libs/
libprotobuf.a(libprotobuf.so.4)
#1 0xd1cfe900 in __384 () from /work/vpatil/protobuf-2.1.0/src/.libs/
libprotobuf.a(libprotobuf.so.4)
#2 0xd1d056c0 in __384 () from /work/vpatil/protobuf-2.1.0/src/.libs/
libprotobuf.a(libprotobuf.so.4)
#3 0xd1d0bd48 in
google::protobuf::compiler::SourceLocationTable::__ct () from /work/
vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a(libprotobuf.so.4)
#4 0xd1d128b8 in
ParseType__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf25FieldDescriptorProto_TypePQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
()
from /work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a
(libprotobuf.so.4)
#5 0xd1d13f64 in
ParseMessageField__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf20FieldDescriptorProtoPQ3_6google8protobuf16RepeatedPtrFieldXTQ3_6google8protobuf15DescriptorProto_
()
from /work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a
(libprotobuf.so.4)
#6 0xd1d13a8c in
google::protobuf::compiler::Parser::ParseMessageStatement () from /
work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a(libprotobuf.so.4)
#7 0xd1d13bfc in
google::protobuf::compiler::Parser::ParseMessageBlock () from /work/
vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a(libprotobuf.so.4)
#8 0xd1d137c4 in
google::protobuf::compiler::Parser::ParseMessageDefinition () from /
work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a(libprotobuf.so.4)
#9 0xd1d14ffc in
google::protobuf::compiler::Parser::ParseTopLevelStatement () from /
work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a(libprotobuf.so.4)
#10 0xd1d15754 in google::protobuf::compiler::Parser::Parse () from /
work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a(libprotobuf.so.4)
#11 0xd1d2bbac in
FindFileByName__Q4_6google8protobuf8compiler28SourceTreeDescriptorDatabaseFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc
()
from /work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a
(libprotobuf.so.4)
#12 0xd1b39f88 in
TryFindFileInFallbackDatabase__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
()
from /work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a
(libprotobuf.so.4)
#13 0xd1b3a2c8 in
FindFileByName__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
()
from /work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a
(libprotobuf.so.4)
#14 0xd1d2a0c8 in
Import__Q4_6google8protobuf8compiler8ImporterFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
()
from /work/vpatil/protobuf-2.1.0/src/.libs/libprotobuf.a
(libprotobuf.so.4)
#15 0xd1755298 in
google::protobuf::compiler::CommandLineInterface::Run () from /work/
vpatil/protobuf-2.1.0/src/.libs/libprotoc.a(libprotoc.so.4)
#16 0x10002734 in main ()
#17 0x100001c4 in __start ()


This one is what I found out when I debugged created binary using gdb.
So code is stuck somewhere here.

Vikram

Kenton Varda

unread,
Jun 26, 2009, 5:14:51 PM6/26/09
to vikram, Protocol Buffers
Can you do a build with debug info to get line numbers?

vikram

unread,
Jun 26, 2009, 5:49:38 PM6/26/09
to Protocol Buffers
@Kentan

I built with debug info and got following stack trace .
location of compiler is at /usr/vacpp/bin if its not by default.



#0 0xd1afa248 in
__lt__3stdHcQ2_3std11char_traitsXTc_Q2_3std9allocatorXTc__RCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__RCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc_
(_L=@0xc, _R=@0x2ff2221c) at /usr/vacpp/include/string:134
#1 0xd1afa374 in
__cl__Q3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__RCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, a=@0xc, b=@0x2ff2221c) at ./google/protobuf/stubs/
hash.h:177
#2 0xd1d1bbc8 in
_Lbound__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, _Kv=@0x2ff2221c) at /usr/vacpp/include/xtree.t:376
#3 0xd1d22878 in
lower_bound__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, __classReturn=@0x2ff21e70, _Kv=@0x2ff2221c) at /usr/
vacpp/include/xtree:377
#4 0xd1d28f34 in
find__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, __classReturn=@0x2ff21ed0, _Kv=@0x2ff2221c) at /usr/
vacpp/include/xtree:365
#5 0xd1d2fd34 in
ParseType__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf25FieldDescriptorProto_TypePQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff22268,
type=0x2ff21f24, type_name=0x2ff21f28) at google/protobuf/compiler/
parser.cc:1000
#6 0xd1d31438 in
ParseMessageField__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf20FieldDescriptorProtoPQ3_6google8protobuf16RepeatedPtrFieldXTQ3_6google8protobuf15DescriptorProto_
(
this=0x2ff22268, field=0x2000f538, messages=0x2000f458) at google/
protobuf/compiler/parser.cc:443
#7 0xd1d30f50 in
google::protobuf::compiler::Parser::ParseMessageStatement
(this=0x2ff22268, message=0x2000f3f8) at google/protobuf/compiler/
parser.cc:428
#8 0xd1d310c4 in
google::protobuf::compiler::Parser::ParseMessageBlock
(this=0x2ff22268, message=0x2000f3f8) at google/protobuf/compiler/
parser.cc:402
#9 0xd1d30c80 in
google::protobuf::compiler::Parser::ParseMessageDefinition
(this=0x2ff22268, message=0x2000f3f8) at google/protobuf/compiler/
parser.cc:389
#10 0xd1d3250c in
google::protobuf::compiler::Parser::ParseTopLevelStatement
(this=0x2ff22268, file=0x2ff22310) at google/protobuf/compiler/
parser.cc:362
#11 0xd1d32c80 in google::protobuf::compiler::Parser::Parse
(this=0x2ff22268, input=0x2ff22218, file=0x2ff22310) at google/
protobuf/compiler/parser.cc:321
#12 0xd1d4965c in
FindFileByName__Q4_6google8protobuf8compiler28SourceTreeDescriptorDatabaseFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc
(this=0x2ff22538, filename=@0x2000bc98,
output=0x2ff22310) at google/protobuf/compiler/importer.cc:145
#13 0xd1b4a4f0 in
TryFindFileInFallbackDatabase__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff2255c, name=@0x2000bc98)
at google/protobuf/descriptor.cc:1230
#14 0xd1b4a844 in
FindFileByName__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff2255c, name=@0x2000bc98)
at google/protobuf/descriptor.cc:875
#15 0xd1d47ad4 in
Import__Q4_6google8protobuf8compiler8ImporterFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff22538, filename=@0x2000bc98)
at google/protobuf/compiler/importer.cc:194
#16 0xd1757ea0 in
google::protobuf::compiler::CommandLineInterface::Run
(this=0x2ff22740, argc=3, argv=0x2ff228e0) at google/protobuf/compiler/
command_line_interface.cc:352
#17 0x10002894 in main (argc=3, argv=0x2ff228e0) at google/protobuf/
compiler/main.cc:59
#18 0x100001ec in __start ()


Vikram

On Jun 26, 2:14 pm, Kenton Varda <ken...@google.com> wrote:
> Can you do a build with debug info to get line numbers?
>

Kenton Varda

unread,
Jun 26, 2009, 9:00:38 PM6/26/09
to vikram, Protocol Buffers
This isn't telling me much.  Can you interrupt and continue a few times to get a few different stack traces, in order to find out what the common part of the trace is?  This should allow us to determine which loop is failing to terminate.

vikram

unread,
Jun 30, 2009, 8:32:24 PM6/30/09
to Protocol Buffers
My attempt to use default hash_map implementation in source leads to
infinite loop. So I tried to links source with STLport 4.6.1 version
for AIX.
For XLC i provided tempinc option to create default directory for
template instantiation. But I am not able to compile it.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_alloc.h",

line 60.12: 1540-0836 (S) The #include file <stl/_new.h> is not found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_alloc.h",

line 64.11: 1540-0836 (S) The #include file <stl/_threads.h> is not
found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_alloc.h",

line 68.11: 1540-0836 (S) The #include file <stl/_construct.h> is not
found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_function_ba

se.h", line 34.10: 1540-0836 (S) The #include file <stl/_config.h> is
not found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_iterator_ba

se.h", line 44.11: 1540-0836 (S) The #include file <stl/type_traits.h>
is not found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_iterator_ba

se.h", line 152.12: 1540-0836 (S) The #include file <stl/
_ptrs_specialize.h> is not found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_string.h",

line 31.12: 1540-0836 (S) The #include file <stl/_string_fwd.h> is not
found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_string.h",

line 38.11: 1540-0836 (S) The #include file <stl/_ctraits_fns.h> is
not found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_string.h",

line 40.11: 1540-0836 (S) The #include file <stl/_algobase.h> is not
found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_string.h",

line 44.11: 1540-0836 (S) The #include file <stl/_iterator.h> is not
found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_string.h",

line 1490.12: 1540-0836 (S) The #include file <stl/_string.c> is not
found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_string.h",

line 1493.11: 1540-0836 (S) The #include file <stl/_string_io.h> is
not found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_string.h",

line 1494.11: 1540-0836 (S) The #include file <stl/_string_hash.h> is
not found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_tree.h",

line 54.12: 1540-0836 (S) The #include file <stl/_algobase.h> is not
found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_tree.h",

line 58.12: 1540-0836 (S) The #include file <stl/_alloc.h> is not
found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_tree.h",

line 62.12: 1540-0836 (S) The #include file <stl/_iterator.h> is not
found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_tree.h",

line 66.12: 1540-0836 (S) The #include file <stl/_construct.h> is not
found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_tree.h",

line 70.12: 1540-0836 (S) The #include file <stl/_function_base.h> is
not found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/_tree.h",

line 591.12: 1540-0836 (S) The #include file <stl/_tree.c> is not
found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/char_traits.

h", line 46.11: 1540-0836 (S) The #include file <stl/type_traits.h> is
not found.
"/net/bld9-ibm/XYZ01/build/tools/Development/STLport/AIX/STLport-4.6.1/
stlport/stl/char_traits.

h", line 50.12: 1540-0836 (S) The #include file <stl/_cwchar.h> is not
found.
"/work/vpatil/protobuf-2.1.0/src/./google/protobuf/descriptor.h", line
59.10: 1540-0836 (S) The

#include file <google/protobuf/stubs/common.h> is not found.
"/work/vpatil/protobuf-2.1.0/src/./google/protobuf/descriptor.pb.h",
line 8.10: 1540-0836 (S)

The #include file <google/protobuf/stubs/common.h> is not found.
"/work/vpatil/protobuf-2.1.0/src/./google/protobuf/descriptor.pb.h",
line 11.2: 1540-0859 (S)

#error directive: This file was generated by a newer version of protoc
which is.
"/work/vpatil/protobuf-2.1.0/src/./google/protobuf/descriptor.pb.h",
line 12.2: 1540-0859 (S)

#error directive: incompatible with your Protocol Buffer headers.
Please update.
"/work/vpatil/protobuf-2.1.0/src/./google/protobuf/descriptor.pb.h",
line 13.2: 1540-0859 (S)

#error directive: your headers..
"/work/vpatil/protobuf-2.1.0/src/./google/protobuf/descriptor.pb.h",
line 21.10: 1540-0836 (S)

The #include file <google/protobuf/generated_message_reflection.h> is
not found.
"/work/vpatil/protobuf-2.1.0/src/./google/protobuf/descriptor.pb.h",
line 22.10: 1540-0836 (S)

The #include file <google/protobuf/repeated_field.h> is not found.
"/work/vpatil/protobuf-2.1.0/src/./google/protobuf/descriptor.pb.h",
line 23.10: 1540-0836 (S)

The #include file <google/protobuf/extension_set.h> is not found.
"/work/vpatil/protobuf-2.1.0/src/./google/protobuf/extension_set.h",
line 47.10: 1540-0836 (S)

The #include file <google/protobuf/stubs/common.h> is not found.
"/work/vpatil/protobuf-2.1.0/src/./google/protobuf/extension_set.h",
line 48.10: 1540-0836 (S)

The #include file <google/protobuf/message.h> is not found.
"/work/vpatil/protobuf-2.1.0/src/./google/protobuf/message.h", line
139.10: 1540-0836 (S) The

#include file <google/protobuf/stubs/common.h> is not found.
/usr/vacpp/bin/xlC_r: 1501-240 Previous errors were found when
compiling tempinc/_tree.C

Please share some insights regarding this

Thanks & Regards,
Vikram


On Jun 26, 6:00 pm, Kenton Varda <ken...@google.com> wrote:
> This isn't telling me much.  Can you interrupt and continue a few times to
> get a few different stack traces, in order to find out what the common part
> of the trace is?  This should allow us to determine which loop is failing to
> terminate.
>
> ...
>
> read more »

Kenton Varda

unread,
Jun 30, 2009, 10:26:00 PM6/30/09
to vikram, Protocol Buffers
This looks like a problem with the STL implementation.  Sorry, I don't know what to do about this.

vikram

unread,
Jun 30, 2009, 10:36:33 PM6/30/09
to Protocol Buffers
Hey Kenton,

This is compilation without STL implementation . I am assuming
that if hash_map does not exist , google protocol buffer emulates
hash_map. I am pasting 3-4 instances of stack where protoc is in
infinite loop


#0 0xd1cfdc60 in
_Node::_Right__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__FPQ3_3std9_Tree_nodXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0
(_P=0xf04ca4e0) at /usr/vacpp/include/xtree:154
#1 0xd1d1bbdc in
_Lbound__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, _Kv=@0x2ff2222c) at /usr/vacpp/include/xtree.t:377
#2 0xd1d22878 in
lower_bound__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, __classReturn=@0x2ff21d70, _Kv=@0x2ff2222c) at /usr/
vacpp/include/xtree:377
#3 0xd1d28f34 in
find__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, __classReturn=@0x2ff21dd0, _Kv=@0x2ff2222c) at /usr/
vacpp/include/xtree:365
#4 0xd1d2fd34 in
ParseType__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf25FieldDescriptorProto_TypePQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff22278,
type=0x2ff21e24, type_name=0x2ff21e28) at google/protobuf/compiler/
parser.cc:1000
#5 0xd1d31438 in
ParseMessageField__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf20FieldDescriptorProtoPQ3_6google8protobuf16RepeatedPtrFieldXTQ3_6google8protobuf15DescriptorProto_
(
this=0x2ff22278, field=0x2000f918, messages=0x2000f808) at google/
protobuf/compiler/parser.cc:443
#6 0xd1d30f50 in
google::protobuf::compiler::Parser::ParseMessageStatement
(this=0x2ff22278, message=0x2000f7a8) at google/protobuf/compiler/
parser.cc:428
#7 0xd1d310c4 in
google::protobuf::compiler::Parser::ParseMessageBlock
(this=0x2ff22278, message=0x2000f7a8) at google/protobuf/compiler/
parser.cc:402
#8 0xd1d30c80 in
google::protobuf::compiler::Parser::ParseMessageDefinition
(this=0x2ff22278, message=0x2000f7a8) at google/protobuf/compiler/
parser.cc:389
#9 0xd1d30e28 in
google::protobuf::compiler::Parser::ParseMessageStatement
(this=0x2ff22278, message=0x2000f668) at google/protobuf/compiler/
parser.cc:417
#10 0xd1d310c4 in
google::protobuf::compiler::Parser::ParseMessageBlock
(this=0x2ff22278, message=0x2000f668) at google/protobuf/compiler/
parser.cc:402
#11 0xd1d30c80 in
google::protobuf::compiler::Parser::ParseMessageDefinition
(this=0x2ff22278, message=0x2000f668) at google/protobuf/compiler/
parser.cc:389
#12 0xd1d3250c in
google::protobuf::compiler::Parser::ParseTopLevelStatement
(this=0x2ff22278, file=0x2ff22320) at google/protobuf/compiler/
parser.cc:362
#13 0xd1d32c80 in google::protobuf::compiler::Parser::Parse
(this=0x2ff22278, input=0x2ff22228, file=0x2ff22320) at google/
protobuf/compiler/parser.cc:321
#14 0xd1d4965c in
FindFileByName__Q4_6google8protobuf8compiler28SourceTreeDescriptorDatabaseFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc
(this=0x2ff22548, filename=@0x2000bce8,
output=0x2ff22320) at google/protobuf/compiler/importer.cc:145
#15 0xd1b4a4f0 in
TryFindFileInFallbackDatabase__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff2256c, name=@0x2000bce8)
at google/protobuf/descriptor.cc:1230
#16 0xd1b4a844 in
FindFileByName__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff2256c, name=@0x2000bce8)
at google/protobuf/descriptor.cc:875
#17 0xd1d47ad4 in
Import__Q4_6google8protobuf8compiler8ImporterFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff22548, filename=@0x2000bce8)
at google/protobuf/compiler/importer.cc:194
#18 0xd1757ea0 in
google::protobuf::compiler::CommandLineInterface::Run
(this=0x2ff22750, argc=3, argv=0x2ff228f0) at google/protobuf/compiler/
command_line_interface.cc:352
#19 0x10002894 in main (argc=3, argv=0x2ff228f0) at google/protobuf/
compiler/main.cc:59
#20 0x100001ec in __start ()



#0 0xd1afa384 in
__cl__Q3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__RCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, a=@0xc, b=@0x2ff2222c) at ./google/protobuf/stubs/
hash.h:178
#1 0xd1d1bbc8 in
_Lbound__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, _Kv=@0x2ff2222c) at /usr/vacpp/include/xtree.t:376
#2 0xd1d22878 in
lower_bound__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, __classReturn=@0x2ff21d70, _Kv=@0x2ff2222c) at /usr/
vacpp/include/xtree:377
#3 0xd1d28f34 in
find__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, __classReturn=@0x2ff21dd0, _Kv=@0x2ff2222c) at /usr/
vacpp/include/xtree:365
#4 0xd1d2fd34 in
ParseType__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf25FieldDescriptorProto_TypePQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff22278,
type=0x2ff21e24, type_name=0x2ff21e28) at google/protobuf/compiler/
parser.cc:1000
#5 0xd1d31438 in
ParseMessageField__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf20FieldDescriptorProtoPQ3_6google8protobuf16RepeatedPtrFieldXTQ3_6google8protobuf15DescriptorProto_
(
this=0x2ff22278, field=0x2000f918, messages=0x2000f808) at google/
protobuf/compiler/parser.cc:443
#6 0xd1d30f50 in
google::protobuf::compiler::Parser::ParseMessageStatement
(this=0x2ff22278, message=0x2000f7a8) at google/protobuf/compiler/
parser.cc:428
#7 0xd1d310c4 in
google::protobuf::compiler::Parser::ParseMessageBlock
(this=0x2ff22278, message=0x2000f7a8) at google/protobuf/compiler/
parser.cc:402
#8 0xd1d30c80 in
google::protobuf::compiler::Parser::ParseMessageDefinition
(this=0x2ff22278, message=0x2000f7a8) at google/protobuf/compiler/
parser.cc:389
#9 0xd1d30e28 in
google::protobuf::compiler::Parser::ParseMessageStatement
(this=0x2ff22278, message=0x2000f668) at google/protobuf/compiler/
parser.cc:417
#10 0xd1d310c4 in
google::protobuf::compiler::Parser::ParseMessageBlock
(this=0x2ff22278, message=0x2000f668) at google/protobuf/compiler/
parser.cc:402
#11 0xd1d30c80 in
google::protobuf::compiler::Parser::ParseMessageDefinition
(this=0x2ff22278, message=0x2000f668) at google/protobuf/compiler/
parser.cc:389
#12 0xd1d3250c in
google::protobuf::compiler::Parser::ParseTopLevelStatement
(this=0x2ff22278, file=0x2ff22320) at google/protobuf/compiler/
parser.cc:362
#13 0xd1d32c80 in google::protobuf::compiler::Parser::Parse
(this=0x2ff22278, input=0x2ff22228, file=0x2ff22320) at google/
protobuf/compiler/parser.cc:321
#14 0xd1d4965c in
FindFileByName__Q4_6google8protobuf8compiler28SourceTreeDescriptorDatabaseFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc
(this=0x2ff22548, filename=@0x2000bce8,
output=0x2ff22320) at google/protobuf/compiler/importer.cc:145
#15 0xd1b4a4f0 in
TryFindFileInFallbackDatabase__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff2256c, name=@0x2000bce8)
at google/protobuf/descriptor.cc:1230
#16 0xd1b4a844 in
FindFileByName__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff2256c, name=@0x2000bce8)
at google/protobuf/descriptor.cc:875
#17 0xd1d47ad4 in
Import__Q4_6google8protobuf8compiler8ImporterFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff22548, filename=@0x2000bce8)
at google/protobuf/compiler/importer.cc:194
#18 0xd1757ea0 in
google::protobuf::compiler::CommandLineInterface::Run
(this=0x2ff22750, argc=3, argv=0x2ff228f0) at google/protobuf/compiler/
command_line_interface.cc:352
#19 0x10002894 in main (argc=3, argv=0x2ff228f0) at google/protobuf/
compiler/main.cc:59
#20 0x100001ec in __start ()


#0
_Node::_Isnil__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__FPQ3_3std9_Tree_nodXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0
(_P=0x0) at /usr/vacpp/include/xtree:148
#1 0xd1d1bc10 in
_Lbound__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, _Kv=@0x2ff2222c) at /usr/vacpp/include/xtree.t:375
#2 0xd1d22878 in
lower_bound__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, __classReturn=@0x2ff21d70, _Kv=@0x2ff2222c) at /usr/
vacpp/include/xtree:377
#3 0xd1d28f34 in
find__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, __classReturn=@0x2ff21dd0, _Kv=@0x2ff2222c) at /usr/
vacpp/include/xtree:365
#4 0xd1d2fd34 in
ParseType__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf25FieldDescriptorProto_TypePQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff22278,
type=0x2ff21e24, type_name=0x2ff21e28) at google/protobuf/compiler/
parser.cc:1000
#5 0xd1d31438 in
ParseMessageField__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf20FieldDescriptorProtoPQ3_6google8protobuf16RepeatedPtrFieldXTQ3_6google8protobuf15DescriptorProto_
(
this=0x2ff22278, field=0x2000f918, messages=0x2000f808) at google/
protobuf/compiler/parser.cc:443
#6 0xd1d30f50 in
google::protobuf::compiler::Parser::ParseMessageStatement
(this=0x2ff22278, message=0x2000f7a8) at google/protobuf/compiler/
parser.cc:428
#7 0xd1d310c4 in
google::protobuf::compiler::Parser::ParseMessageBlock
(this=0x2ff22278, message=0x2000f7a8) at google/protobuf/compiler/
parser.cc:402
#8 0xd1d30c80 in
google::protobuf::compiler::Parser::ParseMessageDefinition
(this=0x2ff22278, message=0x2000f7a8) at google/protobuf/compiler/
parser.cc:389
#9 0xd1d30e28 in
google::protobuf::compiler::Parser::ParseMessageStatement
(this=0x2ff22278, message=0x2000f668) at google/protobuf/compiler/
parser.cc:417
#10 0xd1d310c4 in
google::protobuf::compiler::Parser::ParseMessageBlock
(this=0x2ff22278, message=0x2000f668) at google/protobuf/compiler/
parser.cc:402
#11 0xd1d30c80 in
google::protobuf::compiler::Parser::ParseMessageDefinition
(this=0x2ff22278, message=0x2000f668) at google/protobuf/compiler/
parser.cc:389
#12 0xd1d3250c in
google::protobuf::compiler::Parser::ParseTopLevelStatement
(this=0x2ff22278, file=0x2ff22320) at google/protobuf/compiler/
parser.cc:362
#13 0xd1d32c80 in google::protobuf::compiler::Parser::Parse
(this=0x2ff22278, input=0x2ff22228, file=0x2ff22320) at google/
protobuf/compiler/parser.cc:321
#14 0xd1d4965c in
FindFileByName__Q4_6google8protobuf8compiler28SourceTreeDescriptorDatabaseFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc
(this=0x2ff22548, filename=@0x2000bce8,
output=0x2ff22320) at google/protobuf/compiler/importer.cc:145
#15 0xd1b4a4f0 in
TryFindFileInFallbackDatabase__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff2256c, name=@0x2000bce8)
at google/protobuf/descriptor.cc:1230
#16 0xd1b4a844 in
FindFileByName__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff2256c, name=@0x2000bce8)
at google/protobuf/descriptor.cc:875
#17 0xd1d47ad4 in
Import__Q4_6google8protobuf8compiler8ImporterFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff22548, filename=@0x2000bce8)
at google/protobuf/compiler/importer.cc:194
#18 0xd1757ea0 in
google::protobuf::compiler::CommandLineInterface::Run
(this=0x2ff22750, argc=3, argv=0x2ff228f0) at google/protobuf/compiler/
command_line_interface.cc:352
#19 0x10002894 in main (argc=3, argv=0x2ff228f0) at google/protobuf/
compiler/main.cc:59
#20 0x100001ec in __start ()

#0 0xd1d03798 in
_Node::_Value__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__FPQ3_3std9_Tree_nodXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0
(_P=0xd1afa374) at /usr/vacpp/include/xtree:432
#1 0xd1d0e5d8 in
_Node::_Key__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__FPQ3_3std9_Tree_nodXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0
(_P=0x0) at /usr/vacpp/include/xtree:150
#2 0xd1d1bbb0 in
_Lbound__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, _Kv=@0x2ff2222c) at /usr/vacpp/include/xtree.t:376
#3 0xd1d22878 in
lower_bound__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, __classReturn=@0x2ff21d70, _Kv=@0x2ff2222c) at /usr/
vacpp/include/xtree:377
#4 0xd1d28f34 in
find__Q2_3std5_TreeXTQ2_3std12_Tmap_traitsXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_TypeTQ3_6google8protobuf4hashXTQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc___TQ2_3std9allocatorXTQ2_3std4pairXTCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__TQ3_6google8protobuf25FieldDescriptorProto_Type__SP0__CFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0xf04ca4e0, __classReturn=@0x2ff21dd0, _Kv=@0x2ff2222c) at /usr/
vacpp/include/xtree:365
#5 0xd1d2fd34 in
ParseType__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf25FieldDescriptorProto_TypePQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff22278,
type=0x2ff21e24, type_name=0x2ff21e28) at google/protobuf/compiler/
parser.cc:1000
#6 0xd1d31438 in
ParseMessageField__Q4_6google8protobuf8compiler6ParserFPQ3_6google8protobuf20FieldDescriptorProtoPQ3_6google8protobuf16RepeatedPtrFieldXTQ3_6google8protobuf15DescriptorProto_
(
this=0x2ff22278, field=0x2000f918, messages=0x2000f808) at google/
protobuf/compiler/parser.cc:443
#7 0xd1d30f50 in
google::protobuf::compiler::Parser::ParseMessageStatement
(this=0x2ff22278, message=0x2000f7a8) at google/protobuf/compiler/
parser.cc:428
#8 0xd1d310c4 in
google::protobuf::compiler::Parser::ParseMessageBlock
(this=0x2ff22278, message=0x2000f7a8) at google/protobuf/compiler/
parser.cc:402
#9 0xd1d30c80 in
google::protobuf::compiler::Parser::ParseMessageDefinition
(this=0x2ff22278, message=0x2000f7a8) at google/protobuf/compiler/
parser.cc:389
#10 0xd1d30e28 in
google::protobuf::compiler::Parser::ParseMessageStatement
(this=0x2ff22278, message=0x2000f668) at google/protobuf/compiler/
parser.cc:417
#11 0xd1d310c4 in
google::protobuf::compiler::Parser::ParseMessageBlock
(this=0x2ff22278, message=0x2000f668) at google/protobuf/compiler/
parser.cc:402
#12 0xd1d30c80 in
google::protobuf::compiler::Parser::ParseMessageDefinition
(this=0x2ff22278, message=0x2000f668) at google/protobuf/compiler/
parser.cc:389
#13 0xd1d3250c in
google::protobuf::compiler::Parser::ParseTopLevelStatement
(this=0x2ff22278, file=0x2ff22320) at google/protobuf/compiler/
parser.cc:362
#14 0xd1d32c80 in google::protobuf::compiler::Parser::Parse
(this=0x2ff22278, input=0x2ff22228, file=0x2ff22320) at google/
protobuf/compiler/parser.cc:321
#15 0xd1d4965c in
FindFileByName__Q4_6google8protobuf8compiler28SourceTreeDescriptorDatabaseFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc
(this=0x2ff22548, filename=@0x2000bce8,
output=0x2ff22320) at google/protobuf/compiler/importer.cc:145
#16 0xd1b4a4f0 in
TryFindFileInFallbackDatabase__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff2256c, name=@0x2000bce8)
at google/protobuf/descriptor.cc:1230
#17 0xd1b4a844 in
FindFileByName__Q3_6google8protobuf14DescriptorPoolCFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff2256c, name=@0x2000bce8)
at google/protobuf/descriptor.cc:875
#18 0xd1d47ad4 in
Import__Q4_6google8protobuf8compiler8ImporterFRCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__
(this=0x2ff22548, filename=@0x2000bce8)
at google/protobuf/compiler/importer.cc:194
#19 0xd1757ea0 in
google::protobuf::compiler::CommandLineInterface::Run
(this=0x2ff22750, argc=3, argv=0x2ff228f0) at google/protobuf/compiler/
command_line_interface.cc:352
#20 0x10002894 in main (argc=3, argv=0x2ff228f0) at google/protobuf/
compiler/main.cc:59
#21 0x100001ec in __start ()



Vikram


On Jun 30, 7:26 pm, Kenton Varda <ken...@google.com> wrote:
> This looks like a problem with the STL implementation.  Sorry, I don't know
> what to do about this.
>
> ...
>
> read more »

Kenton Varda

unread,
Jul 1, 2009, 3:00:28 PM7/1/09
to vikram, Protocol Buffers
Well, it looks like all of these are stuck in the same place -- in the same call to hash_map::find().  This would seem to indicate that your STL implementation is broken.  It's also possible that the infinite loop is actually in protobuf code, and the only reason we see it always breaking in the same find() call is because that's the most expensive part of the loop.  You could test this by breaking under gdb again, and then repeatedly typing "finish" to make it run to completion of the current function call.  If it eventually gets back to protobuf code, then the problem is there, otherwise it's in the STL code.  (Actually, I should have told you to do this originally, rather than the "collect multiple stack traces" idea...)

vikram

unread,
Jul 13, 2009, 8:07:06 PM7/13/09
to Protocol Buffers
I have found out that with new xlC versions like 8.X onwards hash_map
like functionality is supported but different name as unordered_map.
So it there any way you can to use this container without modifying
much of the code. In the code hash_map is used in many places. So it
needs to be replaced with unordered_map with
xlC compiler on AIX. Please provide some idea. I was trying to do
template typedef but seems like I can not have all typenames while
doing that.

Vikram

On Jul 1, 12:00 pm, Kenton Varda <ken...@google.com> wrote:
> Well, it looks like all of these are stuck in the same place -- in the same
> call to hash_map::find().  This would seem to indicate that your STL
> implementation is broken.  It's also possible that the infinite loop is
> actually in protobuf code, and the only reason we see it always breaking in
> the same find() call is because that's the most expensive part of the loop.
>  You could test this by breaking under gdb again, and then repeatedly typing
> "finish" to make it run to completion of the current function call.  If it
> eventually gets back to protobuf code, then the problem is there, otherwise
> it's in the STL code.  (Actually, I should have told you to do this
> originally, rather than the "collect multiple stack traces" idea...)
>
> ...
>
> read more »

Monty Taylor

unread,
Jul 13, 2009, 8:13:10 PM7/13/09
to vikram, Protocol Buffers
vikram wrote:
> I have found out that with new xlC versions like 8.X onwards hash_map
> like functionality is supported but different name as unordered_map.
> So it there any way you can to use this container without modifying
> much of the code. In the code hash_map is used in many places. So it
> needs to be replaced with unordered_map with
> xlC compiler on AIX. Please provide some idea. I was trying to do
> template typedef but seems like I can not have all typenames while
> doing that.

I was actually just working on making an update to the m4 to detect
unordered_map in Drizzle. (We swiped the hash_map detection macro)

unordered_map is the name it's apparently going to land in C++0x as, and
is the name that it exists as in gcc 4.3 and 4.4. gcc still has hash_map
as well, but it throws a deprecated warning.

Might not be a terrible idea to go ahead and shift to unordered_map and
then put in a mapping/typedef for hash_map if something doesn't have u_m?

(Kenton - would you be interested in a patch doing that?)

Kenton Varda

unread,
Jul 13, 2009, 8:22:58 PM7/13/09
to Monty Taylor, vikram, Protocol Buffers
google/protobuf/stubs/hash.h already contains some hacks for hash_map.  To support unordered_map, all we'd have to do is add another hack there which defines hash_map to be a subclass of unordered_map.  Subclassing effectively functions as a template typedef here.

I would rather not replace the identifier "hash_map" with "unordered_map" in the actual code until the Google style guide rules on the issue.  I suspect that Google code will go on using hash_map with a similar hack because updating our entire code base is just not worth the effort.

Kenton Varda

unread,
Jul 13, 2009, 8:23:17 PM7/13/09
to Monty Taylor, vikram, Protocol Buffers
And yes, I'd love a patch.  :)

vikram

unread,
Jul 14, 2009, 9:27:04 PM7/14/09
to Protocol Buffers
Kenton & Monty,

I added hack as followes in the hash.h

// File changed .....

#if defined(HAVE_HASH_MAP) && defined(HAVE_HASH_SET)
#include HASH_MAP_H
#include HASH_SET_H
#elif defined (__xlC__)
#define MISSING_HASH
#include <unordered_map>
#include <unordered_set>
#else
#define MISSING_HASH
#include <map>
#include <set>
#endif

namespace google {
namespace protobuf {
#if defined(MISSING_HASH) && defined(__xlC__)

//@TODO
//Inherit hash_map from unordered_map
template <typename Key>
struct hash : public std::tr1::hash<Key> {
};

template <typename Key>
struct hash<const Key*> {
inline size_t operator()(const Key* key) const {
return reinterpret_cast<size_t>(key);
}
};

template <typename Key, typename Data,
typename HashFcn = hash<Key>,
typename EqualKey = std::equal_to<Key> >
class hash_map : public std::tr1::unordered_map<Key, Data, HashFcn ,
EqualKey> {

};

template <typename Key,
typename HashFcn = hash<Key>,
typename EqualKey = std::equal_to<Key> >
class hash_set : public std::tr1::unordered_set<
Key, HashFcn, EqualKey> {
};
#elif defined(MISSING_HASH)

File continues as it is

Stack trace

pthread_kill(??, ??) at 0xd01246b4
_p_raise(??) at 0xd0124124
raise.raise(??) at 0xd0375b28
abort() at 0xd03d3e78
google::protobuf::internal::LogMessage::Finish()(this = 0x2ff21e40),
line 171 in "common.cc"
google::protobuf::internal::LogFinisher::operator=
(google::protobuf::internal::LogMessage&)(this = 0x2ff21e38, other = &
(...)), line 176 in "common.cc"
protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto()(), line
82 in "descriptor.pb.cc"
pthread_once(??, ??) at 0xd0115e78
common.GoogleOnceInit(pthread_once_t*,void(*)())(0xf04a9d00,
0xf04b15a0), line 114 in "once.h"
protobuf_AssignDescriptorsOnce()(), line 408 in "descriptor.pb.cc"
google::protobuf::FileOptions::descriptor()(), line 3862 in
"descriptor.pb.cc"
google::protobuf::FileOptions::GetDescriptor() const(this =
0x2000e248), line 4190 in "descriptor.pb.cc"
google::protobuf::compiler::Parser::ParseOptionAssignment
(google::protobuf::Message*)(this = 0x2ff223b8, options = 0x2000e248),
line 659 in "parser.cc"
google::protobuf::compiler::Parser::ParseOption
(google::protobuf::Message*)(this = 0x2ff223b8, options = 0x2000e248),
line 1081 in "parser.cc"
google::protobuf::compiler::Parser::ParseTopLevelStatement
(google::protobuf::FileDescriptorProto*)(this = 0x2ff223b8, file =
0x2ff22460), line 375 in "parser.cc"
google::protobuf::compiler::Parser::Parse
(google::protobuf::io::Tokenizer*,google::protobuf::FileDescriptorProto*)
(this = 0x2ff223b8, input = 0x2ff22368, file = 0x2ff22460), line 321
in "parser.cc"
google::protobuf::compiler::SourceTreeDescriptorDatabase::FindFileByName
(const
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>&,google::protobuf::FileDescriptorProto*)(this = 0x2ff22688, filename
= &(...), output = 0x2ff22460), line 145 in "importer.cc"
TryFindFileInFallbackDatabase(const
std::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
const(0x2ff226ac, 0x2000b9d8), line 1230 in "descriptor.cc"
NFS write error on host esfs3-lnx.actuate.com: 28.
File: userid=1104, groupid=1000
FindFileByName(const
std::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
const(0x2ff226ac, 0x2000b9d8), line 875 in "descriptor.cc"
google::protobuf::compiler::Importer::Import(const
std::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
(this = 0x2ff22688, filename = &(...)), line 194 in "importer.cc"

Protoc compiler aborted

./protoc google/protobuf/unittest.proto google/protobuf/
unittest_empty.proto google/protobuf/unittest_import.proto google/
protobuf/unittest_mset.proto google/protobuf/
unittest_optimize_for.proto google/protobuf/
unittest_embed_optimize_for.proto google/protobuf/
unittest_custom_options.proto google/protobuf/compiler/cpp/
cpp_test_bad_identifiers.proto -I. --cpp_out=.
libprotobuf ERROR google/protobuf/descriptor.cc:2215] Invalid proto
descriptor for file "google/protobuf/descriptor.proto":
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.FileDescriptorSet.file:
".google.protobuf.FileDescriptorProto" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.FileDescriptorProto.message_type:
".google.protobuf.DescriptorProto" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.FileDescriptorProto.extension:
".google.protobuf.FieldDescriptorProto" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.FileDescriptorProto.options:
".google.protobuf.FileOptions" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.DescriptorProto.field:
".google.protobuf.FieldDescriptorProto" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.DescriptorProto.extension:
".google.protobuf.FieldDescriptorProto" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.DescriptorProto.nested_type:
".google.protobuf.DescriptorProto" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.DescriptorProto.enum_type:
".google.protobuf.EnumDescriptorProto" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.DescriptorProto.extension_range:
".google.protobuf.DescriptorProto.ExtensionRange" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.DescriptorProto.options:
".google.protobuf.MessageOptions" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.FieldDescriptorProto.label:
".google.protobuf.FieldDescriptorProto.Label" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.FieldDescriptorProto.type:
".google.protobuf.FieldDescriptorProto.Type" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.FieldDescriptorProto.options:
".google.protobuf.FieldOptions" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.EnumDescriptorProto.value:
".google.protobuf.EnumValueDescriptorProto" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.EnumDescriptorProto.options:
".google.protobuf.EnumOptions" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.EnumValueDescriptorProto.options:
".google.protobuf.EnumValueOptions" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.ServiceDescriptorProto.method:
".google.protobuf.MethodDescriptorProto" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.ServiceDescriptorProto.options:
".google.protobuf.ServiceOptions" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.MethodDescriptorProto.options:
".google.protobuf.MethodOptions" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.FileOptions.optimize_for:
".google.protobuf.FileOptions.OptimizeMode" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.FileOptions.uninterpreted_option:
".google.protobuf.UninterpretedOption" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.MessageOptions.uninterpreted_option:
".google.protobuf.UninterpretedOption" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.FieldOptions.ctype:
".google.protobuf.FieldOptions.CType" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.FieldOptions.uninterpreted_option:
".google.protobuf.UninterpretedOption" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.EnumOptions.uninterpreted_option:
".google.protobuf.UninterpretedOption" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.EnumValueOptions.uninterpreted_option:
".google.protobuf.UninterpretedOption" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.ServiceOptions.uninterpreted_option:
".google.protobuf.UninterpretedOption" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.MethodOptions.uninterpreted_option:
".google.protobuf.UninterpretedOption" is not defined.
libprotobuf ERROR google/protobuf/descriptor.cc:2218]
google.protobuf.UninterpretedOption.name:
".google.protobuf.UninterpretedOption.NamePart" is not defined.
libprotobuf FATAL google/protobuf/descriptor.pb.cc:82] CHECK failed:
file != NULL:
gmake[2]: *** [unittest_proto_middleman] IOT/Abort trap (core dumped)

Any suggestions?

Thanks & Regards,
Vikram

On Jul 13, 5:23 pm, Kenton Varda <ken...@google.com> wrote:
> And yes, I'd love a patch.  :)
>
> On Mon, Jul 13, 2009 at 5:22 PM, Kenton Varda <ken...@google.com> wrote:
> > google/protobuf/stubs/hash.h already contains some hacks for hash_map.  To
> > support unordered_map, all we'd have to do is add another hack there which
> > defines hash_map to be a subclass of unordered_map.  Subclassing effectively
> > functions as a template typedef here.
> > I would rather not replace the identifier "hash_map" with "unordered_map"
> > in the actual code until the Google style guide rules on the issue.  I
> > suspect that Google code will go on using hash_map with a similar hack
> > because updating our entire code base is just not worth the effort.
>
> ...
>
> read more »

Kenton Varda

unread,
Jul 14, 2009, 9:35:32 PM7/14/09
to vikram, Protocol Buffers
It looks like your implementation of hash_map is not working correctly -- all lookups are failing.  You might try writing a little test for hash_map itself that would be easier to debug.

vikram

unread,
Jul 20, 2009, 2:53:48 PM7/20/09
to Protocol Buffers
In previous attempt small test worked but was not able to work with
protocol buffer source code.
I tried one more thing as
#if deinfed (MISSING_HASH_MAP) && defined (__xlC__)
#define hash_map std::tr1::unordered_map

google/protobuf/unittest.proto:85:37: Expected ";".
google/protobuf/unittest.proto:117:37: Expected ";".
google/protobuf/unittest.proto:133:55: Expected identifier.
google/protobuf/unittest.proto:134:55: Expected identifier.
google/protobuf/unittest.proto:135:55: Expected identifier.
google/protobuf/unittest.proto:136:55: Expected identifier.
google/protobuf/unittest.proto:137:54: Expected identifier.
google/protobuf/unittest.proto:138:55: Expected identifier.
google/protobuf/unittest.proto:139:55: Expected identifier.
google/protobuf/unittest.proto:140:55: Expected identifier.
google/protobuf/unittest.proto:141:55: Expected identifier.
google/protobuf/unittest.proto:142:54: Expected identifier.
google/protobuf/unittest.proto:143:55: Expected identifier.
google/protobuf/unittest.proto:144:55: Expected identifier.
google/protobuf/unittest.proto:146:54: Expected identifier.
google/protobuf/unittest.proto:147:54: Expected identifier.
google/protobuf/unittest.proto:154:73: Expected identifier.
google/protobuf/unittest.proto:155:57: Expected identifier.
google/protobuf/unittest.proto:192:47: Expected ";".
google/protobuf/unittest.proto:226:47: Expected ";".
google/protobuf/unittest.proto:244:65: Expected identifier.
google/protobuf/unittest.proto:245:65: Expected identifier.
google/protobuf/unittest.proto:246:65: Expected identifier.
google/protobuf/unittest.proto:247:65: Expected identifier.
google/protobuf/unittest.proto:248:64: Expected identifier.
google/protobuf/unittest.proto:249:65: Expected identifier.
google/protobuf/unittest.proto:250:65: Expected identifier.
google/protobuf/unittest.proto:251:65: Expected identifier.
google/protobuf/unittest.proto:252:65: Expected identifier.
google/protobuf/unittest.proto:253:64: Expected identifier.
google/protobuf/unittest.proto:254:65: Expected identifier.
google/protobuf/unittest.proto:255:65: Expected identifier.
google/protobuf/unittest.proto:257:64: Expected identifier.
google/protobuf/unittest.proto:258:64: Expected identifier.
google/protobuf/unittest.proto:268:64: Expected identifier.
google/protobuf/unittest.proto:269:68: Expected identifier.
google/protobuf/unittest.proto:276:42: Expected identifier.
google/protobuf/unittest.proto:379:26: Expected ";".
google/protobuf/unittest.proto:380:26: Expected ";".
google/protobuf/unittest.proto:451:47: Expected identifier.
google/protobuf/unittest.proto:452:47: Expected identifier.
google/protobuf/unittest.proto:453:47: Expected identifier.
google/protobuf/unittest.proto:454:47: Expected identifier.
google/protobuf/unittest.proto:455:47: Expected identifier.
google/protobuf/unittest.proto:460:46: Expected identifier.
gmake: *** [unittest_proto_middleman] Error 1

So I guess it wont even compile with unordered_map provided on Linux .
Please provide some inputs on this one.

Thanks & Regards,
Vikram

On Jul 14, 6:35 pm, Kenton Varda <ken...@google.com> wrote:
> It looks like your implementation of hash_map is not working correctly --
> all lookups are failing.  You might try writing a little test for hash_map
> itself that would be easier to debug.
>
> ...
>
> read more »

Kenton Varda

unread,
Jul 23, 2009, 1:30:17 PM7/23/09
to vikram, Protocol Buffers
It looks like unordered_map or unordered_set is not behaving correctly (e.g. not finding matching keys when they are present) but I can't really tell just from that output.
Reply all
Reply to author
Forward
0 new messages