|
Post by rikky on Mar 31, 2024 10:15:36 GMT 1
Hello I'm using :
BaCon version 4.8 on Linux armv7l - (c) Peter van Eerten - MIT License.
I have these 2 functions, one pointing to the other:
FUNCTION bla(string$) TYPE int RETURN 123 END FUNCTION
FUNCTION blabla(string$) TYPE int RETURN bla(string$) END FUNCTION
And I have these two programs, both working very fine, program1: PRINT bla("bla") program2: PRINT blabla("bla") result 1 & 2: 123 However my 3th program: PRINT bla("bla") PRINT blabla("bla") returns: 123 ERROR: signal for SEGMENTATION FAULT received - memory invalid or array out of bounds? Try to compile the program with TRAP LOCAL to find the cause. Rik.
|
|
|
Post by Pjot on Mar 31, 2024 14:47:11 GMT 1
Hi rikky,
Well, I guess your full program looks like this:
FUNCTION bla(string$) TYPE int RETURN 123 END FUNCTION
FUNCTION blabla(string$) TYPE int RETURN bla(string$) END FUNCTION
PRINT bla("bla") PRINT blabla("bla")
It works flawlessly for me, without problems, also on RaspberryPI:
peter@raspberrypi:~/bacon $ uname -a Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux peter@raspberrypi:~/bacon $ bacon -v
BaCon version 4.8 on Linux aarch64 - (c) Peter van Eerten - MIT License.
peter@raspberrypi:~/bacon $ bacon -o -g rikky Converting 'rikky.bac'... done, 10 lines were processed in 0.006 seconds. Creating lexical analyzer using flex... done. Compiling 'rikky.bac'... cc -g -c rikky.bac.c cc -o rikky rikky.bac.o -lm Done, program 'rikky' ready. peter@raspberrypi:~/bacon $ valgrind ./rikky ==16316== Memcheck, a memory error detector ==16316== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. ==16316== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info ==16316== Command: ./rikky ==16316== 123 123 ==16316== ==16316== HEAP SUMMARY: ==16316== in use at exit: 0 bytes in 0 blocks ==16316== total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated ==16316== ==16316== All heap blocks were freed -- no leaks are possible ==16316== ==16316== For lists of detected and suppressed errors, rerun with: -s ==16316== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) peter@raspberrypi:~/bacon $ ./rikky 123 123 peter@raspberrypi:~/bacon $
So I cannot reproduce your problem. Are you sure you are compiling with bacon version 4.8 ?
BR Peter
|
|
|
Post by rikky on Mar 31, 2024 15:42:16 GMT 1
Oh sh*t. I get this sometimes when searching for a bug. It's called tunnel vision. I had the functions in an include file called bla.bac: FUNCTION bla(string$) TYPE int RETURN 123 END FUNCTION
FUNCTION blabla(string$) TYPE int RETURN bla(string$) END FUNCTION So my program becomes: INCLUDE "./bla"
PRINT PRINT bla("bla") PRINT blabla("bla") result:
123 ERROR: signal for SEGMENTATION FAULT received - memory invalid or array out of bounds? Try to compile the program with TRAP LOCAL to find the cause.
Rik.
|
|
|
Post by Pjot on Mar 31, 2024 18:31:27 GMT 1
Even then I cannot reproduce it on my RPI:
peter@raspberrypi:~/bacon $ cat bla.bac FUNCTION bla(string$) TYPE int RETURN 123 END FUNCTION
FUNCTION blabla(string$) TYPE int RETURN bla(string$) END FUNCTION peter@raspberrypi:~/bacon $ cat rikky.bac INCLUDE "./bla"
PRINT PRINT bla("bla") PRINT blabla("bla") peter@raspberrypi:~/bacon $ peter@raspberrypi:~/bacon $ peter@raspberrypi:~/bacon $ bacon rikky Converting 'rikky.bac'... done, 13 lines were processed in 0.012 seconds. Creating lexical analyzer using flex... done. Compiling 'rikky.bac'... cc -c rikky.bac.c cc -o rikky rikky.bac.o -lm Done, program 'rikky' ready. peter@raspberrypi:~/bacon $ valgrind ./rikky ==18357== Memcheck, a memory error detector ==18357== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. ==18357== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info ==18357== Command: ./rikky ==18357==
123 123 ==18357== ==18357== HEAP SUMMARY: ==18357== in use at exit: 0 bytes in 0 blocks ==18357== total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated ==18357== ==18357== All heap blocks were freed -- no leaks are possible ==18357== ==18357== For lists of detected and suppressed errors, rerun with: -s ==18357== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
It seems to be working fine for me? Also it works fine in Linux Mint for example.
So can you recompile as follows:
# bacon -o -g -y -p -@ rikky.bac
and then try to run with 'valgrind':
# valgrind ./rikky
That should give us a hint where the crash occurs.
Thx, Peter
|
|
|
Post by rikky on Mar 31, 2024 19:19:40 GMT 1
Oke, this gave me a hint. I'm working from Geany, I should have checked more properly In the build commands I have bacon as a label. But ... It pointed to an old fossil. Oeps .... sorry. Thisfossil gives version: BaCon version 4.7.1 on Linux armv7l - (c) Peter van Eerten - MIT License. I have no idea how to check which fossil version this is, but FILETIME,1 gives : 1689520810 which is quite a while ago : Sunday 16/07/2023 17:20:10 bacon --without-the--o-g-y-p -@ ./rikky.bac works fine. So problem solved. But, because you did so much work for nothing I did the thing you asked for on the fossil. And then valgrind ./rikky gives: valgrind ./rikky ==21321== Memcheck, a memory error detector ==21321== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al. ==21321== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info ==21321== Command: ./rikky ==21321== --21321-- WARNING: Serious error when reading debug info --21321-- When reading debug info from /usr/lib/arm-linux-gnueabihf/ld-2.31.so: --21321-- Ignoring non-Dwarf2/3/4 block in .debug_info --21321-- WARNING: Serious error when reading debug info --21321-- When reading debug info from /usr/lib/arm-linux-gnueabihf/ld-2.31.so: --21321-- Last block truncated in .debug_info; ignoring ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401BFA0: index (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401BFA4: index (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x400876C: _dl_dst_count (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x40089B8: expand_dynamic_string_token (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401C460: strlen (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401C464: strlen (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4019814: malloc (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4019820: malloc (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CF18: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CF38: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CF48: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CF64: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CF8C: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CF8C: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CFB4: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CFC8: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CFCC: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CFD8: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401994C: calloc (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4019858: malloc (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401BB30: mmap (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Syscall param mmap2(start) contains uninitialised byte(s) ==21321== at 0x401BB44: mmap (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Syscall param mmap2(length) contains uninitialised byte(s) ==21321== at 0x401BB44: mmap (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Syscall param mmap2(offset) contains uninitialised byte(s) ==21321== at 0x401BB44: mmap (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x40197F0: malloc (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x400C638: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CF60: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400C5C8: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400C5E0: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401C3EC: strdup (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CF88: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CF88: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CFB0: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x40094D0: _dl_map_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Syscall param openat(filename) contains uninitialised byte(s) ==21321== at 0x401B8C0: __open64_nocancel (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401998C: free (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x400C3C4: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400C3D8: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400C3F0: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400C410: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400C438: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400C4C8: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400C4DC: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400C4FC: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400C518: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401C410: strlen (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401C428: strlen (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CF58: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400C5E4: _dl_new_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4007460: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4007480: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4007494: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40074B4: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40077DC: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40077F0: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4007584: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4007600: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4007618: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4007628: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4007F28: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4007704: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4012004: _dl_name_match_p (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4012018: _dl_name_match_p (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401BFF0: strcmp (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401200C: _dl_name_match_p (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x40146F0: _dl_get_origin (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CFA4: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CFA8: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CFAC: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CFB8: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CFBC: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CFD4: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4014704: _dl_get_origin (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4008A60: expand_dynamic_string_token (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4008A18: expand_dynamic_string_token (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4008848: _dl_dst_substitute (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401C04C: strcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40088C8: _dl_dst_substitute (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CF70: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x40099FC: _dl_map_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401D0C0: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CFD8: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CFDC: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== --21321-- WARNING: Serious error when reading debug info --21321-- When reading debug info from /usr/lib/arm-linux-gnueabihf/libm-2.31.so: --21321-- Ignoring non-Dwarf2/3/4 block in .debug_info --21321-- WARNING: Serious error when reading debug info --21321-- When reading debug info from /usr/lib/arm-linux-gnueabihf/libm-2.31.so: --21321-- Last block truncated in .debug_info; ignoring ==21321== Use of uninitialised value of size 4 ==21321== at 0x401D210: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40078CC: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4007748: _dl_map_object_from_fd (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== --21321-- WARNING: Serious error when reading debug info --21321-- When reading debug info from /usr/lib/arm-linux-gnueabihf/libc-2.31.so: --21321-- Ignoring non-Dwarf2/3/4 block in .debug_info --21321-- WARNING: Serious error when reading debug info --21321-- When reading debug info from /usr/lib/arm-linux-gnueabihf/libc-2.31.so: --21321-- Last block truncated in .debug_info; ignoring ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x400F2E0: _dl_map_object_deps (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400F2F4: _dl_map_object_deps (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x400F6C0: _dl_map_object_deps (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400F6F4: _dl_map_object_deps (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400F728: _dl_map_object_deps (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CF7C: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CF80: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CF84: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CF90: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CF94: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40176D8: _dl_sort_maps (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40176F8: _dl_sort_maps (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400FAC8: _dl_map_object_deps (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4003B60: dl_main (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== ==21321== More than 100 errors detected. Subsequent errors ==21321== will still be recorded, but in less detail than before. ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4003B74: dl_main (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4003BD0: dl_main (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4003BE8: dl_main (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4012394: _dl_check_map_versions (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40123B0: _dl_check_map_versions (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40123C8: _dl_check_map_versions (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x40127FC: _dl_check_map_versions (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4012870: _dl_check_map_versions (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40128EC: _dl_check_map_versions (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400114C: init_tls (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4001178: init_tls (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4013B64: _dl_determine_tlsoffset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013B68: _dl_determine_tlsoffset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013B74: _dl_determine_tlsoffset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013B88: _dl_determine_tlsoffset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013C6C: _dl_determine_tlsoffset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4019898: malloc (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4013D94: _dl_allocate_tls_storage (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401D3D4: __udivsi3 (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CEA0: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CEA8: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CEC0: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401CEC0: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CEC8: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CED0: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CED8: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CEDC: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CEE8: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CEF0: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CEF8: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CF00: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CF04: memset (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013DCC: _dl_allocate_tls_storage (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4013DE0: _dl_allocate_tls_storage (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013DE0: _dl_allocate_tls_storage (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013DE4: _dl_allocate_tls_storage (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4013DE8: _dl_allocate_tls_storage (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x40011A8: init_tls (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40011B0: init_tls (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Syscall param set_tls(addr) contains uninitialised byte(s) ==21321== at 0x40011C4: init_tls (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40048F4: dl_main (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40048FC: dl_main (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400D564: _dl_relocate_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x400B048: _dl_lookup_symbol_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400B060: _dl_lookup_symbol_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A4C4: do_lookup_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x400A4D0: do_lookup_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A4EC: do_lookup_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A448: do_lookup_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A454: do_lookup_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A488: do_lookup_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A680: do_lookup_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A690: do_lookup_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A6F0: do_lookup_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A2A4: check_match (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x400A2A8: check_match (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A2BC: check_match (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A2C4: check_match (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A2D4: check_match (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A378: check_match (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A37C: check_match (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400B12C: _dl_lookup_symbol_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400B13C: _dl_lookup_symbol_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400D734: _dl_relocate_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400D8C0: _dl_relocate_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400B09C: _dl_lookup_symbol_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40144B4: _dl_add_to_slotinfo (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40144D8: _dl_add_to_slotinfo (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400E688: _dl_relocate_object (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A4E0: do_lookup_x (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4013E2C: _dl_allocate_tls_init (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013E34: _dl_allocate_tls_init (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013E3C: _dl_allocate_tls_init (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013E78: _dl_allocate_tls_init (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013E94: _dl_allocate_tls_init (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013EA0: _dl_allocate_tls_init (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013EC4: _dl_allocate_tls_init (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401CF24: memcpy (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013F30: _dl_allocate_tls_init (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4013F50: _dl_allocate_tls_init (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4011414: _dl_init (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4010910: _dl_fixup (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x401099C: _dl_fixup (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x401099C: _dl_fixup (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x40170A8: _dl_runtime_resolve (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x400A2E0: check_match (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x48601C0: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4971FE0: index (in /usr/lib/arm-linux-gnueabihf/libc-2.31.so) ==21321== --21321-- WARNING: unhandled syscall: 403 --21321-- You may be able to write your own handler. --21321-- Read the file README_MISSING_SYSCALL_OR_IOCTL. --21321-- Nevertheless we consider this a bug. Please report --21321-- it at http://valgrind.org/support/bug_reports.html. ==21321== Use of uninitialised value of size 4 ==21321== at 0x4926310: signal (in /usr/lib/arm-linux-gnueabihf/libc-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x496DDC4: malloc (in /usr/lib/arm-linux-gnueabihf/libc-2.31.so) ==21321==
==21321== Use of uninitialised value of size 4 ==21321== at 0x485F16C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x496ECC4: calloc (in /usr/lib/arm-linux-gnueabihf/libc-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x495F080: fputc (in /usr/lib/arm-linux-gnueabihf/libc-2.31.so) ==21321== 123 ==21321== Use of uninitialised value of size 4 ==21321== at 0x496E498: free (in /usr/lib/arm-linux-gnueabihf/libc-2.31.so) ==21321== ==21321== Invalid read of size 4 ==21321== at 0x11B1C: __b2c__len (rikky.bac.functions.h:368) ==21321== by 0x119CB: __b2c_Copy_String (rikky.bac.functions.h:342) ==21321== by 0x12F7F: bla (bla.bla.h:8) ==21321== by 0x13147: blabla (bla.blabla.h:15) ==21321== by 0x132DF: main (rikky.bac.c:43) ==21321== Address 0x4a4c598 is 0 bytes inside a block of size 20 free'd ==21321== at 0x4848CFC: free (vg_replace_malloc.c:426) ==21321== by 0x1310B: blabla (bla.blabla.h:13) ==21321== by 0x132DF: main (rikky.bac.c:43) ==21321== ==21321== Invalid read of size 2 ==21321== at 0x485FEDC: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so) ==21321== Address 0x4a4c5a6 is 14 bytes inside a block of size 20 free'd ==21321== at 0x4848CFC: free (vg_replace_malloc.c:426) ==21321== by 0x1310B: blabla (bla.blabla.h:13) ==21321== by 0x132DF: main (rikky.bac.c:43) ==21321== ==21321== Invalid read of size 1 ==21321== at 0x485FEF0: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so) ==21321== Address 0x4a4c5a5 is 13 bytes inside a block of size 20 free'd ==21321== at 0x4848CFC: free (vg_replace_malloc.c:426) ==21321== by 0x1310B: blabla (bla.blabla.h:13) ==21321== by 0x132DF: main (rikky.bac.c:43) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x48A27D0: floor (in /usr/lib/arm-linux-gnueabihf/libm-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x493D91C: snprintf (in /usr/lib/arm-linux-gnueabihf/libc-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x495696C: fputs (in /usr/lib/arm-linux-gnueabihf/libc-2.31.so) ==21321== 123 ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4011610: _dl_fini (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4017860: _dl_sort_maps (in /usr/lib/arm-linux-gnueabihf/ld-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4A16188: free_mem (in /usr/lib/arm-linux-gnueabihf/libc-2.31.so) ==21321== ==21321== Conditional jump or move depends on uninitialised value(s) ==21321== at 0x4A16200: free_mem (in /usr/lib/arm-linux-gnueabihf/libc-2.31.so) ==21321== ==21321== Use of uninitialised value of size 4 ==21321== at 0x4A160AC: free_slotinfo (in /usr/lib/arm-linux-gnueabihf/libc-2.31.so) ==21321== ==21321== ==21321== HEAP SUMMARY: ==21321== in use at exit: 102 bytes in 3 blocks ==21321== total heap usage: 7 allocs, 4 frees, 1,186 bytes allocated ==21321== ==21321== LEAK SUMMARY: ==21321== definitely lost: 0 bytes in 0 blocks ==21321== indirectly lost: 0 bytes in 0 blocks ==21321== possibly lost: 78 bytes in 1 blocks ==21321== still reachable: 24 bytes in 2 blocks ==21321== suppressed: 0 bytes in 0 blocks ==21321== Rerun with --leak-check=full to see details of leaked memory ==21321== ==21321== For counts of detected and suppressed errors, rerun with: -v ==21321== Use --track-origins=yes to see where uninitialised values come from ==21321== ERROR SUMMARY: 5502 errors from 205 contexts (suppressed: 98 from 1)
My sincere apologies for the inconvenience. Rik.
|
|
|
Post by Pjot on Apr 1, 2024 7:24:17 GMT 1
Thanks rikky, No worries, if the conversion was done by 4.7.1 then it very clearly explains the problem. As you may have observed from the CHANGES file: January 2, 2024 - 4.7.2 (hotfix) - Fix: compilation on exotic platforms revealed collisions in memory management causing segfaults (all versions)
January 1, 2024 - 4.7.1 stable
So, one day after the release of 4.7.1, I already was notified by similar segfaults, and this was fixed in 4.7.2. Of course, the 4.8 release is the very best in terms of internal memory management, which my previous posts in this thread also demonstrate ...so I am happy that 4.8 also works for you and that the confusion has been cleared up! Best regards Peter
|
|