Skip to content

Linux - Runtime error: Invalid file descriptor data passed to EncodedDescriptorDatabase::Add() #380

@Riari

Description

@Riari

I have a project that uses GNS via vcpkg (latest version) and CMake (4.0.1). It builds successfully on Linux, but the following initialization error occurs when I run the binary:

WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1747250733.963368   34828 descriptor_database.cc:550] Invalid file descriptor data passed to EncodedDescriptorDatabase::Add().
F0000 00:00:1747250733.963595   34828 descriptor.cc:2248] Check failed: GeneratedDatabase()->Add(encoded_file_descriptor, size) 
[symbolize_elf.inc : 392] RAW: Unable to get high fd: rc=0, limit=1024
*** Check failure stack trace: ***
    @     0x7ffff79aa0b0  absl::lts_20250127::log_internal::LogMessage::PrepareToDie()
    @     0x7ffff79aa11f  absl::lts_20250127::log_internal::LogMessage::SendToLog()
    @     0x7ffff79a9b71  absl::lts_20250127::log_internal::LogMessage::Flush()
    @     0x7ffff79aa416  absl::lts_20250127::log_internal::LogMessageFatal::~LogMessageFatal()
    @     0x7ffff7435d4b  google::protobuf::DescriptorPool::InternalAddGeneratedFile()
    @     0x7ffff72fedbe  google::protobuf::(anonymous namespace)::AddDescriptorsImpl()
    @     0x7ffff72fedf7  google::protobuf::internal::AddDescriptors()
    @     0x7ffff72c1f2b  __static_initialization_and_destruction_1()
    @     0x7ffff72c1f42  _GLOBAL__sub_I.00102_steamnetworkingsockets_messages_certs.pb.cc
    @     0x7ffff7fcb257  (unknown)
    @     0x7ffff7fcb32d  (unknown)
    @     0x7ffff7fe34e0  (unknown)

Program received signal SIGABRT, Aborted.

Stack trace via GDB:

0x00007ffff6aa5624 in ?? () from /usr/lib/libc.so.6
#0  0x00007ffff6aa5624 in ?? () from /usr/lib/libc.so.6
#1  0x00007ffff6a4bba0 in raise () from /usr/lib/libc.so.6
#2  0x00007ffff6a33582 in abort () from /usr/lib/libc.so.6
#3  0x00007ffff79a96e5 in absl::lts_20250127::log_internal::LogMessage::FailWithoutStackTrace ()
    at /home/rick/Code/gns-vcpkg-test/vcpkg/buildtrees/abseil/src/20250127.1-a0a219bf72.clean/absl/log/internal/log_message.cc:390
#4  0x00007ffff79aa0f2 in absl::lts_20250127::log_internal::LogMessage::Die (this=0x7fffffffdd90)
    at /home/rick/Code/gns-vcpkg-test/vcpkg/buildtrees/abseil/src/20250127.1-a0a219bf72.clean/absl/log/internal/log_message.cc:550
#5  0x00007ffff79aa199 in absl::lts_20250127::log_internal::LogMessage::SendToLog (this=0x7fffffffdd90)
    at /home/rick/Code/gns-vcpkg-test/vcpkg/buildtrees/abseil/src/20250127.1-a0a219bf72.clean/absl/log/internal/log_message.cc:559
#6  0x00007ffff79a9b71 in absl::lts_20250127::log_internal::LogMessage::Flush (this=0x7fffffffdd90)
    at /home/rick/Code/gns-vcpkg-test/vcpkg/buildtrees/abseil/src/20250127.1-a0a219bf72.clean/absl/log/internal/log_message.cc:471
#7  0x00007ffff79aa416 in absl::lts_20250127::log_internal::LogMessageFatal::~LogMessageFatal (this=0x7fffffffdd90, __in_chrg=<optimized out>)
    at /home/rick/Code/gns-vcpkg-test/vcpkg/buildtrees/abseil/src/20250127.1-a0a219bf72.clean/absl/log/internal/log_message.cc:694
#8  0x00007ffff7435d4b in google::protobuf::DescriptorPool::InternalAddGeneratedFile (encoded_file_descriptor=0x7ffff70004a0, size=753)
    at /home/rick/Code/gns-vcpkg-test/vcpkg/buildtrees/protobuf/src/v5.29.3-7ac3e413eb.clean/src/google/protobuf/descriptor.cc:2248
#9  0x00007ffff72fedbe in google::protobuf::(anonymous namespace)::AddDescriptorsImpl (
    table=0x7ffff7ef0be0 <descriptor_table_steamnetworkingsockets_5fmessages_5fcerts_2eproto>)
    at /home/rick/Code/gns-vcpkg-test/vcpkg/buildtrees/protobuf/src/v5.29.3-7ac3e413eb.clean/src/google/protobuf/generated_message_reflection.cc:3712
#10 0x00007ffff72fedf7 in google::protobuf::internal::AddDescriptors (table=0x7ffff7ef0be0 <descriptor_table_steamnetworkingsockets_5fmessages_5fcerts_2eproto>)
    at /home/rick/Code/gns-vcpkg-test/vcpkg/buildtrees/protobuf/src/v5.29.3-7ac3e413eb.clean/src/google/protobuf/generated_message_reflection.cc:3727
#11 0x00007ffff72c1f2b in __static_initialization_and_destruction_1 ()
    at /home/rick/Code/gns-vcpkg-test/vcpkg/buildtrees/gamenetworkingsockets/x64-linux-dbg/src/steamnetworkingsockets_messages_certs.pb.cc:1719
#12 0x00007ffff72c1f42 in _GLOBAL__sub_I.00102_steamnetworkingsockets_messages_certs.pb.cc(void) ()
    at /home/rick/Code/gns-vcpkg-test/build/vcpkg_installed/x64-linux/include/google/protobuf/port_undef.inc:169
#13 0x00007ffff7fcb257 in ?? () from /lib64/ld-linux-x86-64.so.2
#14 0x00007ffff7fcb32d in ?? () from /lib64/ld-linux-x86-64.so.2
#15 0x00007ffff7fe34e0 in ?? () from /lib64/ld-linux-x86-64.so.2
#16 0x0000000000000001 in ?? ()

I was able to reproduce this issue with the vcpkg_example_chat example.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions