Status: New
Owner: [email protected]
Labels: Type-Defect Priority-Medium

New issue 593 by [email protected]: FatalException on calling SerializeAsString()
http://code.google.com/p/protobuf/issues/detail?id=593

Constellation:
Protobuf 2.5.0
Ubuntu 12.04 LTS
C++ API

Problem:
Protobuf randomly throws a FatalException on calling SerializeAsString() with this output: [libprotobuf FATAL google/protobuf/message_lite.cc:224] CHECK failed: !coded_out.HadError(): terminate called after throwing an instance of 'google::protobuf::FatalException'
  what(): CHECK failed: !coded_out.HadError()

This happens on every 10th or 100th call of SerializeAsString().

This is the source code in which the SerializeAsString is called:

QByteArray ProtobufSerializer::serialize(AbstractTransferable* transferable) throw(NexusDataLinkException) {
    ProtoEnvelop envelop;
    ProtoPayloadWrapper* wrapper = envelop.add_payloadwrapper();

    ChannelResponse* response = static_cast<ChannelResponse*>(transferable);
ProtoResponse* allocatedProtoResponse(wrapper->mutable_channelresponse()); populateProtoResponse(response, allocatedProtoResponse, transferable->getDataContainer());

    envelop.set_destination_id(CommonDefinitions::SERVER_ID);
    envelop.set_source_id(agentId);

    // convert to byte array
    std::string dataString = envelop.SerializeAsString();
QByteArray data = QByteArray(dataString.data(), dataString.size()); // makes a deep copy of the data contained in dataString

    return data;
}

What could be the cause of this error? I could not find anything similar on google & Co.

Kind regards,
Manfred

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to