{"action":"created","issue":{"url":"https://api.github.com/repos/grpc/grpc/issues/14892","repository_url":"https://api.github.com/repos/grpc/grpc","labels_url":"https://api.github.com/repos/grpc/grpc/issues/14892/labels{/name}","comments_url":"https://api.github.com/repos/grpc/grpc/issues/14892/comments","events_url":"https://api.github.com/repos/grpc/grpc/issues/14892/events","html_url":"https://github.com/grpc/grpc/issues/14892","id":310189483,"number":14892,"title":"Segmentation fault in grpc/_channel.py","user":{"login":"beamcodeup","id":547397,"avatar_url":"https://avatars3.githubusercontent.com/u/547397?v=4","gravatar_id":"","url":"https://api.github.com/users/beamcodeup","html_url":"https://github.com/beamcodeup","followers_url":"https://api.github.com/users/beamcodeup/followers","following_url":"https://api.github.com/users/beamcodeup/following{/other_user}","gists_url":"https://api.github.com/users/beamcodeup/gists{/gist_id}","starred_url":"https://api.github.com/users/beamcodeup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/beamcodeup/subscriptions","organizations_url":"https://api.github.com/users/beamcodeup/orgs","repos_url":"https://api.github.com/users/beamcodeup/repos","events_url":"https://api.github.com/users/beamcodeup/events{/privacy}","received_events_url":"https://api.github.com/users/beamcodeup/received_events","type":"User","site_admin":false},"labels":[{"id":222546014,"url":"https://api.github.com/repos/grpc/grpc/labels/area/concurrency","name":"area/concurrency","color":"efdb40","default":false},{"id":393866246,"url":"https://api.github.com/repos/grpc/grpc/labels/disposition/requires%20reporter%20action","name":"disposition/requires reporter action","color":"5319e7","default":false},{"id":155504842,"url":"https://api.github.com/repos/grpc/grpc/labels/kind/bug","name":"kind/bug","color":"93732c","default":false},{"id":168238186,"url":"https://api.github.com/repos/grpc/grpc/labels/lang/Python","name":"lang/Python","color":"fad8c7","default":false}],"state":"open","locked":false,"assignee":{"login":"kpayson64","id":18316330,"avatar_url":"https://avatars2.githubusercontent.com/u/18316330?v=4","gravatar_id":"","url":"https://api.github.com/users/kpayson64","html_url":"https://github.com/kpayson64","followers_url":"https://api.github.com/users/kpayson64/followers","following_url":"https://api.github.com/users/kpayson64/following{/other_user}","gists_url":"https://api.github.com/users/kpayson64/gists{/gist_id}","starred_url":"https://api.github.com/users/kpayson64/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kpayson64/subscriptions","organizations_url":"https://api.github.com/users/kpayson64/orgs","repos_url":"https://api.github.com/users/kpayson64/repos","events_url":"https://api.github.com/users/kpayson64/events{/privacy}","received_events_url":"https://api.github.com/users/kpayson64/received_events","type":"User","site_admin":false},"assignees":[{"login":"kpayson64","id":18316330,"avatar_url":"https://avatars2.githubusercontent.com/u/18316330?v=4","gravatar_id":"","url":"https://api.github.com/users/kpayson64","html_url":"https://github.com/kpayson64","followers_url":"https://api.github.com/users/kpayson64/followers","following_url":"https://api.github.com/users/kpayson64/following{/other_user}","gists_url":"https://api.github.com/users/kpayson64/gists{/gist_id}","starred_url":"https://api.github.com/users/kpayson64/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kpayson64/subscriptions","organizations_url":"https://api.github.com/users/kpayson64/orgs","repos_url":"https://api.github.com/users/kpayson64/repos","events_url":"https://api.github.com/users/kpayson64/events{/privacy}","received_events_url":"https://api.github.com/users/kpayson64/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2018-03-30T23:13:12Z","updated_at":"2018-04-05T21:16:55Z","closed_at":null,"author_association":"NONE","body":"Please answer these questions before submitting your issue. \r\n\r\nThis may be related to https://github.com/grpc/grpc/issues/13327.\r\n\r\n### What version of gRPC and what language are you using?\r\ngapic-google-cloud-datastore-v1 (0.15.3)\r\ngapic-google-cloud-error-reporting-v1beta1 (0.15.3)\r\ngapic-google-cloud-logging-v2 (0.91.3)\r\ngapic-google-cloud-pubsub-v1 (0.15.4)\r\ngoogle-api-core (0.1.4)\r\ngoogle-api-python-client (1.6.5)\r\ngoogle-auth (1.4.1)\r\ngoogle-cloud (0.32.0)\r\ngoogle-cloud-bigquery (0.28.0)\r\ngoogle-cloud-bigquery-datatransfer (0.1.1)\r\ngoogle-cloud-bigtable (0.28.1)\r\ngoogle-cloud-container (0.1.1)\r\ngoogle-cloud-core (0.26.0)\r\ngoogle-cloud-datastore (1.4.0)\r\ngoogle-cloud-dns (0.28.0)\r\ngoogle-cloud-error-reporting (0.28.0)\r\ngoogle-cloud-firestore (0.28.0)\r\ngoogle-cloud-language (1.0.1)\r\ngoogle-cloud-logging (1.4.0)\r\ngoogle-cloud-monitoring (0.28.1)\r\ngoogle-cloud-pubsub (0.26.0)\r\ngoogle-cloud-resource-manager (0.28.1)\r\ngoogle-cloud-runtimeconfig (0.28.1)\r\ngoogle-cloud-spanner (0.29.0)\r\ngoogle-cloud-speech (0.30.0)\r\ngoogle-cloud-storage (1.6.0)\r\ngoogle-cloud-trace (0.17.0)\r\ngoogle-cloud-translate (1.3.1)\r\ngoogle-cloud-videointelligence (1.0.1)\r\ngoogle-cloud-vision (0.29.0)\r\ngoogle-gax (0.15.16)\r\ngoogle-resumable-media (0.3.1)\r\ngoogleapis-common-protos (1.5.3)\r\ngrpc-google-iam-v1 (0.11.4)\r\ngrpcio (1.10.0)\r\n \r\n### What operating system (Linux, Windows, …) and version?\r\n$ lsb_release -a\r\nNo LSB modules are available.\r\nDistributor ID:\tDebian\r\nDescription:\tDebian GNU/Linux 9.3 (stretch)\r\nRelease:\t9.3\r\nCodename:\tstretch\r\n \r\n### What runtime / compiler are you using (e.g. python version or version of gcc)\r\n$ python --version\r\nPython 2.7.13\r\n \r\n### What did you do?\r\nVirtual Machine: Google Cloud Engine: n1-standard-1 (1 vCPU, 3.75 GB memory)\r\nPoint of interest: https://github.com/google/turbinia/blob/master/turbiniactl#L436\r\n\r\n0) Everything is done in Virtualenv\r\n1) Install and launch Turbinia server and worker\r\n2) Both the server and worker talks with pubsub\r\n3) The worker forks itself\r\n4) Run turbiniactl (which talks with pubsub) to create a task for the worker to process\r\n5) The worker receives a new message from pubsub\r\n\r\n### What did you expect to see?\r\nNo segmentation fault.\r\n\r\n### What did you see instead?\r\nNOTE: Two gdb outputs (py-bt and bt) are pasted here.\r\n\r\n(turbinia-dev2) turbinia@test-turbinia-test:~$ gdb turbinia-dev2/bin/python2.7 \r\nGNU gdb (Debian 7.12-6) 7.12.0.20161007-git\r\nCopyright (C) 2016 Free Software Foundation, Inc.\r\nLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\r\nThis is free software: you are free to change and redistribute it.\r\nThere is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\r\nand \"show warranty\" for details.\r\nThis GDB was configured as \"x86_64-linux-gnu\".\r\nType \"show configuration\" for configuration details.\r\nFor bug reporting instructions, please see:\r\n<http://www.gnu.org/software/gdb/bugs/>.\r\nFind the GDB manual and other documentation resources online at:\r\n<http://www.gnu.org/software/gdb/documentation/>.\r\nFor help, type \"help\".\r\nType \"apropos word\" to search for commands related to \"word\"...\r\nReading symbols from turbinia-dev2/bin/python2.7...Reading symbols from /usr/lib/debug/.build-id/78/bba47ddc77739d7744bfd0f89bbae01a73d506.debug...done.\r\ndone.\r\n(gdb) info auto-load\r\ngdb-scripts:  No auto-load scripts.\r\nlibthread-db:  No auto-loaded libthread-db.\r\nlocal-gdbinit:  Local .gdbinit file was not found.\r\npython-scripts:  No auto-load scripts.\r\n(gdb) source /usr/share/gdb/auto-load/usr/bin/python2.7-gdb.py\r\n(gdb) run /home/turbinia/turbinia/turbiniactl -L /var/tmp/turbinia-psqworker.log -o /var/tmp/ psqworker 2>> /var/tmp/turbinia-psqworker.stdout.log\r\nStarting program: /home/turbinia/turbinia-dev2/bin/python2.7 /home/turbinia/turbinia/turbiniactl -L /var/tmp/turbinia-psqworker.log -o /var/tmp/ psqworker 2>> /var/tmp/turbinia-psqworker.stdout.log\r\n[Thread debugging using libthread_db enabled]\r\nUsing host libthread_db library \"/lib/x86_64-linux-gnu/libthread_db.so.1\".\r\n[New Thread 0x7ffff1ce3700 (LWP 1433)]\r\n[New Thread 0x7ffff14e2700 (LWP 1434)]\r\n[New Thread 0x7ffff0ce1700 (LWP 1435)]\r\n[Thread 0x7ffff0ce1700 (LWP 1435) exited]\r\n[New Thread 0x7ffff0ce1700 (LWP 1436)]\r\n[Thread 0x7ffff0ce1700 (LWP 1436) exited]\r\n[New Thread 0x7ffff0ce1700 (LWP 1437)]\r\n[Thread 0x7ffff0ce1700 (LWP 1437) exited]\r\n[Thread 0x7ffff14e2700 (LWP 1434) exited]\r\n[Thread 0x7ffff1ce3700 (LWP 1433) exited]\r\n[New Thread 0x7ffff1ce3700 (LWP 1440)]\r\n[New Thread 0x7ffff0ce1700 (LWP 1443)]\r\n[New Thread 0x7ffff14e2700 (LWP 1444)]\r\n[New Thread 0x7fffe3de8700 (LWP 1445)]\r\n[New Thread 0x7fffe35e7700 (LWP 1446)]\r\n[New Thread 0x7fffe2de6700 (LWP 1447)]\r\n[Thread 0x7fffe2de6700 (LWP 1447) exited]\r\n[New Thread 0x7fffe2de6700 (LWP 1448)]\r\n[Thread 0x7fffe2de6700 (LWP 1448) exited]\r\n[New Thread 0x7fffe2de6700 (LWP 1449)]\r\n[New Thread 0x7fffe25e5700 (LWP 1450)]\r\n[Thread 0x7fffe25e5700 (LWP 1450) exited]\r\n[New Thread 0x7fffe25e5700 (LWP 1471)]\r\n[Thread 0x7fffe25e5700 (LWP 1471) exited]\r\n[New Thread 0x7fffe25e5700 (LWP 1473)]\r\n[Thread 0x7fffe25e5700 (LWP 1473) exited]\r\nChecking availability and versions of dependencies.\r\n[OPTIONAL]\tmissing: lzma.\r\n[OK]\r\n \r\n \r\nSource path\t: /mnt/turbinia-mounts/turbiniaErPdFR\r\nSource type\t: directory\r\n \r\nProcessing started.\r\nProcessing completed.\r\n \r\nNumber of errors encountered while extracting events: 2.\r\n \r\nUse pinfo to inspect errors in more detail.\r\n \r\n \r\nThread 1 \"python2.7\" received signal SIGSEGV, Segmentation fault.\r\n0x00007ffff335001a in grpc_closure_sched (error=0x0, c=0x7fffec213840) at ./src/core/lib/iomgr/closure.h:297\r\n297\t./src/core/lib/iomgr/closure.h: No such file or directory.\r\n(gdb) py-bt\r\nTraceback (most recent call first):\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/grpc/_channel.py\", line 480, in _blocking\r\n    _handle_event(completion_queue.poll(), state,\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/grpc/_channel.py\", line 486, in __call__\r\n    credentials)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/google/gax/retry.py\", line 68, in inner\r\n    return a_func(*updated_args, **kwargs)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/google/gax/retry.py\", line 121, in inner\r\n    return to_call(*args)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/google/gax/api_callable.py\", line 376, in inner\r\n    return a_func(*args, **kwargs)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/google/gax/api_callable.py\", line 438, in base_caller\r\n    return api_call(*args)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/google/gax/api_callable.py\", line 452, in inner\r\n    return api_caller(api_call, this_settings, request)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/google/cloud/gapic/pubsub/v1/subscriber_client.py\", line 706, in pull\r\n    return self._pull(request, options)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/google/cloud/pubsub/_gax.py\", line 440, in subscription_pull\r\n    return_immediately=return_immediately)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/google/cloud/pubsub/subscription.py\", line 367, in pull\r\n    self.full_name, return_immediately, max_messages)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/psq/queue.py\", line 104, in dequeue\r\n    return_immediately=not block, max_messages=max)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/psq/worker.py\", line 45, in inner\r\n    return self.queue.dequeue(max=self.tasks_per_poll, block=True)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/retrying.py\", line 200, in call\r\n    attempt = Attempt(fn(*args, **kwargs), attempt_number, False)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/retrying.py\", line 49, in wrapped_f\r\n    return Retrying(*dargs, **dkw).call(f, *args, **kw)\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/psq/worker.py\", line 46, in _safe_dequeue\r\n    return inner()\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/psq/worker.py\", line 53, in listen\r\n    tasks = self._safe_dequeue()\r\n  File \"/home/turbinia/turbinia-dev2/local/lib/python2.7/site-packages/psq/worker.py\", line 94, in listen\r\n    super(MultiprocessWorker, self).listen()\r\n  File \"/home/turbinia/turbinia/turbiniactl\", line 436, in <module>\r\n    worker.listen()\r\n\r\n$ gdb python\r\n(gdb) run /home/turbinia/turbinia/turbiniactl -L /var/tmp/turbinia-psqworker.log -o /var/tmp/ psqworker 2>> /var/tmp/turbinia-psqworker.stdout.log\r\n \r\n[Thread debugging using libthread_db enabled]\r\nUsing host libthread_db library \"/lib/x86_64-linux-gnu/libthread_db.so.1\".\r\n[New Thread 0x7ffff1ce3700 (LWP 30220)]\r\n[New Thread 0x7ffff14e2700 (LWP 30221)]\r\n[New Thread 0x7ffff0ce1700 (LWP 30222)]\r\n[Thread 0x7ffff0ce1700 (LWP 30222) exited]\r\n[New Thread 0x7ffff0ce1700 (LWP 30223)]\r\n[Thread 0x7ffff0ce1700 (LWP 30223) exited]\r\n[New Thread 0x7ffff0ce1700 (LWP 30224)]\r\n[Thread 0x7ffff0ce1700 (LWP 30224) exited]\r\n[Thread 0x7ffff14e2700 (LWP 30221) exited]\r\n[Thread 0x7ffff1ce3700 (LWP 30220) exited]\r\n[New Thread 0x7ffff1ce3700 (LWP 30226)]\r\n[New Thread 0x7ffff0ce1700 (LWP 30229)]\r\n[New Thread 0x7ffff14e2700 (LWP 30230)]\r\n[New Thread 0x7fffe3de8700 (LWP 30231)]\r\n[New Thread 0x7fffe35e7700 (LWP 30232)]\r\n[New Thread 0x7fffe2de6700 (LWP 30233)]\r\n[Thread 0x7fffe2de6700 (LWP 30233) exited]\r\n[New Thread 0x7fffe2de6700 (LWP 30234)]\r\n[Thread 0x7fffe2de6700 (LWP 30234) exited]\r\n[New Thread 0x7fffe2de6700 (LWP 30235)]\r\n[New Thread 0x7fffe25e5700 (LWP 30236)]\r\n[Thread 0x7fffe25e5700 (LWP 30236) exited]\r\n[New Thread 0x7fffe25e5700 (LWP 30244)]\r\n[Thread 0x7fffe25e5700 (LWP 30244) exited]\r\n[New Thread 0x7fffe25e5700 (LWP 30270)]\r\n[Thread 0x7fffe25e5700 (LWP 30270) exited]\r\n[New Thread 0x7fffe25e5700 (LWP 30283)]\r\n[Thread 0x7fffe25e5700 (LWP 30283) exited]\r\n[New Thread 0x7fffe25e5700 (LWP 30284)]\r\n[Thread 0x7fffe25e5700 (LWP 30284) exited]\r\nChecking availability and versions of dependencies.\r\n[OPTIONAL]\tmissing: lzma.\r\n[OK]\r\n \r\n \r\nSource path\t: /mnt/turbinia-mounts/turbinia0HXEJu\r\nSource type\t: directory\r\n \r\nProcessing started.\r\nProcessing completed.\r\n \r\nNumber of errors encountered while extracting events: 2.\r\n \r\nUse pinfo to inspect errors in more detail.\r\n \r\n \r\nThread 1 \"python\" received signal SIGSEGV, Segmentation fault.\r\n0x00007ffff335001d in grpc_closure_sched (error=0x0, c=0x7fffec16e940) at ./src/core/lib/iomgr/closure.h:297\r\n297\t./src/core/lib/iomgr/closure.h: No such file or directory.\r\n \r\n(gdb) bt \r\n#0  0x00007ffff335001d in grpc_closure_sched (error=0x0, c=0x7fffec16e940) at ./src/core/lib/iomgr/closure.h:297\r\n#1  grpc_core::LockfreeEvent::SetReady (this=this@entry=0x7fffec002ac8) at src/core/lib/iomgr/lockfree_event.cc:236\r\n#2  0x00007ffff3347ec4 in fd_become_readable (notifier=0x55555651a710, fd=0x7fffec002ac0) at src/core/lib/iomgr/ev_epoll1_linux.cc:385\r\n#3  process_epoll_events (pollset=0x55555651a710) at src/core/lib/iomgr/ev_epoll1_linux.cc:618\r\n#4  pollset_work (ps=0x55555651a710, worker_hdl=0x0, deadline=<optimized out>) at src/core/lib/iomgr/ev_epoll1_linux.cc:970\r\n#5  0x00007ffff336f758 in cq_next (cq=0x55555651a640, deadline=..., reserved=<optimized out>) at src/core/lib/surface/completion_queue.cc:930\r\n#6  0x00007ffff337090b in grpc_completion_queue_next (cq=<optimized out>, deadline=..., reserved=reserved@entry=0x0) at src/core/lib/surface/completion_queue.cc:1005\r\n#7  0x00007ffff330bde1 in __pyx_pf_4grpc_7_cython_6cygrpc_15CompletionQueue_2poll (__pyx_v_deadline=<optimized out>, __pyx_v_self=0x7ffff00b4558)\r\n    at src/python/grpcio/grpc/_cython/cygrpc.c:13746\r\n#8  __pyx_pw_4grpc_7_cython_6cygrpc_15CompletionQueue_3poll (__pyx_v_self=0x7ffff00b4558, __pyx_args=<optimized out>, __pyx_kwds=<optimized out>)\r\n    at src/python/grpcio/grpc/_cython/cygrpc.c:13607\r\n#9  0x000055555564fb9a in call_function (oparg=<optimized out>, pp_stack=0x7fffffffb858) at ../Python/ceval.c:4352\r\n#10 PyEval_EvalFrameEx () at ../Python/ceval.c:2989\r\n#11 0x000055555565542f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffb9a8, func=0x7ffff3028758) at ../Python/ceval.c:4437\r\n#12 call_function (oparg=<optimized out>, pp_stack=0x7fffffffb9a8) at ../Python/ceval.c:4372\r\n#13 PyEval_EvalFrameEx () at ../Python/ceval.c:2989\r\n#14 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#15 0x000055555566ac38 in function_call.lto_priv () at ../Objects/funcobject.c:523\r\n#16 0x000055555563c413 in PyObject_Call () at ../Objects/abstract.c:2547\r\n#17 0x000055555568135e in instancemethod_call.lto_priv () at ../Objects/classobject.c:2602\r\n#18 0x000055555563c413 in PyObject_Call () at ../Objects/abstract.c:2547\r\n#19 0x00005555556df937 in slot_tp_call.lto_priv () at ../Objects/typeobject.c:5546\r\n#20 0x000055555563c413 in PyObject_Call () at ../Objects/abstract.c:2547\r\n#21 0x0000555555656998 in ext_do_call (nk=0, na=0, flags=<optimized out>, pp_stack=0x7fffffffbf30, func=0x7ffff005df50) at ../Python/ceval.c:4666\r\n#22 PyEval_EvalFrameEx () at ../Python/ceval.c:3028\r\n#23 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#24 0x000055555566aa7e in function_call.lto_priv () at ../Objects/funcobject.c:523\r\n#25 0x000055555563c413 in PyObject_Call () at ../Objects/abstract.c:2547\r\n#26 0x0000555555656998 in ext_do_call (nk=0, na=0, flags=<optimized out>, pp_stack=0x7fffffffc1e0, func=0x7ffff0066aa0) at ../Python/ceval.c:4666\r\n#27 PyEval_EvalFrameEx () at ../Python/ceval.c:3028\r\n#28 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#29 0x000055555566ac38 in function_call.lto_priv () at ../Objects/funcobject.c:523\r\n#30 0x000055555563c413 in PyObject_Call () at ../Objects/abstract.c:2547\r\n#31 0x0000555555656998 in ext_do_call (nk=0, na=0, flags=<optimized out>, pp_stack=0x7fffffffc490, func=0x7ffff00669b0) at ../Python/ceval.c:4666\r\n#32 PyEval_EvalFrameEx () at ../Python/ceval.c:3028\r\n#33 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#34 0x000055555566aa7e in function_call.lto_priv () at ../Objects/funcobject.c:523\r\n#35 0x000055555563c413 in PyObject_Call () at ../Objects/abstract.c:2547\r\n#36 0x0000555555656998 in ext_do_call (nk=0, na=0, flags=<optimized out>, pp_stack=0x7fffffffc740, func=0x7ffff0066a28) at ../Python/ceval.c:4666\r\n#37 PyEval_EvalFrameEx () at ../Python/ceval.c:3028\r\n#38 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#39 0x0000555555655f15 in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffc948, func=0x7ffff0063e60) at ../Python/ceval.c:4447\r\n#40 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc948) at ../Python/ceval.c:4372\r\n#41 PyEval_EvalFrameEx () at ../Python/ceval.c:2989\r\n#42 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#43 0x0000555555655738 in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffcb58, func=0x7ffff0063ed8) at ../Python/ceval.c:4447\r\n#44 call_function (oparg=<optimized out>, pp_stack=0x7fffffffcb58) at ../Python/ceval.c:4372\r\n#45 PyEval_EvalFrameEx () at ../Python/ceval.c:2989\r\n#46 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#47 0x0000555555655738 in fast_function (nk=1, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffcd68, func=0x7ffff2bdb9b0) at ../Python/ceval.c:4447\r\n#48 call_function (oparg=<optimized out>, pp_stack=0x7fffffffcd68) at ../Python/ceval.c:4372\r\n#49 PyEval_EvalFrameEx () at ../Python/ceval.c:2989\r\n#50 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#51 0x0000555555655738 in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffcf78, func=0x7ffff2b757d0) at ../Python/ceval.c:4447\r\n#52 call_function (oparg=<optimized out>, pp_stack=0x7fffffffcf78) at ../Python/ceval.c:4372\r\n#53 PyEval_EvalFrameEx () at ../Python/ceval.c:2989\r\n#54 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#55 0x0000555555655738 in fast_function (nk=2, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd188, func=0x7ffff2fc4de8) at ../Python/ceval.c:4447\r\n#56 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd188) at ../Python/ceval.c:4372\r\n#57 PyEval_EvalFrameEx () at ../Python/ceval.c:2989\r\n#58 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#59 0x0000555555655738 in fast_function (nk=2, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd398, func=0x7ffff2bbb6e0) at ../Python/ceval.c:4447\r\n#60 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd398) at ../Python/ceval.c:4372\r\n#61 PyEval_EvalFrameEx () at ../Python/ceval.c:2989\r\n#62 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#63 0x000055555566ac38 in function_call.lto_priv () at ../Objects/funcobject.c:523\r\n#64 0x000055555563c413 in PyObject_Call () at ../Objects/abstract.c:2547\r\n#65 0x0000555555656998 in ext_do_call (nk=0, na=0, flags=<optimized out>, pp_stack=0x7fffffffd650, func=0x7ffff0049b90) at ../Python/ceval.c:4666\r\n#66 PyEval_EvalFrameEx () at ../Python/ceval.c:3028\r\n#67 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#68 0x000055555566ac38 in function_call.lto_priv () at ../Objects/funcobject.c:523\r\n#69 0x000055555563c413 in PyObject_Call () at ../Objects/abstract.c:2547\r\n#70 0x0000555555656998 in ext_do_call (nk=0, na=2, flags=<optimized out>, pp_stack=0x7fffffffd900, func=0x7ffff26120c8) at ../Python/ceval.c:4666\r\n#71 PyEval_EvalFrameEx () at ../Python/ceval.c:3028\r\n#72 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#73 0x0000555555655f15 in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffdb08, func=0x7ffff0049e60) at ../Python/ceval.c:4447\r\n#74 call_function (oparg=<optimized out>, pp_stack=0x7fffffffdb08) at ../Python/ceval.c:4372\r\n#75 PyEval_EvalFrameEx () at ../Python/ceval.c:2989\r\n#76 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#77 0x0000555555655f15 in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffdd18, func=0x7ffff2612410) at ../Python/ceval.c:4447\r\n#78 call_function (oparg=<optimized out>, pp_stack=0x7fffffffdd18) at ../Python/ceval.c:4372\r\n#79 PyEval_EvalFrameEx () at ../Python/ceval.c:2989\r\n#80 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#81 0x0000555555655f15 in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffdf28, func=0x7ffff2612488) at ../Python/ceval.c:4447\r\n#82 call_function (oparg=<optimized out>, pp_stack=0x7fffffffdf28) at ../Python/ceval.c:4372\r\n#83 PyEval_EvalFrameEx () at ../Python/ceval.c:2989\r\n#84 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#85 0x0000555555655f15 in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffe138, func=0x7ffff26125f0) at ../Python/ceval.c:4447\r\n#86 call_function (oparg=<optimized out>, pp_stack=0x7fffffffe138) at ../Python/ceval.c:4372\r\n#87 PyEval_EvalFrameEx () at ../Python/ceval.c:2989\r\n#88 0x000055555564dd45 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584\r\n#89 0x000055555564db09 in PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>) at ../Python/ceval.c:669\r\n#90 0x000055555567e14f in run_mod.lto_priv () at ../Python/pythonrun.c:1376\r\n#91 0x0000555555678fc2 in PyRun_FileExFlags () at ../Python/pythonrun.c:1362\r\n#92 0x0000555555678b0e in PyRun_SimpleFileExFlags () at ../Python/pythonrun.c:948\r\n#93 0x0000555555629aa1 in Py_Main () at ../Modules/main.c:640\r\n#94 0x00007ffff6f182e1 in __libc_start_main (main=0x5555556293d0 <main>, argc=7, argv=0x7fffffffe578, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, \r\n    stack_end=0x7fffffffe568) at ../csu/libc-start.c:291\r\n#95 0x00005555556292ca in _start ()\r\n\r\n\r\n\r\n### Anything else we should know about your project / environment?\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/grpc/grpc/issues/comments/379079577","html_url":"https://github.com/grpc/grpc/issues/14892#issuecomment-379079577","issue_url":"https://api.github.com/repos/grpc/grpc/issues/14892","id":379079577,"user":{"login":"beamcodeup","id":547397,"avatar_url":"https://avatars3.githubusercontent.com/u/547397?v=4","gravatar_id":"","url":"https://api.github.com/users/beamcodeup","html_url":"https://github.com/beamcodeup","followers_url":"https://api.github.com/users/beamcodeup/followers","following_url":"https://api.github.com/users/beamcodeup/following{/other_user}","gists_url":"https://api.github.com/users/beamcodeup/gists{/gist_id}","starred_url":"https://api.github.com/users/beamcodeup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/beamcodeup/subscriptions","organizations_url":"https://api.github.com/users/beamcodeup/orgs","repos_url":"https://api.github.com/users/beamcodeup/repos","events_url":"https://api.github.com/users/beamcodeup/events{/privacy}","received_events_url":"https://api.github.com/users/beamcodeup/received_events","type":"User","site_admin":false},"created_at":"2018-04-05T21:16:55Z","updated_at":"2018-04-05T21:16:55Z","author_association":"NONE","body":"Forking is done by using this function psq.MultiprocessWorker(...). This should have a pubsub stream when it forks.\r\n\r\n$ ps auxf\r\nturbinia 30197  4.3  2.8 162932 108132 pts/3   S    20:52   0:01  |                   \\_ gdb turbinia-dev2/bin/python2.7\r\nturbinia 30211  5.4  1.7 577744 64504 pts/3    Sl+  20:52   0:00  |                       \\_ /home/turbinia/turbinia-dev2/bin/python2.7 /home/turbinia/turbinia/turbiniactl -L /var/tmp/turbinia-psqworker.log -o /var/tmp/ psqworker\r\nturbinia 30227  0.0  1.3 348216 49812 pts/3    Sl+  20:53   0:00  |                           \\_ /home/turbinia/turbinia-dev2/bin/python2.7 /home/turbinia/turbinia/turbiniactl -L /var/tmp/turbinia-psqworker.log -o /var/tmp/ psqworker\r\n\r\nThread 1 \"python2.7\" received signal SIGSEGV, Segmentation fault.\r\n0x00007ffff335001a in grpc_closure_sched (error=0x0, c=0x7fffec21e580) at ./src/core/lib/iomgr/closure.h:297\r\n297\t./src/core/lib/iomgr/closure.h: No such file or directory.\r\n1: c = (grpc_closure *) 0x7fffec21e580\r\n(gdb) \r\n(gdb) \r\n(gdb) \r\n(gdb) print c\r\n$14 = (grpc_closure *) 0x7fffec21e580\r\n\r\n\r\n"}}
{"actor":{"display_login":"beamcodeup"}}