This solved my
issue
https://stackoverflow.com/questions/53648009/google-protobuf-mutable-foo-or-set-allocated-foo
On Wednesday, August 31, 2022 at 11:37:48 AM UTC-4 Timothy Sutton wrote:
> Sorry forgot to add this information, g++ complier and protoc version I am
> using
>
>
> [tsutton@ssa-syr-g1x-dev01 simple_proto]$ g++ --version
> g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
> Copyright (C) 2015 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> [tsutton@ssa-syr-g1x-dev01 simple_proto]$ protoc --version
> libprotoc 3.21.5
>
> On Wednesday, August 31, 2022 at 11:36:44 AM UTC-4 Timothy Sutton wrote:
>
>> I am getting a sigabrt when my deconstructor is being called. I have a
>> fairly proto file. Which is below highlighted in yellow (sorry I cant do
>> attachments). I did a simple main to create my Data and then assign a
>> heartbeat, and then try to unassign the heartbeat and this creates a
>> SIGABRT with _int_free() issue. My quick main application is highlighted in
>> red below.
>>
>>
>>
>>
>> syntax = "proto3";
>> package common;
>>
>> option java_package = "com.corporate";
>> option java_multiple_files = true;
>>
>> enum Kind {
>> COMMON = 0;
>> }
>>
>> message Data { //header.kind == "COMMON"
>> oneof content {
>> Heartbeat heartbeat = 1;
>> Acknowledge acknowledge = 2;
>> DataUpdateRequest dataupdateRequest = 3;
>> }
>> }
>>
>> message Heartbeat {
>> }
>>
>> message Acknowledge {
>> uint64 counter = 1; //counter from originating message
>> AcknowledgeKind kind = 2;
>> }
>>
>> message DataUpdateRequest {
>> }
>>
>> enum AcknowledgeKind {
>> ACKNOWLEDGE_OK = 0; //the originating messages has been accepted
>> ACKNOWLEDGE_ERROR = 1; //processing error during processing of message
>> ACKNOWLEDGE_ERROR_NOT_IMPLEMENTED = 2; //the processing of the
>> originating messages is not implemented
>> ACKNOWLEDGE_ERROR_NOT_FOUND = 3; //the processing of the originating
>> message could not be performed, the referenced object was not found
>> }
>>
>>
>>
>> #include <iostream>
>> using namespace std;
>>
>> #include "src/main/cpp/proto_api/common/data.pb.h"
>> int main(int argc, char **argv) {
>> // Simple example of destructor failure
>> while(true){
>> common::Data data;
>> common::Heartbeat heartbeat;
>> data.set_allocated_heartbeat(&heartbeat);
>> cerr << "Created data and heartbeat" << endl;
>> try {
>> data.clear_heartbeat();
>> } catch (const std::exception& e)
>> {
>> cerr << " Exception " << e.what() << endl;
>> }
>>
>> }
>> return 0;
>> }
>>
>>
>>
>>
>>
--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/protobuf/e28aaffb-cc59-4d5a-9a49-9c1993323419n%40googlegroups.com.