Title: [Bug]: Segfault when using `close_event` with macosx backend and tk · Issue #28513 · matplotlib/matplotlib · GitHub
Open Graph Title: [Bug]: Segfault when using `close_event` with macosx backend and tk · Issue #28513 · matplotlib/matplotlib
X Title: [Bug]: Segfault when using `close_event` with macosx backend and tk · Issue #28513 · matplotlib/matplotlib
Description: Bug summary I periodically try the Macosx backend instead of Tkagg since I'd like to display in retina-quality at some point – and it gets a lot farther now than it used to! – but now the problem is that it segfaults when firing a close_...
Open Graph Description: Bug summary I periodically try the Macosx backend instead of Tkagg since I'd like to display in retina-quality at some point – and it gets a lot farther now than it used to! – but now the problem i...
X Description: Bug summary I periodically try the Macosx backend instead of Tkagg since I'd like to display in retina-quality at some point – and it gets a lot farther now than it used to! – but now the probl...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/28513
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[Bug]: Segfault when using `close_event` with macosx backend and tk","articleBody":"### Bug summary\n\nI periodically try the Macosx backend instead of Tkagg since I'd like to display in retina-quality at some point – and it gets a lot farther now than it used to! – but now the problem is that it segfaults when firing a `close_event`. Crash report below.\n\n### Code for reproduction\n\n```Python\nimport tkinter as tk, random\r\nimport matplotlib, matplotlib.pyplot as plt\r\nmatplotlib.use('macosx') #Works ok with tkagg\r\n\r\ngo = False\r\ndef launch():\r\n data = []\r\n globals()['go'] = True\r\n fig, axes = plt.subplots(1)\r\n def stop(_): globals()['go'] = False\r\n fig.canvas.mpl_connect('close_event', stop)\r\n line, = axes.plot(data, label='Some data', color='#CC0000')\r\n fig.canvas.draw_idle()\r\n plt.show(block=False)\r\n\r\n while globals()['go']:\r\n data += [random.randint(0,50) for i in range(20)]\r\n\r\n tseries = range(0, len(data))\r\n line.set_ydata(data)\r\n line.set_xdata(tseries)\r\n axes.relim()\r\n axes.autoscale_view(tight=False)\r\n\r\n if fig.stale: fig.canvas.draw()\r\n fig.canvas.flush_events() #Listen for user input\r\n\r\nwindow = tk.Tk()\r\nrunButton = tk.Button(window, text='Run', command=launch)\r\nrunButton.pack()\r\n\r\nwindow.mainloop()\n```\n\n\n### Actual outcome\n\nProcess: Python [4760]\r\nPath: /Library/Frameworks/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python\r\nIdentifier: org.python.python\r\nVersion: 3.12.3 (3.12.3)\r\nCode Type: X86-64 (Native)\r\nParent Process: zsh [4326]\r\nResponsible: Electron [460]\r\nUser ID: 501\r\n\r\nDate/Time: 2024-07-05 16:48:27.2154 -0400\r\nOS Version: macOS 14.5 (23F79)\r\nReport Version: 12\r\nBridge OS Version: 8.5 (21P5077)\r\nAnonymous UUID: 8A649286-9529-6CA1-264F-F3369F36AB91\r\n\r\nSleep/Wake UUID: 63FCC38F-5F38-475C-8556-B706B4E6CB1D\r\n\r\nTime Awake Since Boot: 21000 seconds\r\n\r\nSystem Integrity Protection: disabled\r\n\r\nCrashed Thread: 0 Dispatch queue: com.apple.main-thread\r\n\r\nException Type: EXC_BAD_ACCESS (SIGSEGV)\r\nException Codes: KERN_INVALID_ADDRESS at 0x0000000000000020\r\nException Codes: 0x0000000000000001, 0x0000000000000020\r\n\r\nTermination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11\r\nTerminating Process: exc handler [4760]\r\n\r\nVM Region Info: 0x20 is not in any region. Bytes before following region: 4547239904\r\n REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL\r\n UNUSED SPACE AT START\r\n---\u003e \r\n __TEXT 10f096000-10f09a000 [ 16K] r-x/r-x SM=COW /Library/Frameworks/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python\r\n\r\nKernel Triage:\r\nVM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter\n\n### Expected outcome\n\nThe model should stop on close and be able to be relaunched with the run button, as indeed it does with Tkagg.\n\n### Additional information\n\n_No response_\n\n### Operating system\n\nMac OS 14.5 X86\n\n### Matplotlib Version\n\n3.9.1\n\n### Matplotlib Backend\n\nMacosx\n\n### Python version\n\n3.12.3\n\n### Jupyter version\n\n_No response_\n\n### Installation\n\npip","author":{"url":"https://github.com/charwick","@type":"Person","name":"charwick"},"datePublished":"2024-07-05T20:53:35.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":5},"url":"https://github.com/28513/matplotlib/issues/28513"}
| 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:b0aaa9ba-51ff-bcb0-f9e3-7058f1093a68 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E9D0:B6D9A:15EA007:1D3C772:6A52B5BF |
| html-safe-nonce | f4989de494c5d1bfdf42cf94bfe170593c09878612c3bb101068bd49a2517722 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFOUQwOkI2RDlBOjE1RUEwMDc6MUQzQzc3Mjo2QTUyQjVCRiIsInZpc2l0b3JfaWQiOiIxMzI5MTY2NTUwMjM4OTM0NDYzIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 7f93619babc4fa55420a02d5d27227490cbbe8a25c961ea35c66ad3eb2ed7783 |
| hovercard-subject-tag | issue:2393132887 |
| 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/matplotlib/matplotlib/28513/issue_layout |
| twitter:image | https://opengraph.githubassets.com/2d4caebe635a00a487365807c239a23f07e7f28b390084cf5e01fe1d4d4fe62d/matplotlib/matplotlib/issues/28513 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/2d4caebe635a00a487365807c239a23f07e7f28b390084cf5e01fe1d4d4fe62d/matplotlib/matplotlib/issues/28513 |
| og:image:alt | Bug summary I periodically try the Macosx backend instead of Tkagg since I'd like to display in retina-quality at some point – and it gets a lot farther now than it used to! – but now the problem i... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | charwick |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| go-import | github.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git |
| octolytics-dimension-user_id | 215947 |
| octolytics-dimension-user_login | matplotlib |
| octolytics-dimension-repository_id | 1385122 |
| octolytics-dimension-repository_nwo | matplotlib/matplotlib |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1385122 |
| octolytics-dimension-repository_network_root_nwo | matplotlib/matplotlib |
| 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 | 07a982c1d40157c619b364352b704c3ce66bb332 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width