Skip to content

plt.plot() terminating with uncaught exception of type NSException [Bug]:  #28678

@qingqinh

Description

@qingqinh

Bug summary

I want to input a JSON file. The code is valid on Windows systems, but not on OS systems

Code for reproduction

import tkinter as tk
from tkinter import filedialog     


    def open_file_dialog(self):
+        root = tk.Tk()
+        root.withdraw() 
+        top = tk.Toplevel(root)
+        file_path = filedialog.askopenfilename(parent=top, filetypes=[("JSON files", "*.json")])
+        if file_path:
             self.set_parameters(file_path)
+        top.destroy()
+        root.destroy()

Actual outcome

2024-08-08 11:48:39.185 Python[46718:35258924] -[NSApplication macOSVersion]: unrecognized selector sent to instance 0x1036c4800
2024-08-08 11:48:39.211 Python[46718:35258924] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSApplication macOSVersion]: unrecognized selector sent to instance 0x1036c4800'
*** First throw call stack:
(
0 CoreFoundation 0x00000001bc5511a8 __exceptionPreprocess + 240
1 libobjc.A.dylib 0x00000001bc29be04 objc_exception_throw + 60
2 CoreFoundation 0x00000001bc5e4f4c -[NSObject(NSObject) __retain_OA] + 0
3 CoreFoundation 0x00000001bc4b0554 forwarding + 1764
4 CoreFoundation 0x00000001bc4afdb0 _CF_forwarding_prep_0 + 96
5 libtk8.6.dylib 0x000000010782e3e8 GetRGBA + 64
6 libtk8.6.dylib 0x000000010782e168 TkpGetColor + 476
7 libtk8.6.dylib 0x000000010777c4b4 Tk_GetColor + 152
8 libtk8.6.dylib 0x000000010776dc98 Tk_Get3DBorder + 136
9 libtk8.6.dylib 0x000000010776dae8 Tk_Alloc3DBorderFromObj + 144
10 libtk8.6.dylib 0x000000010777d9b4 DoObjConfig + 832
11 libtk8.6.dylib 0x000000010777d57c Tk_InitOptions + 372
12 libtk8.6.dylib 0x000000010777d460 Tk_InitOptions + 88
13 libtk8.6.dylib 0x00000001077a99a8 CreateFrame + 1472
14 libtk8.6.dylib 0x00000001077a9ca8 TkListCreateFrame + 156
15 libtk8.6.dylib 0x00000001077a2690 Initialize + 1856
16 _tkinter.cpython-311-darwin.so 0x00000001048de368 Tcl_AppInit + 92
17 _tkinter.cpython-311-darwin.so 0x00000001048de000 Tkapp_New + 548
18 _tkinter.cpython-311-darwin.so 0x00000001048dddd8 _tkinter_create_impl + 268
19 _tkinter.cpython-311-darwin.so 0x00000001048dda10 _tkinter_create + 240
20 Python 0x0000000103824430 cfunction_vectorcall_FASTCALL + 80
21 Python 0x00000001038e6d14 _PyEval_EvalFrameDefault + 53096
22 Python 0x00000001038ec7b8 _PyEval_Vector + 156
23 Python 0x00000001037bf65c _PyObject_FastCallDictTstate + 96
24 Python 0x000000010384cbb0 slot_tp_init + 180
25 Python 0x0000000103843530 type_call + 136
26 Python 0x00000001037bf33c _PyObject_MakeTpCall + 128
27 Python 0x00000001038e70bc _PyEval_EvalFrameDefault + 54032
28 Python 0x00000001038ec7b8 _PyEval_Vector + 156
29 Python 0x00000001038e9910 _PyEval_EvalFrameDefault + 64356
30 Python 0x00000001038ec7b8 _PyEval_Vector + 156
31 Python 0x00000001037c3654 method_vectorcall + 164
32 Python 0x00000001038e9910 _PyEval_EvalFrameDefault + 64356
33 Python 0x00000001038ec7b8 _PyEval_Vector + 156
34 Python 0x00000001037c3654 method_vectorcall + 164
35 Python 0x00000001038e9910 _PyEval_EvalFrameDefault + 64356
36 Python 0x00000001038ec7b8 _PyEval_Vector + 156
37 Python 0x00000001037c3654 method_vectorcall + 164
38 Python 0x00000001038e9910 _PyEval_EvalFrameDefault + 64356
39 Python 0x00000001038ec7b8 _PyEval_Vector + 156
40 Python 0x00000001037c3654 method_vectorcall + 164
41 Python 0x00000001038e9910 _PyEval_EvalFrameDefault + 64356
42 Python 0x00000001038ec7b8 _PyEval_Vector + 156
43 Python 0x00000001037c3654 method_vectorcall + 164
44 Python 0x00000001038e9910 _PyEval_EvalFrameDefault + 64356
45 Python 0x00000001038ec7b8 _PyEval_Vector + 156
46 Python 0x00000001037c3654 method_vectorcall + 164
47 Python 0x00000001038e9910 _PyEval_EvalFrameDefault + 64356
48 Python 0x00000001038ec7b8 _PyEval_Vector + 156
49 Python 0x00000001037c3654 method_vectorcall + 164
50 Python 0x00000001038e9910 _PyEval_EvalFrameDefault + 64356
51 Python 0x00000001038ec7b8 _PyEval_Vector + 156
52 Python 0x00000001037c3654 method_vectorcall + 164
53 Python 0x00000001038e9910 _PyEval_EvalFrameDefault + 64356
54 Python 0x00000001038ec7b8 _PyEval_Vector + 156
55 Python 0x00000001038e9910 _PyEval_EvalFrameDefault + 64356
56 Python 0x00000001038ec7b8 _PyEval_Vector + 156
57 Python 0x00000001037c03e8 PyObject_Vectorcall + 76
58 _ctypes.cpython-311-darwin.so 0x00000001031c27a4 _CallPythonObject + 500
59 libffi.dylib 0x00000001ca69cf34 ffi_closure_SYSV_inner + 816
60 libffi.dylib 0x00000001ca6941e8 ffi_closure_SYSV + 56
61 AppKit 0x00000001bf1a7174 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2560
62 AppKit 0x00000001bf1a650c -[NSWindow(NSEventRouting) sendEvent:] + 348
63 AppKit 0x00000001bf1a54b4 -[NSApplication(NSEvent) sendEvent:] + 2780
64 libffi.dylib 0x00000001ca694050 ffi_call_SYSV + 80
65 libffi.dylib 0x00000001ca69cae8 ffi_call_int + 1208
66 _ctypes.cpython-311-darwin.so 0x00000001031c4168 _ctypes_callproc + 1372
67 _ctypes.cpython-311-darwin.so 0x00000001031be154 PyCFuncPtr_call + 204
68 Python 0x00000001037c05f8 _PyObject_Call + 124
69 Python 0x00000001038e9910 _PyEval_EvalFrameDefault + 64356
70 Python 0x00000001038ec7b8 _PyEval_Vector + 156
71 Python 0x00000001037bf65c _PyObject_FastCallDictTstate + 96
72 Python 0x000000010384b1f0 slot_tp_call + 180
73 Python 0x00000001037c05f8 _PyObject_Call + 124
74 Python 0x00000001038e9910 _PyEval_EvalFrameDefault + 64356
75 Python 0x00000001038ec7b8 _PyEval_Vector + 156
76 Python 0x00000001037bf65c _PyObject_FastCallDictTstate + 96
77 Python 0x000000010384b1f0 slot_tp_call + 180
78 Python 0x00000001037bf33c _PyObject_MakeTpCall + 128
79 Python 0x00000001038e70bc _PyEval_EvalFrameDefault + 54032
80 Python 0x00000001038d8af8 PyEval_EvalCode + 276
81 Python 0x0000000103956c20 pyrun_file + 240
82 Python 0x00000001039563f0 _PyRun_SimpleFileObject + 288
83 Python 0x0000000103955970 _PyRun_AnyFileObject + 232
84 Python 0x000000010397f548 pymain_run_file_obj + 220
85 Python 0x000000010397ed2c pymain_run_file + 72
86 Python 0x000000010397e540 Py_RunMain + 1828
87 Python 0x000000010397f6c4 pymain_main + 52
88 Python 0x000000010397fefc Py_BytesMain + 40
89 dyld 0x00000001028d908c start + 520
)
libc++abi: terminating with uncaught exception of type NSException
zsh: abort python3 main.py

Expected outcome

IMG_3168

Additional information

It works properly on Windows, but not on os

Operating system

OS

Matplotlib Version

3.9.1.post1

Matplotlib Backend

macosx

Python version

Python 3.11.9

Jupyter version

7.2.1

Installation

pip

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions