Status: New
Owner: liuj...@google.com
Labels: Type-Defect Priority-Medium

New issue 593 by manfred....@posteo.de: 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 protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
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