Dear Maintainer, I could reproduce the issue inside a minimal stable VM. It crashes with following backtrace [1].
This crash does not show up with the same input in current testing. The resulting png file shows a "mesh" on top of a map. The method GribDecoder::visit changed a bit [2]. Kind regards, Bernhard [1] Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f4f07840dce in magics::GribDecoder::visit (this=0x1b1f5e0, transformation=...) at ./src/decoders/GribDecoder.cc:371 371 transformation.setMinMaxX(matrix_->minX(), matrix_->maxX()); (gdb) bt #0 0x00007f4f07840dce in magics::GribDecoder::visit (this=0x1b1f5e0, transformation=...) at ./src/decoders/GribDecoder.cc:371 #1 0x00007f4f0755a4f2 in magics::VisualAction::visit (this=0x1b1f440, transformation=...) at /usr/include/c++/8/bits/locale_facets.h:877 #2 0x00007f4f07553cd4 in magics::BasicSceneObject::dispatch<magics::Transformation> (visitor=..., this=0x1b1d900) at /usr/include/c++/8/bits/stl_iterator.h:783 #3 magics::BasicSceneObject::visit (transformation=..., this=0x1b1d900) at ./src/basic/BasicSceneObject.h:135 #4 magics::ViewNode::visit (this=0x1b1d900, tree=...) at ./src/basic/ViewNode.cc:286 #5 0x00007f4f0753a92c in magics::BasicSceneObject::dispatch<magics::SceneLayer> (visitor=..., this=0x1b1d560) at ./src/common/Layout.h:237 #6 magics::FortranSceneNode::visit (this=0x1b1d560, tree=...) at ./src/basic/SceneNode.cc:134 #7 0x00007f4f07536e6b in magics::BasicSceneObject::dispatch<magics::Layout> (visitor=..., this=0x16e3c40) at /usr/include/c++/8/bits/stl_iterator.h:783 #8 magics::RootScenePage::visualise (this=0x16e3c40) at ./src/basic/RootSceneNode.cc:346 #9 0x00007f4f0753707a in magics::RootSceneNode::visualise (this=0x1a43240) at ./src/basic/RootSceneNode.cc:331 #10 0x00007f4f075065d5 in magics::FortranMagics::dispatch (this=this@entry=0x1b15740) at ./src/basic/FortranMagics.cc:509 #11 0x00007f4f075098c0 in magics::FortranMagics::pclose (this=0x1b15740) at ./src/basic/FortranMagics.cc:144 #12 0x00007f4f0747a27d in pclose_ () at ./src/common/MagicsCalls.cc:1085 ... (gdb) py-bt Traceback (most recent call first): File "/usr/lib/python3/dist-packages/Magics/Magics.py", line 181, in finalize return dll.mag_close() File "/usr/lib/python3/dist-packages/Magics/Magics.py", line 149, in wrapped err = fn(*args) File "/usr/lib/python3/dist-packages/Magics/macro.py", line 523, in _plot Magics.finalize() File "wflags-segfault.py", line 29, in <module> (gdb) print this->matrix_ $4 = (magics::Matrix *) 0x0 https://sources.debian.org/src/magics++/3.3.1-1/src/decoders/GribDecoder.cc/#L371 [2] https://sources.debian.org/src/magics++/4.6.0-2/src/decoders/GribDecoder.cc/#L406
# single-use Buster/stable amd64 qemu VM 2021-03-31 apt update apt dist-upgrade apt install systemd-coredump lightdm xserver-xorg openbox xterm mc gdb xygrib magics++ python3-magics++ libeccodes-tools \ libeccodes0-dbgsym libmagplus3v5-dbgsym libffi6-dbg pyhton3-dbg apt build-dep libeccodes0 mkdir /home/benutzer/source/eccodes/orig -p cd /home/benutzer/source/eccodes/orig apt source eccodes cd wget "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=985137;filename=wflags-segfault.tar.gz;msg=5" -O wflags-segfault.tar.gz tar -zxf wflags-segfault.tar.gz benutzer@debian:~$ python3 wflags-segfault.py Magics :------------------------------------------------------------------ Magics : Magics : Magics 3.3.1 (64 bit) Magics : Magics : Meteorological Applications Graphics Integrated Colour System Magics : Magics : Developed By Magics : Magics : The European Centre for Medium-Range Weather Forecasts Magics : Magics : Magics :------------------------------------------------------------------ Speicherzugriffsfehler (Speicherabzug geschrieben) root@debian:~# coredumpctl list TIME PID UID GID SIG COREFILE EXE Thu 2021-04-01 18:26:33 CEST 21049 1000 1000 11 present /usr/bin/python3.7 root@debian:~# coredumpctl gdb 21049 PID: 21049 (python3) UID: 1000 (benutzer) GID: 1000 (benutzer) Signal: 11 (SEGV) Timestamp: Thu 2021-04-01 18:26:32 CEST (39s ago) Command Line: python3 wflags-segfault.py Executable: /usr/bin/python3.7 Control Group: /user.slice/user-1000.slice/session-5.scope Unit: session-5.scope Slice: user-1000.slice Session: 5 Owner UID: 1000 (benutzer) Boot ID: 13704ca5860b4e1ca1d50c521516559a Machine ID: 33f18f39d2a9438eb75b0ed52848afcd Hostname: debian Storage: /var/lib/systemd/coredump/core.python3.1000.13704ca5860b4e1ca1d50c521516559a.21049.1617294392000000.lz4 Message: Process 21049 (python3) of user 1000 dumped core. Stack trace of thread 21049: #0 0x00007f4f07840dce _ZN6magics11GribDecoder5visitERNS_14TransformationE (libMagPlus.so.3) #1 0x00007f4f0755a4f2 _ZN6magics12VisualAction5visitERNS_14TransformationE (libMagPlus.so.3) #2 0x00007f4f07553cd4 _ZN6magics8ViewNode5visitERNS_10SceneLayerE (libMagPlus.so.3) #3 0x00007f4f0753a92c _ZN6magics16FortranSceneNode5visitERNS_28BasicGraphicsObjectContainerE (libMagPlus.so.3) #4 0x00007f4f07536e6b _ZN6magics13RootScenePage9visualiseEv (libMagPlus.so.3) #5 0x00007f4f0753707a _ZN6magics13RootSceneNode9visualiseEv (libMagPlus.so.3) #6 0x00007f4f075065d5 _ZN6magics13FortranMagics8dispatchEv (libMagPlus.so.3) #7 0x00007f4f075098c0 _ZN6magics13FortranMagics6pcloseEv (libMagPlus.so.3) #8 0x00007f4f0747a27d pclose_ (libMagPlus.so.3) #9 0x00007f4f08e698ee ffi_call_unix64 (libffi.so.6) #10 0x00007f4f08e692bf ffi_call (libffi.so.6) #11 0x00007f4f096f50e3 _ctypes_callproc (_ctypes.cpython-37m-x86_64-linux-gnu.so) #12 0x00007f4f096f5533 n/a (_ctypes.cpython-37m-x86_64-linux-gnu.so) #13 0x00000000005da01b _PyObject_FastCallKeywords (python3.7) #14 0x000000000054b3c1 n/a (python3.7) #15 0x00000000005524cd _PyEval_EvalFrameDefault (python3.7) #16 0x00000000005da536 _PyFunction_FastCallDict (python3.7) #17 0x000000000054f987 _PyEval_EvalFrameDefault (python3.7) #18 0x000000000054c328 _PyEval_EvalCodeWithName (python3.7) #19 0x00000000005d94f2 _PyFunction_FastCallKeywords (python3.7) #20 0x000000000054b1f0 n/a (python3.7) #21 0x00000000005524cd _PyEval_EvalFrameDefault (python3.7) #22 0x000000000054bcc2 _PyEval_EvalCodeWithName (python3.7) #23 0x00000000005da6fe _PyFunction_FastCallDict (python3.7) #24 0x000000000054f987 _PyEval_EvalFrameDefault (python3.7) #25 0x000000000054bcc2 _PyEval_EvalCodeWithName (python3.7) #26 0x000000000054e0a3 PyEval_EvalCode (python3.7) #27 0x0000000000630ce2 n/a (python3.7) #28 0x0000000000630d97 PyRun_FileExFlags (python3.7) #29 0x00000000006319ff PyRun_SimpleFileExFlags (python3.7) #30 0x000000000065432e n/a (python3.7) #31 0x000000000065468e _Py_UnixMain (python3.7) #32 0x00007f4f09b5009b __libc_start_main (libc.so.6) #33 0x00000000005e0e8a _start (python3.7) ... Core was generated by `python3 wflags-segfault.py'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f4f07840dce in magics::GribDecoder::visit(magics::Transformation&) () from /lib/x86_64-linux-gnu/libMagPlus.so.3 (gdb) set width 0 (gdb) set pagination off (gdb) bt #0 0x00007f4f07840dce in magics::GribDecoder::visit(magics::Transformation&) () from /lib/x86_64-linux-gnu/libMagPlus.so.3 #1 0x00007f4f0755a4f2 in magics::VisualAction::visit(magics::Transformation&) () from /lib/x86_64-linux-gnu/libMagPlus.so.3 #2 0x00007f4f07553cd4 in magics::ViewNode::visit(magics::SceneLayer&) () from /lib/x86_64-linux-gnu/libMagPlus.so.3 #3 0x00007f4f0753a92c in magics::FortranSceneNode::visit(magics::BasicGraphicsObjectContainer&) () from /lib/x86_64-linux-gnu/libMagPlus.so.3 #4 0x00007f4f07536e6b in magics::RootScenePage::visualise() () from /lib/x86_64-linux-gnu/libMagPlus.so.3 #5 0x00007f4f0753707a in magics::RootSceneNode::visualise() () from /lib/x86_64-linux-gnu/libMagPlus.so.3 #6 0x00007f4f075065d5 in magics::FortranMagics::dispatch() () from /lib/x86_64-linux-gnu/libMagPlus.so.3 #7 0x00007f4f075098c0 in magics::FortranMagics::pclose() () from /lib/x86_64-linux-gnu/libMagPlus.so.3 #8 0x00007f4f0747a27d in pclose_ () from /lib/x86_64-linux-gnu/libMagPlus.so.3 #9 0x00007f4f08e698ee in ffi_call_unix64 () from /lib/x86_64-linux-gnu/libffi.so.6 #10 0x00007f4f08e692bf in ffi_call () from /lib/x86_64-linux-gnu/libffi.so.6 #11 0x00007f4f096f50e3 in _ctypes_callproc () from /usr/lib/python3.7/lib-dynload/_ctypes.cpython-37m-x86_64-linux-gnu.so #12 0x00007f4f096f5533 in ?? () from /usr/lib/python3.7/lib-dynload/_ctypes.cpython-37m-x86_64-linux-gnu.so #13 0x00000000005da01b in _PyObject_FastCallKeywords () #14 0x000000000054b3c1 in ?? () #15 0x00000000005524cd in _PyEval_EvalFrameDefault () #16 0x00000000005da536 in _PyFunction_FastCallDict () #17 0x000000000054f987 in _PyEval_EvalFrameDefault () #18 0x000000000054c328 in _PyEval_EvalCodeWithName () #19 0x00000000005d94f2 in _PyFunction_FastCallKeywords () #20 0x000000000054b1f0 in ?? () #21 0x00000000005524cd in _PyEval_EvalFrameDefault () #22 0x000000000054bcc2 in _PyEval_EvalCodeWithName () #23 0x00000000005da6fe in _PyFunction_FastCallDict () #24 0x000000000054f987 in _PyEval_EvalFrameDefault () #25 0x000000000054bcc2 in _PyEval_EvalCodeWithName () #26 0x000000000054e0a3 in PyEval_EvalCode () #27 0x0000000000630ce2 in ?? () #28 0x0000000000630d97 in PyRun_FileExFlags () #29 0x00000000006319ff in PyRun_SimpleFileExFlags () #30 0x000000000065432e in ?? () #31 0x000000000065468e in _Py_UnixMain () #32 0x00007f4f09b5009b in __libc_start_main (main=0x4bc560 <main>, argc=2, argv=0x7ffe105eb658, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe105eb648) at ../csu/libc-start.c:308 #33 0x00000000005e0e8a in _start () Core was generated by `python3 wflags-segfault.py'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f4f07840dce in magics::GribDecoder::visit (this=0x1b1f5e0, transformation=...) at ./src/decoders/GribDecoder.cc:371 371 transformation.setMinMaxX(matrix_->minX(), matrix_->maxX()); (gdb) set width 0 (gdb) set pagination off (gdb) bt #0 0x00007f4f07840dce in magics::GribDecoder::visit (this=0x1b1f5e0, transformation=...) at ./src/decoders/GribDecoder.cc:371 #1 0x00007f4f0755a4f2 in magics::VisualAction::visit (this=0x1b1f440, transformation=...) at /usr/include/c++/8/bits/locale_facets.h:877 #2 0x00007f4f07553cd4 in magics::BasicSceneObject::dispatch<magics::Transformation> (visitor=..., this=0x1b1d900) at /usr/include/c++/8/bits/stl_iterator.h:783 #3 magics::BasicSceneObject::visit (transformation=..., this=0x1b1d900) at ./src/basic/BasicSceneObject.h:135 #4 magics::ViewNode::visit (this=0x1b1d900, tree=...) at ./src/basic/ViewNode.cc:286 #5 0x00007f4f0753a92c in magics::BasicSceneObject::dispatch<magics::SceneLayer> (visitor=..., this=0x1b1d560) at ./src/common/Layout.h:237 #6 magics::FortranSceneNode::visit (this=0x1b1d560, tree=...) at ./src/basic/SceneNode.cc:134 #7 0x00007f4f07536e6b in magics::BasicSceneObject::dispatch<magics::Layout> (visitor=..., this=0x16e3c40) at /usr/include/c++/8/bits/stl_iterator.h:783 #8 magics::RootScenePage::visualise (this=0x16e3c40) at ./src/basic/RootSceneNode.cc:346 #9 0x00007f4f0753707a in magics::RootSceneNode::visualise (this=0x1a43240) at ./src/basic/RootSceneNode.cc:331 #10 0x00007f4f075065d5 in magics::FortranMagics::dispatch (this=this@entry=0x1b15740) at ./src/basic/FortranMagics.cc:509 #11 0x00007f4f075098c0 in magics::FortranMagics::pclose (this=0x1b15740) at ./src/basic/FortranMagics.cc:144 #12 0x00007f4f0747a27d in pclose_ () at ./src/common/MagicsCalls.cc:1085 #13 0x00007f4f08e698ee in ffi_call_unix64 () at ../src/x86/unix64.S:76 #14 0x00007f4f08e692bf in ffi_call (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>) at ../src/x86/ffi64.c:525 #15 0x00007f4f096f50e3 in _call_function_pointer (argcount=0, resmem=0x7ffe105ea7c0, restype=<optimized out>, atypes=<optimized out>, avalues=0x7ffe105ea7b0, pProc=0x7f4f0747a500 <mag_close()>, flags=4353) at ./Modules/_ctypes/callproc.c:814 #16 _ctypes_callproc (pProc=0x7f4f0747a500 <mag_close()>, argtuple=<optimized out>, flags=4353, argtypes=<optimized out>, restype=<_ctypes.PyCSimpleType at remote 0x172ef58>, checker=0x0) at ./Modules/_ctypes/callproc.c:1171 #17 0x00007f4f096f5533 in PyCFuncPtr_call (self=0x7f4f07babc00, inargs=(), kwds=0x0) at ./Modules/_ctypes/_ctypes.c:3969 #18 0x00000000005da01b in _PyObject_FastCallKeywords (callable=<_FuncPtr(__name__='mag_close') at remote 0x7f4f07babc00>, stack=0x7f4f080e6820, nargs=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:201 #19 0x000000000054b3c1 in call_function (pp_stack=0x7ffe105eaa80, oparg=<optimized out>, kwnames=<optimized out>) at ../Python/ceval.c:4619 #20 0x00000000005524cd in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3093 #21 0x00000000005da536 in PyEval_EvalFrameEx (throwflag=0, f=Frame 0x7f4f080e66a8, for file /usr/lib/python3/dist-packages/Magics/Magics.py, line 181, in finalize ()) at ../Python/ceval.c:547 #22 function_code_fastcall (globals=<optimized out>, nargs=<optimized out>, args=<optimized out>, co=<optimized out>) at ../Objects/call.c:283 #23 _PyFunction_FastCallDict (func=<optimized out>, args=<optimized out>, nargs=<optimized out>, kwargs=<optimized out>) at ../Objects/call.c:322 #24 0x000000000054f987 in do_call_core (kwdict=0x0, callargs=(), func=<function at remote 0x7f4f07ba38c8>) at ../Python/ceval.c:4645 #25 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3191 #26 0x000000000054c328 in PyEval_EvalFrameEx (throwflag=0, f=Frame 0x7f4f07f4f708, for file /usr/lib/python3/dist-packages/Magics/Magics.py, line 149, in wrapped (args=())) at ../Python/ceval.c:547 #27 _PyEval_EvalCodeWithName (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=0x0, kwargs=0x7f4f096ab1d8, kwcount=<optimized out>, kwstep=1, defs=0x0, defcount=0, kwdefs=0x0, closure=(<cell at remote 0x7f4f07f62468>,), name='wrapped', qualname='checked_return_code.<locals>.wrapped') at ../Python/ceval.c:3930 #28 0x00000000005d94f2 in _PyFunction_FastCallKeywords (func=<optimized out>, stack=0x7f4f096ab1d8, nargs=0, kwnames=<optimized out>) at ../Objects/call.c:433 #29 0x000000000054b1f0 in call_function (pp_stack=0x7ffe105eaf00, oparg=<optimized out>, kwnames=<optimized out>) at ../Python/ceval.c:4616 #30 0x00000000005524cd in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3093 #31 0x000000000054bcc2 in PyEval_EvalFrameEx (throwflag=0, f=Frame 0x7f4f096ab048, for file /usr/lib/python3/dist-packages/Magics/macro.py, line 523, in _plot (args=(<Action(verb='output', action=None, args={'output_formats': ['png'], 'output_name': 'wflags-segfault', 'output_name_first_page_number': 'off'}, html="<a href=/wiki/display/MAGP/PNG Output target='_blank'>output</a>") at remote 0x7f4f096b1048>, <Action(verb='mmap', action=None, args={'subpage_map_projection': 'cylindrical', 'subpage_lower_left_longitude': <float at remote 0x7f4f0983f1c8>, 'subpage_lower_left_latitude': <float at remote 0x7f4f0983f180>, 'subpage_upper_right_longitude': <float at remote 0x7f4f0983f0c0>, 'subpage_upper_right_latitude': <float at remote 0x7f4f0983f270>}, html="<a href=/wiki/display/MAGP/Subpage target='_blank'>mmap</a>") at remote 0x7f4f096b1080>, <Action(verb='mcoast', action=<_FuncPtr(__name__='mag_coast') at remote 0x7f4f07b742a0>, args={'map_coastline_general_style': 'background'}, html="<a href=/wiki/display/MAGP/Coastlines target='_blank'>mcoast</a>") at remote 0x7f4f096b...(truncated)) at ../Python/ceval.c:547 #32 _PyEval_EvalCodeWithName (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=0x0, kwargs=0x0, kwcount=<optimized out>, kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name='_plot', qualname='_plot') at ../Python/ceval.c:3930 #33 0x00000000005da6fe in _PyFunction_FastCallDict (func=<optimized out>, args=<optimized out>, nargs=7, kwargs=<optimized out>) at ../Objects/call.c:367 #34 0x000000000054f987 in do_call_core (kwdict=0x0, callargs=(<Action(verb='output', action=None, args={'output_formats': ['png'], 'output_name': 'wflags-segfault', 'output_name_first_page_number': 'off'}, html="<a href=/wiki/display/MAGP/PNG Output target='_blank'>output</a>") at remote 0x7f4f096b1048>, <Action(verb='mmap', action=None, args={'subpage_map_projection': 'cylindrical', 'subpage_lower_left_longitude': <float at remote 0x7f4f0983f1c8>, 'subpage_lower_left_latitude': <float at remote 0x7f4f0983f180>, 'subpage_upper_right_longitude': <float at remote 0x7f4f0983f0c0>, 'subpage_upper_right_latitude': <float at remote 0x7f4f0983f270>}, html="<a href=/wiki/display/MAGP/Subpage target='_blank'>mmap</a>") at remote 0x7f4f096b1080>, <Action(verb='mcoast', action=<_FuncPtr(__name__='mag_coast') at remote 0x7f4f07b742a0>, args={'map_coastline_general_style': 'background'}, html="<a href=/wiki/display/MAGP/Coastlines target='_blank'>mcoast</a>") at remote 0x7f4f096b10b8>, <Action(verb='mgrib', action=<_FuncPtr(__name__='mag_grib') at remote 0x7f4f07b74368>, args={'gri...(truncated), func=<function at remote 0x7f4f07bb1a60>) at ../Python/ceval.c:4645 #35 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3191 #36 0x000000000054bcc2 in PyEval_EvalFrameEx (throwflag=0, f=Frame 0x7f4f097e19f8, for file wflags-segfault.py, line 29, in <module> ()) at ../Python/ceval.c:547 #37 _PyEval_EvalCodeWithName (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=0x0, kwargs=0x0, kwcount=<optimized out>, kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at ../Python/ceval.c:3930 #38 0x000000000054e0a3 in PyEval_EvalCodeEx (closure=0x0, kwdefs=0x0, defcount=0, defs=0x0, kwcount=0, kws=0x0, argcount=0, args=0x0, locals=<optimized out>, globals=<optimized out>, _co=<optimized out>) at ../Python/ceval.c:3959 #39 PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>) at ../Python/ceval.c:524 #40 0x0000000000630ce2 in run_mod (mod=<optimized out>, filename=<optimized out>, globals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='wflags-segfault.py') at remote 0x7f4f09773fd0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f4f09838c28>, '__file__': 'wflags-segfault.py', '__cached__': None, 'macro': <module at remote 0x7f4f096ad368>, 'output': <Action(verb='output', action=None, args={'output_formats': ['png'], 'output_name': 'wflags-segfault', 'output_name_first_page_number': 'off'}, html="<a href=/wiki/display/MAGP/PNG Output target='_blank'>output</a>") at remote 0x7f4f096b1048>, 'parts': [<Action(verb='mmap', action=None, args={'subpage_map_projection': 'cylindrical', 'subpage_lower_left_longitude': <float at remote 0x7f4f0983f1c8>, 'subpage_lower_left_latitude': <float at remote 0x7f4f0983f180>, 'subpage_upper_right_longitude': <float at remote 0x7f4f0983f0c0>, 'subpage_upper_right_latitude': <float at remote 0x7f4f0983f270>}, html="<a href=/wiki/display/MAGP/Subpage target='_blank'>m...(truncated), locals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='wflags-segfault.py') at remote 0x7f4f09773fd0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f4f09838c28>, '__file__': 'wflags-segfault.py', '__cached__': None, 'macro': <module at remote 0x7f4f096ad368>, 'output': <Action(verb='output', action=None, args={'output_formats': ['png'], 'output_name': 'wflags-segfault', 'output_name_first_page_number': 'off'}, html="<a href=/wiki/display/MAGP/PNG Output target='_blank'>output</a>") at remote 0x7f4f096b1048>, 'parts': [<Action(verb='mmap', action=None, args={'subpage_map_projection': 'cylindrical', 'subpage_lower_left_longitude': <float at remote 0x7f4f0983f1c8>, 'subpage_lower_left_latitude': <float at remote 0x7f4f0983f180>, 'subpage_upper_right_longitude': <float at remote 0x7f4f0983f0c0>, 'subpage_upper_right_latitude': <float at remote 0x7f4f0983f270>}, html="<a href=/wiki/display/MAGP/Subpage target='_blank'>m...(truncated), flags=<optimized out>, arena=<optimized out>) at ../Python/pythonrun.c:1035 #41 0x0000000000630d97 in PyRun_FileExFlags (fp=0x1672290, filename_str=<optimized out>, start=<optimized out>, globals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='wflags-segfault.py') at remote 0x7f4f09773fd0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f4f09838c28>, '__file__': 'wflags-segfault.py', '__cached__': None, 'macro': <module at remote 0x7f4f096ad368>, 'output': <Action(verb='output', action=None, args={'output_formats': ['png'], 'output_name': 'wflags-segfault', 'output_name_first_page_number': 'off'}, html="<a href=/wiki/display/MAGP/PNG Output target='_blank'>output</a>") at remote 0x7f4f096b1048>, 'parts': [<Action(verb='mmap', action=None, args={'subpage_map_projection': 'cylindrical', 'subpage_lower_left_longitude': <float at remote 0x7f4f0983f1c8>, 'subpage_lower_left_latitude': <float at remote 0x7f4f0983f180>, 'subpage_upper_right_longitude': <float at remote 0x7f4f0983f0c0>, 'subpage_upper_right_latitude': <float at remote 0x7f4f0983f270>}, html="<a href=/wiki/display/MAGP/Subpage target='_blank'>m...(truncated), locals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='wflags-segfault.py') at remote 0x7f4f09773fd0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f4f09838c28>, '__file__': 'wflags-segfault.py', '__cached__': None, 'macro': <module at remote 0x7f4f096ad368>, 'output': <Action(verb='output', action=None, args={'output_formats': ['png'], 'output_name': 'wflags-segfault', 'output_name_first_page_number': 'off'}, html="<a href=/wiki/display/MAGP/PNG Output target='_blank'>output</a>") at remote 0x7f4f096b1048>, 'parts': [<Action(verb='mmap', action=None, args={'subpage_map_projection': 'cylindrical', 'subpage_lower_left_longitude': <float at remote 0x7f4f0983f1c8>, 'subpage_lower_left_latitude': <float at remote 0x7f4f0983f180>, 'subpage_upper_right_longitude': <float at remote 0x7f4f0983f0c0>, 'subpage_upper_right_latitude': <float at remote 0x7f4f0983f270>}, html="<a href=/wiki/display/MAGP/Subpage target='_blank'>m...(truncated), closeit=1, flags=0x7ffe105eb43c) at ../Python/pythonrun.c:988 #42 0x00000000006319ff in PyRun_SimpleFileExFlags (fp=0x1672290, filename=<optimized out>, closeit=1, flags=0x7ffe105eb43c) at ../Python/pythonrun.c:429 #43 0x000000000065432e in pymain_run_file (p_cf=0x7ffe105eb43c, filename=<optimized out>, fp=0x1672290) at ../Modules/main.c:427 #44 pymain_run_filename (cf=0x7ffe105eb43c, pymain=0x7ffe105eb510) at ../Modules/main.c:1627 #45 pymain_run_python (pymain=0x7ffe105eb510) at ../Modules/main.c:2877 #46 pymain_main (pymain=<optimized out>, pymain=<optimized out>) at ../Modules/main.c:3038 #47 0x000000000065468e in _Py_UnixMain (argc=<optimized out>, argv=<optimized out>) at ../Modules/main.c:3073 #48 0x00007f4f09b5009b in __libc_start_main (main=0x4bc560 <main>, argc=2, argv=0x7ffe105eb658, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe105eb648) at ../csu/libc-start.c:308 #49 0x00000000005e0e8a in _start () at ../Modules/main.c:797 (gdb) disassemble Dump of assembler code for function magics::GribDecoder::visit(magics::Transformation&): 0x00007f4f07840d70 <+0>: push %r12 0x00007f4f07840d72 <+2>: push %rbp 0x00007f4f07840d73 <+3>: mov %rdi,%rbp 0x00007f4f07840d76 <+6>: push %rbx 0x00007f4f07840d77 <+7>: mov %rsi,%rbx 0x00007f4f07840d7a <+10>: sub $0x10,%rsp 0x00007f4f07840d7e <+14>: mov (%rdi),%rax 0x00007f4f07840d81 <+17>: callq *0x10(%rax) 0x00007f4f07840d84 <+20>: mov 0x8(%rbx),%eax 0x00007f4f07840d87 <+23>: test %eax,%eax 0x00007f4f07840d89 <+25>: mov (%rbx),%rax 0x00007f4f07840d8c <+28>: je 0x7f4f07840dc0 <magics::GribDecoder::visit(magics::Transformation&)+80> 0x00007f4f07840d8e <+30>: mov 0x1a0(%rax),%rdx 0x00007f4f07840d95 <+37>: cmp 0x2db18c(%rip),%rdx # 0x7f4f07b1bf28 0x00007f4f07840d9c <+44>: jne 0x7f4f07840ec0 <magics::GribDecoder::visit(magics::Transformation&)+336> 0x00007f4f07840da2 <+50>: mov 0x1a8(%rax),%rax 0x00007f4f07840da9 <+57>: cmp 0x2de3c8(%rip),%rax # 0x7f4f07b1f178 0x00007f4f07840db0 <+64>: jne 0x7f4f07840f1c <magics::GribDecoder::visit(magics::Transformation&)+428> 0x00007f4f07840db6 <+70>: add $0x10,%rsp 0x00007f4f07840dba <+74>: pop %rbx 0x00007f4f07840dbb <+75>: pop %rbp 0x00007f4f07840dbc <+76>: pop %r12 0x00007f4f07840dbe <+78>: retq 0x00007f4f07840dbf <+79>: nop 0x00007f4f07840dc0 <+80>: mov 0x340(%rbp),%rdi 0x00007f4f07840dc7 <+87>: mov 0x240(%rax),%r12 => 0x00007f4f07840dce <+94>: mov (%rdi),%rax 0x00007f4f07840dd1 <+97>: mov 0xe8(%rax),%rdx 0x00007f4f07840dd8 <+104>: cmp 0x2dd881(%rip),%rdx # 0x7f4f07b1e660 ... (gdb) display/i $pc 1: x/i $pc => 0x7f4f07840dce <magics::GribDecoder::visit(magics::Transformation&)+94>: mov (%rdi),%rax (gdb) print/x $rdi $1 = 0x0 (gdb) print/x $rbp $2 = 0x1b1f5e0 (gdb) x/1xg $rbp + 0x340 0x1b1f920: 0x0000000000000000 (gdb) info share From To Syms Read Shared Object Library 0x00007f4f07170c80 0x00007f4f078d2d35 Yes /lib/x86_64-linux-gnu/libMagPlus.so.3 ... # dpkg -S /usr/lib/x86_64-linux-gnu/libMagPlus.so.3 libmagplus3v5:amd64: /usr/lib/x86_64-linux-gnu/libMagPlus.so.3 # dpkg -l | grep libmagplus3v5 ii libmagplus3v5:amd64 3.3.1-1 amd64 ECMWF meteorological plotting software library https://sources.debian.org/src/magics++/3.3.1-1/src/decoders/GribDecoder.cc/#L371 (gdb) print &this->matrix_ $3 = (magics::Matrix **) 0x1b1f920 (gdb) print this->matrix_ $4 = (magics::Matrix *) 0x0 (gdb) print this->xComponent_ $5 = (magics::Matrix *) 0x1c478b0 set width 0 set pagination off bt ############ # single-use Bullseye/testing amd64 qemu VM 2021-04-02 apt update apt dist-upgrade apt install systemd-coredump lightdm xserver-xorg openbox xterm mc gdb xygrib magics++ python3-magics++ libeccodes-tools \ libeccodes0-dbgsym libmagplus3v5-dbgsym benutzer@debian:~$ python3 wflags-segfault.py benutzer@debian:~$