Hi Everyone,

I am running a grpc client, which is sending a lot of requests with the 
audio payload. Most of the requests work fine but sometimes the client 
crashes with the below error.

#1 0x00007f1a8742a03a in __GI_abort () at abort.c:89
#2 0x00007f1a8746a7fa in __libc_message (do_abort=2, fmt=fmt 
@entry=0x7f1a87583f98 "*** Error in `%s': %s: 0x%s ***\n") at 
../sysdeps/posix/libc_fatal.c:175 
#3 0x00007f1a87473e0b in malloc_printerr (ar_ptr=0x7f1a54000020, 
ptr=0x7f1a54018040, str=0x7f1a87580d35 "*corrupted size vs. prev_size*", 
action=3) at malloc.c:5020
#4 _int_free (av=0x7f1a54000020, p=<optimized out>, have_lock=0) at 
malloc.c:4021 
#5 0x00007f1a8747758c in __GI___libc_free (mem=<optimized out>) at 
malloc.c:2975 *#6 0x00007f1a856cff8f in cca::TaskRequest::set_payload(void 
const*, unsigned long) () *from /usr/local/unimrcp/plugin/vairecog.so
#7 0x00007f1a856d5926 in CCACallStream::GrpcThread() () from 
/usr/local/unimrcp/plugin/vairecog.so 
#8 0x00007f1a856e45a7 in void std::_Mem_fn_base<void (CCACallStream::*)(), 
true>::operator()<, void>(CCACallStream*) const () from 
/usr/local/unimrcp/plugin/vairecog.so 

I am using c++ async streaming client. I have two functions, in one i get 
payload that needs to be sent to the server. This function needs to be 
async. Another is my grpc thread, in which I am writing to grpc channel 
writer. My code crashes there when I am resetting the payload length to 0.

My code is something as follows:

private:
   cca::TaskRequest task_request;

// just adds payload to grpc object TaskRequest
void ProcessStreaming(void* audio_bytes, int length) {
  task_request.set_payload(audio_bytes, length);
}

void GrpcThread() {
   if (task_request.payload().length() != 0) {
     writer->Write(task_request, reinterpret_cast<void*>(Type::WRITE));
     *task_request.set_payload("", 0); *// crashes here
}

Here is proto definition of TaskRequest. There are more fields but I have 
just added the minimum info required.

message TaskRequest {
  bytes payload = 1;
}

Thanks in advance for any help in understanding this error.

Deepankar

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/10c6f9d4-4f5d-4ffb-ae4f-1cf182c8220an%40googlegroups.com.

Reply via email to