Bug#582452: gnat-4.3: symbolic tracebacks broken; raise Storage_Error
Package: gnat-4.3
Version: 4.3.0-1 Severity: important (from Björn Persson): with Ada.Text_IO; with GNAT.Traceback.Symbolic; procedure Stack_Trace_Test is Oopsie : Exception; procedure Eledile is begin raise Oopsie with "How unfortunate!"; end Eledile; procedure Crocophant is begin Eledile; end Crocophant; begin Crocophant; exception when E : others => Ada.Text_IO.Put_Line(GNAT.Traceback.Symbolic.Symbo lic_Traceback(E)); end Stack_Trace_Test; $ gnatmake stack_trace_test.adb -g -bargs -E gcc-4.3 -c -g stack_trace_test.adb gnatbind -E -x stack_trace_test.ali gnatlink stack_trace_test.ali -g $ ./stack_trace_test Execution terminated by unhandled exception Exception name: STORAGE_ERROR Message: stack overflow (or erroneous memory access) Call stack traceback locations: 0xb7e7c56b $ addr2line --functions --exe=stack_trace_test 0xb7e7c56b ?? ??:0 -- Ludovic Brenta. -- To UNSUBSCRIBE, email to debian-gcc-REQUEST@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org Archive: c6c8b41d49bb2bc5327aefb09a82f799@localhost">http://lists.debian.org/c6c8b41d49bb2bc5327aefb09a82f799@localhost |
Bug#582452: gnat-4.3: symbolic tracebacks broken; raise Storage_Error
I investigated and discovered this is a genuine bug in the patched
convert_addresses which now expects an additional argument; I never noticed this upstream change: 2007-04-06 Olivier Hainque <hainque@adacore.com> * adaint.c: (convert_addresses): Adjust prototype and dummy definition to expect an extra file_name argument. * gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses, filling the now expected file_name argument with the appropriate argv[0] expansion. (__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it. (tracebk): Array of void * instead of char *, corresponding to what convert_addresses expects. (exename): New static global, to hold the executable file name to be used in all convert_addresses invocations. (gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type change. (__gnat_gmem_a2l_initialize): Resolve exename. (__gnat_convert_addresses): Use exename as the convert_addresses file_name argument. * g-trasym.adb (Symbolic_Traceback): Adjust signature of imported "convert_addresses", now expecting a filename argument. Import the necessary entities to compute the filename to use and pass it to convert_addresses. (Subversion revision 123544 on the trunk). Consequently I never adjusted convert_addresses.c accordingly. This is quite embarrassing as it means that both gnat-4.3 and gnat-4.4 are broken in this respect. -- Ludovic Brenta. -- To UNSUBSCRIBE, email to debian-gcc-REQUEST@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org Archive: 247db3c7ce23fb8c2d0b71b5638e4c19@localhost">http://lists.debian.org/247db3c7ce23fb8c2d0b71b5638e4c19@localhost |
Bug#582452: gnat-4.3: symbolic tracebacks broken; raise Storage_Error
reassign 582452 gnat-4.4
thanks I will not fix this bug in gnat-4.3, only in gnat-4.4. -- Ludovic Brenta. -- To UNSUBSCRIBE, email to debian-gcc-REQUEST@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org Archive: efeccfb2efcd70909c2a2de92178771e@localhost">http://lists.debian.org/efeccfb2efcd70909c2a2de92178771e@localhost |
| All times are GMT. The time now is 04:30 PM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.