protocolbuffers / protobuf

Protocol Buffers - Google's data interchange format
http://protobuf.dev
Other
64.74k stars 15.38k forks source link

Invalid symbol name: google.protobuf.@ #16940

Open M-Labedzki opened 2 months ago

M-Labedzki commented 2 months ago

What version of protobuf and what language are you using? Version: 3.20.3 Language: C++

What operating system (Linux, Windows, ...) and version? Linux, Kernel 5.15 What runtime / compiler are you using (e.g., python version or gcc version) gcc 12.2

During library initialization while loading descriptor google/protobuf/decriptor.proto an invalid symbol was parsed - "google.protobuf.@" which caused an exception:

0 0x0000007fbb48f454 in ?? () from /usr/lib64/libc.so.6

1 0x0000007fbb44a7dc in raise () from /usr/lib64/libc.so.6

2 0x0000007fbb436f10 in abort () from /usr/lib64/libc.so.6

3 0x0000007fbaa250bc in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib64/libstdc++.so.6

4 0x0000007fbaa228cc in ?? () from /usr/lib64/libstdc++.so.6

5 0x0000007fbaa22930 in std::terminate() () from /usr/lib64/libstdc++.so.6

6 0x0000007fbaa22c40 in __cxa_throw () from /usr/lib64/libstdc++.so.6

7 0x0000007fb9994450 in google::protobuf::internal::LogMessage::Finish (this=)

at /usr/include/c++/12.2.0/bits/basic_string.tcc:238

8 0x0000007fb9994490 in google::protobuf::internal::LogFinisher::operator= (this=this@entry=0x7fd4bcf9b8, other=...)

at /usr/src/debug/protobuf/3.20.3-r0/src/google/protobuf/stubs/common.cc:260

9 0x0000007fb99c1a0c in google::protobuf::DescriptorPool::InternalAddGeneratedFile (encoded_file_descriptor=,

size=6078) at /usr/src/debug/protobuf/3.20.3-r0/src/google/protobuf/descriptor.cc:1984

10 0x0000007fb9a2ea98 in google::protobuf::(anonymous namespace)::AddDescriptorsImpl (

table=0x7fb9b80260 <descriptor_table_google_2fprotobuf_2fdescriptor_2eproto>)
at /usr/src/debug/protobuf/3.20.3-r0/src/google/protobuf/generated_message_reflection.cc:3045

11 0x0000007fbb859908 in ?? () from /lib64/ld-linux-aarch64.so.1

12 0x0000007fbb859a1c in ?? () from /lib64/ld-linux-aarch64.so.1

13 0x0000007fbb86f6f8 in ?? () from /lib64/ld-linux-aarch64.so.1

The error was a single occurrence but I'm not sure what could've caused it since the decriptor.proto is hardcoded in decriptor.pb.cc. The input to the Add() function at the time of the crash is the same as when it finishes correctly. Also I don't see where did the parser get the @ symbol from since it's not in the descriptor.

The error log was: Invalid symbol name: google.protobuf.@

deannagarcia commented 1 month ago

Version 3.20 is pretty old and no longer actively supported. Can you try to update protobuf to a newer version and see if the error is still there?