protoc crash in libstdc++

From: René Ladan <rene_at_freebsd.org>
Date: Tue, 18 Dec 2012 13:21:42 +0100
Hi,

the following backtrace is from a crash that happened when building
www/chromium with clang.  The chromium port builds a binary protoc which
crashes when built with clang.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 802006400 (LWP 100869)]
0x0000000800996506 in std::ostream::sentry::sentry(std::ostream&) ()
from /usr/lib/libstdc++.so.6
(gdb) bt
#0  0x0000000800996506 in std::ostream::sentry::sentry(std::ostream&) ()
from /usr/lib/libstdc++.so.6
#1  0x00000008009964cd in std::basic_ostream<char>::sentry::sentry
(this=0x7fffffffcf88, __os=...) at /usr/include/c++/4.2/ostream:62
#2  0x0000000800998a4b in std::__ostream_insert<char,
std::char_traits<char> > (__out=..., __s=0x485df0 "Missing input file.",
__n=19)
   at
/usr/src/gnu/lib/libstdc++/../../../contrib/libstdc++/include/bits/ostream_insert.h:83
#3  0x000000000040592c in operator<<<std::char_traits<char> >
(this=<optimized out>, __out=..., __out=..., __s=<optimized out>) at
/usr/include/c++/4.2/ostream:517
#4  google::protobuf::compiler::CommandLineInterface::ParseArguments
(this=<optimized out>, argc=1, argv=0x7fffffffd640) at
third_party/protobuf/src/google/protobuf/compiler/command_line_interface.cc:790
#5  0x00000000004048b0 in
google::protobuf::compiler::CommandLineInterface::Run
(this=0x7fffffffd4d0, argc=-12408, argv=0x7fffffffcf88)
   at
third_party/protobuf/src/google/protobuf/compiler/command_line_interface.cc:588
#6  0x0000000000432957 in main (argc=-12408, argv=0x7fffffffcf88) at
third_party/protobuf/src/google/protobuf/compiler/main.cc:59
(gdb) frame 2
#2  0x0000000800998a4b in std::__ostream_insert<char,
std::char_traits<char> > (__out=..., __s=0x485df0 "Missing input file.",
__n=19)
   at
/usr/src/gnu/lib/libstdc++/../../../contrib/libstdc++/include/bits/ostream_insert.h:83
83
(gdb) list
78          __ostream_insert(basic_ostream<_CharT, _Traits>& __out,
79                           const _CharT* __s, streamsize __n)
80          {
81            typedef basic_ostream<_CharT, _Traits>       __ostream_type;
82            typedef typename __ostream_type::ios_base    __ios_base;
83
84            typename __ostream_type::sentry __cerb(__out);
...

So the question is if this is a protoc or a clang or a libstdc++ bug.

René
Received on Tue Dec 18 2012 - 11:21:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:33 UTC