pybind / pybind/pybind11_protobuf

Integrating with another project will crash

Open
#192 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bazel help wanted
Dominant language
C++
Stars
67
Forks
37
PR merge metrics
No merged PRs in 30d

Description

Integrating with another project (named CyberRT) will crash, CyberRT have used protobuf's reflection function.

error info:
"[libprotobuf ERROR external/com_google_protobuf/src/google/protobuf/descriptor_database.cc:641] File already exists in database: XXXX.proto
[libprotobuf FATAL external/com_google_protobuf/src/google/protobuf/descriptor.cc:2021] CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):
terminate called after throwing an instance of 'google::protobuf::FatalException'
what(): CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):
Aborted (core dumped)"

I don't know how to fix it, thanks.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the crash while integrating with CyberRT and using protobuf reflection. Start by tracing the duplicate descriptor registration reported in external/com_google_protobuf/src/google/protobuf/descriptor_database.cc:641 and the failure in descriptor.cc:2021; done means identifying a compatible integration path and preventing the fatal duplicate-registration crash.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.