Title: Pythonnet crashes .Net application on exit. · Issue #245 · pythonnet/pythonnet · GitHub
Open Graph Title: Pythonnet crashes .Net application on exit. · Issue #245 · pythonnet/pythonnet
X Title: Pythonnet crashes .Net application on exit. · Issue #245 · pythonnet/pythonnet
Description: If we embed Python.Net into DotNet application, it crashes on Linux. Crash occurs when application exits. PythonEngine.Initialize(); try { using (Py.GIL()) { dynamic sysModule = Py.Import("sys"); Console.WriteLine("Python engine version:...
Open Graph Description: If we embed Python.Net into DotNet application, it crashes on Linux. Crash occurs when application exits. PythonEngine.Initialize(); try { using (Py.GIL()) { dynamic sysModule = Py.Import("sys"); C...
X Description: If we embed Python.Net into DotNet application, it crashes on Linux. Crash occurs when application exits. PythonEngine.Initialize(); try { using (Py.GIL()) { dynamic sysModule = Py.Import("sys...
Opengraph URL: https://github.com/pythonnet/pythonnet/issues/245
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Pythonnet crashes .Net application on exit.","articleBody":"If we embed Python.Net into DotNet application, it crashes on Linux.\r\nCrash occurs when application exits.\r\n\r\n``` C#\r\nPythonEngine.Initialize();\r\n\r\ntry\r\n{\r\n using (Py.GIL())\r\n {\r\n dynamic sysModule = Py.Import(\"sys\");\r\n Console.WriteLine(\"Python engine version:\");\r\n Console.WriteLine(sysModule.version);\r\n }\r\n\r\n // This workaround reduces risk of Mono crash.\r\n // Problem will be fixed in mono 4.6\r\n if (Type.GetType(\"Mono.Runtime\") != null)\r\n {\r\n Runtime.Py_Main(3, new[] { \"/pcfgtest.exe\", \"-c\", \"exit\" });\r\n }\r\n else\r\n {\r\n // Program will crash if we will try to do this under Windows.\r\n //// Runtime.Py_Main(3, new[] { \"/pcfgtest.exe\", \"-c\", \"exit\" });\r\n }\r\n}\r\nfinally\r\n{\r\n PythonEngine.Shutdown();\r\n}\r\n```\r\n\r\nThis is sample of code that produces crash.\r\nAlso it contains 'probably workaround\".\r\n## Console output :\r\n\r\n``` bash\r\ntux@pythonnet:/mnt/Projects/pythonnet/2/src/configtest/bin/Release$ mono pcfgtest.exe\r\nStarting application...\r\nPython.runtime.dll substituted by Python.Runtime-Py35-Linux64.dll.\r\nPython engine version:\r\n3.5.2 (default, Jul 5 2016, 12:43:10)\r\n[GCC 5.4.0 20160609]\r\nShutting down finalizer thread timed out.\r\n* Assertion at gc.c:867, condition `finalizer_thread_exited' not met\r\n\r\nStacktrace:\r\n\r\n\r\nNative stacktrace:\r\n\r\n mono() [0x4a77ca]\r\n /lib/x86_64-linux-gnu/libpthread.so.0(+0x113d0) [0x7f48084463d0]\r\n /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38) [0x7f4807e8b418]\r\n /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a) [0x7f4807e8d01a]\r\n mono() [0x6408c9]\r\n mono() [0x640ad7]\r\n mono() [0x640c26]\r\n mono() [0x5aee5e]\r\n mono(mono_runtime_cleanup+0xe) [0x5a85de]\r\n mono() [0x423cf7]\r\n mono(mono_main+0x10d7) [0x47a087]\r\n mono() [0x421818]\r\n /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f4807e76830]\r\n mono() [0x421c11]\r\n\r\nDebug info from gdb:\r\n\r\n\r\n=================================================================\r\nGot a SIGABRT while executing native code. This usually indicates\r\na fatal error in the mono runtime or one of the native libraries\r\nused by your application.\r\n=================================================================\r\n\r\nAborted (core dumped)\r\n```\r\n\r\nI tried everything - python 2.7, python 3.5, Mono 4.2, 4.4.\r\nIt does not matter, behavior always the same.\r\n\r\nAlso i tried to build with Py_DEBUG under linux (and pass python library from python3.5-dbg package) \r\nI receive assertions on PythonEngine.Init:\r\n1) Decref -1 Assertions\r\n2) td_type != NULL Assertion \r\n","author":{"url":"https://github.com/dmitriyse","@type":"Person","name":"dmitriyse"},"datePublished":"2016-07-22T12:23:03.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":23},"url":"https://github.com/245/pythonnet/issues/245"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:06f7d0f4-6e95-f48d-47bd-b95f5d5c38da |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | A482:8F24B:A76FD3:E895B4:6970B81A |
| html-safe-nonce | c40205b87632176de48220c943233eb512966c6717d3ea47c14f4925cad7d335 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNDgyOjhGMjRCOkE3NkZEMzpFODk1QjQ6Njk3MEI4MUEiLCJ2aXNpdG9yX2lkIjoiNzY2ODExNzIzOTE4MTEyOTc1NCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 657ad03e15bdfd288f1240a01f5fddda8357a115c9981b309dcf3f9a385dccf5 |
| hovercard-subject-tag | issue:167034066 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/pythonnet/pythonnet/245/issue_layout |
| twitter:image | https://opengraph.githubassets.com/6dfe176bc0e608f334cdb8a3af0c4bf0a53dbf005bf82dc582c334755c4ec472/pythonnet/pythonnet/issues/245 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/6dfe176bc0e608f334cdb8a3af0c4bf0a53dbf005bf82dc582c334755c4ec472/pythonnet/pythonnet/issues/245 |
| og:image:alt | If we embed Python.Net into DotNet application, it crashes on Linux. Crash occurs when application exits. PythonEngine.Initialize(); try { using (Py.GIL()) { dynamic sysModule = Py.Import("sys"); C... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | dmitriyse |
| hostname | github.com |
| expected-hostname | github.com |
| None | 8e0be80373b724b033cdf8a7b1f78bf5fb6a5d7a2182a9a403aa30894606e390 |
| turbo-cache-control | no-preview |
| go-import | github.com/pythonnet/pythonnet git https://github.com/pythonnet/pythonnet.git |
| octolytics-dimension-user_id | 6050430 |
| octolytics-dimension-user_login | pythonnet |
| octolytics-dimension-repository_id | 14748123 |
| octolytics-dimension-repository_nwo | pythonnet/pythonnet |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 14748123 |
| octolytics-dimension-repository_network_root_nwo | pythonnet/pythonnet |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 84d9d5bf3b01412ea10f7c2429cbfc735ccce9ce |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width