Public bug reported: Package: gdb (8.1-0ubuntu3.2 Ubuntu:18.04/bionic-updates [amd64]) Ubuntu Release: Ubuntu 18.04.4 LTS
Bug occurs when trying to print allocatable or pointer component of a Fortran derived-type structure in gdb. Expected behavior: gdb prints the contents of array BUFFER%ALPHA in the MWE below. Observed behavior: See upstream report https://sourceware.org/bugzilla/show_bug.cgi?id=23051 When trying to print BUFFER%ALPHA, gdb crashes. The MWE copied form the above link is: 1 PROGRAM allocate_array 2 3 TYPE L_BUFFER 4 REAL, DIMENSION(:), POINTER :: ALPHA 5 END TYPE L_BUFFER 6 TYPE(L_BUFFER), POINTER :: BUFFER 7 8 ALLOCATE(BUFFER) 9 10 ALLOCATE(BUFFER%ALPHA(5)) 11 12 BUFFER%ALPHA(5)=0.0078 13 print *, buffer%alpha 14 15 END PROGRAM allocate_array And the gdb output reads: Breakpoint 1, allocate_array () at allocate_array.F90:13 13 print *, buffer%alpha (gdb) i lo buffer = 0x603f80 (gdb) p *buffer $1 = ( value.c:3116: internal-error: value* value_primitive_field(value*, LONGEST, int, type*): Assertion `PROP_CONST == TYPE_DATA_LOCATION_KIND (type)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) n The same error can be observed from inside a type-bound procedure when trying to print THIS%ALPHA (where this is the instance variable). The assertion fails since TYPE_DATA_LOCATION_KIND (type) is PROP_LOCEXPR. A standalone allocatable array has the property type PROP_CONST, as expected. This bug renders debugging of Fortran code with visual tools (vscode, eclipse, etc.) very difficult as the components are parsed automatically, leading to a crash. ** Affects: gdb (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to gdb in Ubuntu. https://bugs.launchpad.net/bugs/1886836 Title: gdb crashes on printing allocatable array in Fortran derived type Status in gdb package in Ubuntu: New Bug description: Package: gdb (8.1-0ubuntu3.2 Ubuntu:18.04/bionic-updates [amd64]) Ubuntu Release: Ubuntu 18.04.4 LTS Bug occurs when trying to print allocatable or pointer component of a Fortran derived-type structure in gdb. Expected behavior: gdb prints the contents of array BUFFER%ALPHA in the MWE below. Observed behavior: See upstream report https://sourceware.org/bugzilla/show_bug.cgi?id=23051 When trying to print BUFFER%ALPHA, gdb crashes. The MWE copied form the above link is: 1 PROGRAM allocate_array 2 3 TYPE L_BUFFER 4 REAL, DIMENSION(:), POINTER :: ALPHA 5 END TYPE L_BUFFER 6 TYPE(L_BUFFER), POINTER :: BUFFER 7 8 ALLOCATE(BUFFER) 9 10 ALLOCATE(BUFFER%ALPHA(5)) 11 12 BUFFER%ALPHA(5)=0.0078 13 print *, buffer%alpha 14 15 END PROGRAM allocate_array And the gdb output reads: Breakpoint 1, allocate_array () at allocate_array.F90:13 13 print *, buffer%alpha (gdb) i lo buffer = 0x603f80 (gdb) p *buffer $1 = ( value.c:3116: internal-error: value* value_primitive_field(value*, LONGEST, int, type*): Assertion `PROP_CONST == TYPE_DATA_LOCATION_KIND (type)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) n The same error can be observed from inside a type-bound procedure when trying to print THIS%ALPHA (where this is the instance variable). The assertion fails since TYPE_DATA_LOCATION_KIND (type) is PROP_LOCEXPR. A standalone allocatable array has the property type PROP_CONST, as expected. This bug renders debugging of Fortran code with visual tools (vscode, eclipse, etc.) very difficult as the components are parsed automatically, leading to a crash. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/1886836/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp