bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

set_labels_identifiers_target -fsanitize=undefined error


From: Gavin Smith
Subject: set_labels_identifiers_target -fsanitize=undefined error
Date: Sat, 4 Nov 2023 11:00:00 +0000

On Wed, Nov 01, 2023 at 03:44:01PM +0000, Sam James wrote:
> 
> John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> writes:
> 
> > Hello!
> >
> > Starting with texinfo 7.1, there is a regression that results in texi2any
> > crashing with a Bus Error on SPARC running on Linux [1]:
> >
> > /bin/bash: line 16: 753042 Bus error               TEXINFO_DEV_SOURCE=1 
> > top_srcdir=".." top_builddir=".." /usr/bin/perl ../tp/texi2any -c 
> > INFO_SPECIAL_CHARS_WARNING=0 -I . -o texi2any_api.info `test -
> > f 'texi2any_api.texi' || echo './'`texi2any_api.texi
> > /bin/bash: line 16: 753044 Bus error               TEXINFO_DEV_SOURCE=1 
> > top_srcdir=".." top_builddir=".." /usr/bin/perl ../tp/texi2any -c 
> > INFO_SPECIAL_CHARS_WARNING=0 -I . -o info-stnd.info `test -f
> > 'info-stnd.texi' || echo './'`info-stnd.texi
> >
> > There are Linux SPARC machines available in the GCC Compile Farm which are
> > currently offline [2]. They are expected to become available again within
> > the next weeks.
> 
> I thought I'd take a quick look at this. When I tried building with
> -fsanitize=undefined on amd64, unfortunately, I hit another issue
> immediately (with export UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1)::

After fixing this on the master branch, there is still an error building
'texi2any_api.info':

if TEXINFO_DEV_SOURCE=1 top_srcdir=".." top_builddir=".." /usr/bin/perl 
../tp/texi2any -c INFO_SPECIAL_CHARS_WARNING=0  -I . \
 -o texi2any_api.info `test -f 'texi2any_api.texi' || echo 
'./'`texi2any_api.texi; \
then \
  rc=0; \
else \
  rc=$?; \
  $restore $backupdir/* `echo "./texi2any_api.info" | sed 's|[^/]*$||'`; \
fi; \
rm -rf $backupdir; exit $rc
main/targets.c:114:3: runtime error: null pointer passed as argument 2, which 
is declared to never be null
    #0 0x7fa57eaba6e3 in set_labels_identifiers_target main/targets.c:114
    #1 0x7fa57eafbff9 in parse_texi parsetexi/parser.c:2748
    #2 0x7fa57eaddcca in parse_string parsetexi/api.c:233
    #3 0x7fa57f3f00e1 in XS_Texinfo__Parser_parse_string 
parsetexi/Parsetexi.c:284
    #4 0x55d23ccdfad6 in Perl_pp_entersub (/usr/bin/perl+0x113ad6)
    #5 0x55d23ccc7ac5 in Perl_runops_standard (/usr/bin/perl+0xfbac5)
    #6 0x55d23cc4155b in perl_run (/usr/bin/perl+0x7555b)
    #7 0x55d23cc16976 in main (/usr/bin/perl+0x4a976)
    #8 0x7fa57f429d8f in __libc_start_call_main 
../sysdeps/nptl/libc_start_call_main.h:58
    #9 0x7fa57f429e3f in __libc_start_main_impl ../csu/libc-start.c:392
    #10 0x55d23cc169b4 in _start (/usr/bin/perl+0x4a9b4)

make[1]: *** [Makefile:1948: texi2any_api.info] Error 1

The line in question is:

  memcpy (targets, list_of_labels, labels_number * sizeof(LABEL));

- again, the second argument of memcpy.

However, main/targets.c was only introduced after Texinfo 7.1 so
this is not the original problem.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]