Looks like you are doing two async operations together in your server: (in 
calldata when status == PROCESS)

*            responder_.Write (reply_, this);*
*            responder_.Finish(grpc::Status::OK, this);*

Instead try one operation at a time..For example, add a new state (for 
example: DESTROY) and you can modify the CallData's Process() function the 
following way:

   enum CallStatus { CREATE, PROCESS, FINISH, DESTROY };

   void Proceed() {
        if (status_ == CREATE) {
            status_ = PROCESS;
            service_->RequestSayHello(&ctx_, &request_, &responder_, cq_, 
cq_, this);
        } else if (status_ == PROCESS) {
            new CallData(service_, cq_);
            reply_.set_reply("hello " + request_.message());
            responder_.Write (reply_, this); // Do only Write here. Not 
Finish
            status_ = FINISH;
        } else if (status_ == FINISH) {
            responder_.Finish(grpc::Status::OK, this);  // Do Finish here.. 
Not 'delete this'
            status_ = DESTROY
        } else {
            GPR_ASSERT(status_ == *DESTROY*); 
            delete this;
        }
    }

Let me know if that works.

thanks,
Sree

On Thursday, November 17, 2016 at 6:23:25 AM UTC-8, [email protected] wrote:
>
>
> OK, tracked it down to 
> grpc-1.0.0/include/grpc++/impl/codegen/completion_queue_tag.h -- the pure 
> virtual function "bool FinalizeResult()" -- what do I need to do to 
> initialize it that I'm not doing in the program above? (As a hack, I just 
> had it print a message to stdout and return "false", now the program 
> doesn't give the "pure virtual method" error, but obviously isn't working 
> completely as intended)
>
> On Wednesday, November 16, 2016 at 9:12:43 AM UTC-5, [email protected] 
> wrote:
>>
>> Sadly, I'm still stuck. I don't know enough C++ to be able to diagnose 
>> this further... :-(
>>
>> On Tuesday, November 15, 2016 at 2:01:50 PM UTC-5, [email protected] 
>> wrote:
>>>
>>> Ok:
>>>
>>> *(gdb) handle SIG36 noprint*
>>> *Signal        Stop      Print   Pass to program Description*
>>> *SIG36         No        No      Yes             Real-time event 36*
>>> *(gdb) run*
>>> *Starting program: /.../minfail*
>>> *[Thread debugging using libthread_db enabled]*
>>> *D1115 13:59:40.187940393   34391 env_linux.c:77]             Warning: 
>>> insecure environment read function 'getenv' used*
>>> *[New Thread 0x7ffff6fcc700 (LWP 34394)]*
>>> *[New Thread 0x7ffff65cb700 (LWP 34395)]*
>>> *[New Thread 0x7ffff5bca700 (LWP 34396)]*
>>> *[New Thread 0x7ffff51c9700 (LWP 34397)]*
>>> *[New Thread 0x7ffff47c8700 (LWP 34398)]*
>>> *[New Thread 0x7ffff3dc7700 (LWP 34399)]*
>>> *[New Thread 0x7ffff33c6700 (LWP 34400)]*
>>> *[New Thread 0x7ffff29c5700 (LWP 34401)]*
>>> *[New Thread 0x7ffff1fc4700 (LWP 34402)]*
>>> *[New Thread 0x7ffff15c3700 (LWP 34403)]*
>>> *[New Thread 0x7ffff0bc2700 (LWP 34404)]*
>>> *[New Thread 0x7ffff01c1700 (LWP 34405)]*
>>> *[New Thread 0x7fffef7c0700 (LWP 34406)]*
>>> *[New Thread 0x7fffeedbf700 (LWP 34407)]*
>>> *[New Thread 0x7fffee3be700 (LWP 34408)]*
>>> *[New Thread 0x7fffed9bd700 (LWP 34409)]*
>>> *pure virtual method called*
>>> *terminate called without an active exception*
>>>
>>> *Program received signal SIGABRT, Aborted.*
>>> *0x00000035ce0325e5 in raise () from /lib64/libc.so.6*
>>> *(gdb) bt*
>>> *#0  0x00000035ce0325e5 in raise () from /lib64/libc.so.6*
>>> *#1  0x00000035ce033dc5 in abort () from /lib64/libc.so.6*
>>> *#2  0x00000035d4cbea7d in __gnu_cxx::__verbose_terminate_handler() () 
>>> from /usr/lib64/libstdc++.so.6*
>>> *#3  0x00000035d4cbcbd6 in ?? () from /usr/lib64/libstdc++.so.6*
>>> *#4  0x00000035d4cbcc03 in std::terminate() () from 
>>> /usr/lib64/libstdc++.so.6*
>>> *#5  0x00000035d4cbd55f in __cxa_pure_virtual () from 
>>> /usr/lib64/libstdc++.so.6*
>>> *#6  0x00007ffff76e3f7a in 
>>> grpc::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) () 
>>> from /.../lib/libgrpc++.so.1*
>>> *#7  0x000000000040919f in grpc::CompletionQueue::Next 
>>> [_ZN4grpc15Completion...] (this=0x628fa0, tag=0x7fffffffe1e8, 
>>> ok=0x7fffffffe1e7) at 
>>> .../include/grpc++/impl/codegen/completion_queue.h:148*
>>> *#8  0x00000000004085ca in main [main] (argc=1, argv=0x7fffffffe3a8) at 
>>> minfail.cc:95*
>>> *(gdb)*
>>>
>>>
>>> On Tuesday, November 15, 2016 at 1:55:48 PM UTC-5, Craig Tiller wrote:
>>>>
>>>> You probably want to first do 'handle SIG36 noprint' to let gdb pass 
>>>> the (totally legitimate) signal to the application.
>>>>
>>>> On Tue, Nov 15, 2016 at 8:56 AM <[email protected]> wrote:
>>>>
>>>>>
>>>>> Hi all,
>>>>>
>>>>> I've created a tiny code sample that is based off the hello world 
>>>>> async greeter example. I keep getting a "pure virtual method called" in 
>>>>> the 
>>>>> grpc_completion_queue_next() function, and I'm having a hard time 
>>>>> understanding why. What am I doing wrong?
>>>>>
>>>>> I've included the proto file, C++ code and gdb output... (the program 
>>>>> is both a client or a server, if you give it a command line value of "c" 
>>>>> it 
>>>>> acts as a client).
>>>>>
>>>>> Thanks in advance!
>>>>>
>>>>> PROTO FILE
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *syntax = "proto3";package helloworld;service Greeter{    rpc SayHello 
>>>>> (HelloRequest) returns (stream HelloReply) {}}message HelloRequest{    
>>>>> string  message = 1;}message HelloReply{    string  reply = 1;}*
>>>>>
>>>>>
>>>>> C++ CODE
>>>>>
>>>>> *#include <iostream>*
>>>>> *#include <string>*
>>>>> *#include <grpc++/grpc++.h>*
>>>>> *#include "minfail.grpc.pb.h"*
>>>>>
>>>>> *using namespace std;*
>>>>> *using namespace helloworld;*
>>>>>
>>>>> *class CallData {*
>>>>> *public:*
>>>>> *    CallData(Greeter::AsyncService* service, 
>>>>> grpc::ServerCompletionQueue* cq) : service_(service), cq_(cq), 
>>>>> responder_(&ctx_), status_(CREATE) {*
>>>>> *        Proceed();*
>>>>> *    }*
>>>>>
>>>>> *    void Proceed() {*
>>>>> *        if (status_ == CREATE) {*
>>>>> *            status_ = PROCESS;*
>>>>> *            service_->RequestSayHello(&ctx_, &request_, &responder_, 
>>>>> cq_, cq_, this);*
>>>>> *        } else if (status_ == PROCESS) {*
>>>>> *            new CallData(service_, cq_);*
>>>>> *            reply_.set_reply("hello " + request_.message());*
>>>>> *            responder_.Write (reply_, this);*
>>>>> *            responder_.Finish(grpc::Status::OK, this);*
>>>>> *            status_ = FINISH;*
>>>>> *        } else {*
>>>>> *            GPR_ASSERT(status_ == FINISH);*
>>>>> *            delete this;*
>>>>> *        }*
>>>>> *    }*
>>>>>
>>>>> *private:*
>>>>> *    HelloRequest request_;*
>>>>> *    HelloReply reply_;*
>>>>> *    grpc::ServerAsyncWriter<HelloReply> responder_;*
>>>>>
>>>>> *    enum CallStatus { CREATE, PROCESS, FINISH };*
>>>>> *    CallStatus status_;*
>>>>> *    grpc::ServerContext ctx_;*
>>>>> *    grpc::ServerCompletionQueue* cq_;*
>>>>> *    Greeter::AsyncService* service_;*
>>>>> *};*
>>>>>
>>>>> *class GreeterClient*
>>>>> *{*
>>>>> *public:*
>>>>> *    GreeterClient (shared_ptr <grpc::Channel> channel)*
>>>>> *    : stub_ (Greeter::NewStub (channel)) {}*
>>>>> *    string*
>>>>> *    SayHello (const string &user) {*
>>>>> *        HelloRequest request;*
>>>>> *        request.set_message (user);*
>>>>> *        grpc::ClientContext context;*
>>>>> *        unique_ptr <grpc::ClientReader <HelloReply>> reader 
>>>>> (stub_->SayHello (&context, request));*
>>>>> *        HelloReply reply;*
>>>>> *        while (reader -> Read (&reply)) {*
>>>>> *            cout << "SayHello returns " << reply.reply() << "\n";*
>>>>> *        }*
>>>>> *        grpc::Status status = reader -> Finish();*
>>>>> *        if (status.ok()) {*
>>>>> *            return (reply.reply());*
>>>>> *        }*
>>>>> *        return ("<RPC failed>");*
>>>>> *    }*
>>>>>
>>>>> *private:*
>>>>> *    unique_ptr<Greeter::Stub> stub_;*
>>>>> *};*
>>>>>
>>>>> *int*
>>>>> *main (int argc, char **argv)*
>>>>> *{*
>>>>> *    string server_address ("0.0.0.0:50051 <http://0.0.0.0:50051>");*
>>>>>
>>>>> *    if (argc == 2 && argv [1][0] == 'c') {*
>>>>> *        GreeterClient greeter(grpc::CreateChannel (server_address, 
>>>>> grpc::InsecureChannelCredentials()));*
>>>>> *        cout << "Sending world...\n";*
>>>>> *        cout << "Response is " << greeter.SayHello ("world") << "\n";*
>>>>> *    } else {*
>>>>> *        unique_ptr<grpc::ServerCompletionQueue> cq;*
>>>>> *        Greeter::AsyncService service;*
>>>>> *        unique_ptr<grpc::Server> server;*
>>>>>
>>>>> *        grpc::ServerBuilder builder;*
>>>>>
>>>>> *        builder.AddListeningPort(server_address, 
>>>>> grpc::InsecureServerCredentials());*
>>>>> *        builder.RegisterService(&service);*
>>>>> *        cq = builder.AddCompletionQueue();*
>>>>> *        server = builder.BuildAndStart();*
>>>>>
>>>>> *        new CallData(&service, cq.get());*
>>>>> *        CallData* tag;  // uniquely identifies a request.*
>>>>> *        bool ok;*
>>>>> *        while (true) {*
>>>>> *            GPR_ASSERT(cq->Next((void **)&tag, &ok));*
>>>>> *            GPR_ASSERT(ok);*
>>>>> *            tag->Proceed();*
>>>>> *        }*
>>>>>
>>>>> *        server->Shutdown();*
>>>>> *        cq->Shutdown();*
>>>>> *    }*
>>>>> *}*
>>>>>
>>>>> and run / GDB output:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *$ ./minfailD1115 11:45:47.919769500   24264 
>>>>> env_linux.c:77]             Warning: insecure environment read function 
>>>>> 'getenv' usedpure virtual method calledterminate called without an active 
>>>>> exceptionAborted (core dumped)*
>>>>>
>>>>> *$ gdb ./minfail*
>>>>> *... elided ...*
>>>>> *Program received signal SIG36, Real-time event 36.*
>>>>> *0x00000035ce0e8cec in epoll_pwait () from /lib64/libc.so.6*
>>>>> *(gdb) bt*
>>>>> *#0  0x00000035ce0e8cec in epoll_pwait () from /lib64/libc.so.6*
>>>>> *#1  0x00007ffff76f8d4a in ?? () from /.../lib/libgrpc++.so.1*
>>>>> *#2  0x00007ffff76f91a6 in ?? () from /.../lib/libgrpc++.so.1*
>>>>> *#3  0x00007ffff770d61b in grpc_completion_queue_next () from 
>>>>> /.../lib/libgrpc++.so.1*
>>>>> *#4  0x00007ffff76e3f20 in 
>>>>> grpc::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) () 
>>>>> from /.../lib/libgrpc++.so.1*
>>>>> *#5  0x000000000040919f in grpc::CompletionQueue::Next 
>>>>> [_ZN4grpc15Completion...] (this=0x628fa0, tag=0x7fffffffe1e8, 
>>>>> ok=0x7fffffffe1e7) at 
>>>>> .../include/grpc++/impl/codegen/completion_queue.h:148*
>>>>> *#6  0x00000000004085ca in main [main] (argc=1, argv=0x7fffffffe3a8) 
>>>>> at minfail.cc:95*
>>>>> *(gdb)*
>>>>>
>>>>> Any help greatly appreciated!
>>>>>
>>>>> Cheers,
>>>>> -RK
>>>>>
>>>>> -- 
>>>>> 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 [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> Visit this group at https://groups.google.com/group/grpc-io.
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msgid/grpc-io/34f059a0-f825-4aa3-a725-84fb61e46b1f%40googlegroups.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/grpc-io/34f059a0-f825-4aa3-a725-84fb61e46b1f%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
> On Wednesday, November 16, 2016 at 9:12:43 AM UTC-5, [email protected] 
> wrote:
>>
>> Sadly, I'm still stuck. I don't know enough C++ to be able to diagnose 
>> this further... :-(
>>
>> On Tuesday, November 15, 2016 at 2:01:50 PM UTC-5, [email protected] 
>> wrote:
>>>
>>> Ok:
>>>
>>> *(gdb) handle SIG36 noprint*
>>> *Signal        Stop      Print   Pass to program Description*
>>> *SIG36         No        No      Yes             Real-time event 36*
>>> *(gdb) run*
>>> *Starting program: /.../minfail*
>>> *[Thread debugging using libthread_db enabled]*
>>> *D1115 13:59:40.187940393   34391 env_linux.c:77]             Warning: 
>>> insecure environment read function 'getenv' used*
>>> *[New Thread 0x7ffff6fcc700 (LWP 34394)]*
>>> *[New Thread 0x7ffff65cb700 (LWP 34395)]*
>>> *[New Thread 0x7ffff5bca700 (LWP 34396)]*
>>> *[New Thread 0x7ffff51c9700 (LWP 34397)]*
>>> *[New Thread 0x7ffff47c8700 (LWP 34398)]*
>>> *[New Thread 0x7ffff3dc7700 (LWP 34399)]*
>>> *[New Thread 0x7ffff33c6700 (LWP 34400)]*
>>> *[New Thread 0x7ffff29c5700 (LWP 34401)]*
>>> *[New Thread 0x7ffff1fc4700 (LWP 34402)]*
>>> *[New Thread 0x7ffff15c3700 (LWP 34403)]*
>>> *[New Thread 0x7ffff0bc2700 (LWP 34404)]*
>>> *[New Thread 0x7ffff01c1700 (LWP 34405)]*
>>> *[New Thread 0x7fffef7c0700 (LWP 34406)]*
>>> *[New Thread 0x7fffeedbf700 (LWP 34407)]*
>>> *[New Thread 0x7fffee3be700 (LWP 34408)]*
>>> *[New Thread 0x7fffed9bd700 (LWP 34409)]*
>>> *pure virtual method called*
>>> *terminate called without an active exception*
>>>
>>> *Program received signal SIGABRT, Aborted.*
>>> *0x00000035ce0325e5 in raise () from /lib64/libc.so.6*
>>> *(gdb) bt*
>>> *#0  0x00000035ce0325e5 in raise () from /lib64/libc.so.6*
>>> *#1  0x00000035ce033dc5 in abort () from /lib64/libc.so.6*
>>> *#2  0x00000035d4cbea7d in __gnu_cxx::__verbose_terminate_handler() () 
>>> from /usr/lib64/libstdc++.so.6*
>>> *#3  0x00000035d4cbcbd6 in ?? () from /usr/lib64/libstdc++.so.6*
>>> *#4  0x00000035d4cbcc03 in std::terminate() () from 
>>> /usr/lib64/libstdc++.so.6*
>>> *#5  0x00000035d4cbd55f in __cxa_pure_virtual () from 
>>> /usr/lib64/libstdc++.so.6*
>>> *#6  0x00007ffff76e3f7a in 
>>> grpc::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) () 
>>> from /.../lib/libgrpc++.so.1*
>>> *#7  0x000000000040919f in grpc::CompletionQueue::Next 
>>> [_ZN4grpc15Completion...] (this=0x628fa0, tag=0x7fffffffe1e8, 
>>> ok=0x7fffffffe1e7) at 
>>> .../include/grpc++/impl/codegen/completion_queue.h:148*
>>> *#8  0x00000000004085ca in main [main] (argc=1, argv=0x7fffffffe3a8) at 
>>> minfail.cc:95*
>>> *(gdb)*
>>>
>>>
>>> On Tuesday, November 15, 2016 at 1:55:48 PM UTC-5, Craig Tiller wrote:
>>>>
>>>> You probably want to first do 'handle SIG36 noprint' to let gdb pass 
>>>> the (totally legitimate) signal to the application.
>>>>
>>>> On Tue, Nov 15, 2016 at 8:56 AM <[email protected]> wrote:
>>>>
>>>>>
>>>>> Hi all,
>>>>>
>>>>> I've created a tiny code sample that is based off the hello world 
>>>>> async greeter example. I keep getting a "pure virtual method called" in 
>>>>> the 
>>>>> grpc_completion_queue_next() function, and I'm having a hard time 
>>>>> understanding why. What am I doing wrong?
>>>>>
>>>>> I've included the proto file, C++ code and gdb output... (the program 
>>>>> is both a client or a server, if you give it a command line value of "c" 
>>>>> it 
>>>>> acts as a client).
>>>>>
>>>>> Thanks in advance!
>>>>>
>>>>> PROTO FILE
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *syntax = "proto3";package helloworld;service Greeter{    rpc SayHello 
>>>>> (HelloRequest) returns (stream HelloReply) {}}message HelloRequest{    
>>>>> string  message = 1;}message HelloReply{    string  reply = 1;}*
>>>>>
>>>>>
>>>>> C++ CODE
>>>>>
>>>>> *#include <iostream>*
>>>>> *#include <string>*
>>>>> *#include <grpc++/grpc++.h>*
>>>>> *#include "minfail.grpc.pb.h"*
>>>>>
>>>>> *using namespace std;*
>>>>> *using namespace helloworld;*
>>>>>
>>>>> *class CallData {*
>>>>> *public:*
>>>>> *    CallData(Greeter::AsyncService* service, 
>>>>> grpc::ServerCompletionQueue* cq) : service_(service), cq_(cq), 
>>>>> responder_(&ctx_), status_(CREATE) {*
>>>>> *        Proceed();*
>>>>> *    }*
>>>>>
>>>>> *    void Proceed() {*
>>>>> *        if (status_ == CREATE) {*
>>>>> *            status_ = PROCESS;*
>>>>> *            service_->RequestSayHello(&ctx_, &request_, &responder_, 
>>>>> cq_, cq_, this);*
>>>>> *        } else if (status_ == PROCESS) {*
>>>>> *            new CallData(service_, cq_);*
>>>>> *            reply_.set_reply("hello " + request_.message());*
>>>>> *            responder_.Write (reply_, this);*
>>>>> *            responder_.Finish(grpc::Status::OK, this);*
>>>>> *            status_ = FINISH;*
>>>>> *        } else {*
>>>>> *            GPR_ASSERT(status_ == FINISH);*
>>>>> *            delete this;*
>>>>> *        }*
>>>>> *    }*
>>>>>
>>>>> *private:*
>>>>> *    HelloRequest request_;*
>>>>> *    HelloReply reply_;*
>>>>> *    grpc::ServerAsyncWriter<HelloReply> responder_;*
>>>>>
>>>>> *    enum CallStatus { CREATE, PROCESS, FINISH };*
>>>>> *    CallStatus status_;*
>>>>> *    grpc::ServerContext ctx_;*
>>>>> *    grpc::ServerCompletionQueue* cq_;*
>>>>> *    Greeter::AsyncService* service_;*
>>>>> *};*
>>>>>
>>>>> *class GreeterClient*
>>>>> *{*
>>>>> *public:*
>>>>> *    GreeterClient (shared_ptr <grpc::Channel> channel)*
>>>>> *    : stub_ (Greeter::NewStub (channel)) {}*
>>>>> *    string*
>>>>> *    SayHello (const string &user) {*
>>>>> *        HelloRequest request;*
>>>>> *        request.set_message (user);*
>>>>> *        grpc::ClientContext context;*
>>>>> *        unique_ptr <grpc::ClientReader <HelloReply>> reader 
>>>>> (stub_->SayHello (&context, request));*
>>>>> *        HelloReply reply;*
>>>>> *        while (reader -> Read (&reply)) {*
>>>>> *            cout << "SayHello returns " << reply.reply() << "\n";*
>>>>> *        }*
>>>>> *        grpc::Status status = reader -> Finish();*
>>>>> *        if (status.ok()) {*
>>>>> *            return (reply.reply());*
>>>>> *        }*
>>>>> *        return ("<RPC failed>");*
>>>>> *    }*
>>>>>
>>>>> *private:*
>>>>> *    unique_ptr<Greeter::Stub> stub_;*
>>>>> *};*
>>>>>
>>>>> *int*
>>>>> *main (int argc, char **argv)*
>>>>> *{*
>>>>> *    string server_address ("0.0.0.0:50051 <http://0.0.0.0:50051>");*
>>>>>
>>>>> *    if (argc == 2 && argv [1][0] == 'c') {*
>>>>> *        GreeterClient greeter(grpc::CreateChannel (server_address, 
>>>>> grpc::InsecureChannelCredentials()));*
>>>>> *        cout << "Sending world...\n";*
>>>>> *        cout << "Response is " << greeter.SayHello ("world") << "\n";*
>>>>> *    } else {*
>>>>> *        unique_ptr<grpc::ServerCompletionQueue> cq;*
>>>>> *        Greeter::AsyncService service;*
>>>>> *        unique_ptr<grpc::Server> server;*
>>>>>
>>>>> *        grpc::ServerBuilder builder;*
>>>>>
>>>>> *        builder.AddListeningPort(server_address, 
>>>>> grpc::InsecureServerCredentials());*
>>>>> *        builder.RegisterService(&service);*
>>>>> *        cq = builder.AddCompletionQueue();*
>>>>> *        server = builder.BuildAndStart();*
>>>>>
>>>>> *        new CallData(&service, cq.get());*
>>>>> *        CallData* tag;  // uniquely identifies a request.*
>>>>> *        bool ok;*
>>>>> *        while (true) {*
>>>>> *            GPR_ASSERT(cq->Next((void **)&tag, &ok));*
>>>>> *            GPR_ASSERT(ok);*
>>>>> *            tag->Proceed();*
>>>>> *        }*
>>>>>
>>>>> *        server->Shutdown();*
>>>>> *        cq->Shutdown();*
>>>>> *    }*
>>>>> *}*
>>>>>
>>>>> and run / GDB output:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *$ ./minfailD1115 11:45:47.919769500   24264 
>>>>> env_linux.c:77]             Warning: insecure environment read function 
>>>>> 'getenv' usedpure virtual method calledterminate called without an active 
>>>>> exceptionAborted (core dumped)*
>>>>>
>>>>> *$ gdb ./minfail*
>>>>> *... elided ...*
>>>>> *Program received signal SIG36, Real-time event 36.*
>>>>> *0x00000035ce0e8cec in epoll_pwait () from /lib64/libc.so.6*
>>>>> *(gdb) bt*
>>>>> *#0  0x00000035ce0e8cec in epoll_pwait () from /lib64/libc.so.6*
>>>>> *#1  0x00007ffff76f8d4a in ?? () from /.../lib/libgrpc++.so.1*
>>>>> *#2  0x00007ffff76f91a6 in ?? () from /.../lib/libgrpc++.so.1*
>>>>> *#3  0x00007ffff770d61b in grpc_completion_queue_next () from 
>>>>> /.../lib/libgrpc++.so.1*
>>>>> *#4  0x00007ffff76e3f20 in 
>>>>> grpc::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) () 
>>>>> from /.../lib/libgrpc++.so.1*
>>>>> *#5  0x000000000040919f in grpc::CompletionQueue::Next 
>>>>> [_ZN4grpc15Completion...] (this=0x628fa0, tag=0x7fffffffe1e8, 
>>>>> ok=0x7fffffffe1e7) at 
>>>>> .../include/grpc++/impl/codegen/completion_queue.h:148*
>>>>> *#6  0x00000000004085ca in main [main] (argc=1, argv=0x7fffffffe3a8) 
>>>>> at minfail.cc:95*
>>>>> *(gdb)*
>>>>>
>>>>> Any help greatly appreciated!
>>>>>
>>>>> Cheers,
>>>>> -RK
>>>>>
>>>>> -- 
>>>>> 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 [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> Visit this group at https://groups.google.com/group/grpc-io.
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msgid/grpc-io/34f059a0-f825-4aa3-a725-84fb61e46b1f%40googlegroups.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/grpc-io/34f059a0-f825-4aa3-a725-84fb61e46b1f%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/232f252a-8f11-4d33-ba0d-90b4548e27fe%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to