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:~$ 



Reply via email to