https://bugs.kde.org/show_bug.cgi?id=473870

            Bug ID: 473870
           Summary: FreeBSD 14 applications fail early at startup
    Classification: Developer tools
           Product: valgrind
           Version: 3.22 GIT
          Platform: Other
                OS: FreeBSD
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: jsew...@acm.org
          Reporter: pjfl...@wanadoo.fr
  Target Milestone: ---

Something has changed on FreeBSD 14 amd64.

Seems to affect memcheck, drd, helgrind and dhat
none, massif, lackey, cachegrind and callgrind seem OK

./vg-in-place -q pwd

valgrind: m_redir.c:1212 (Addr vgPlain_redir_do_lookup(Addr, Bool *)):
Assertion 'iFuncWrapper' failed.

host stacktrace:
==42610==    at 0x3810C626: ??? (in
/home/paulf/valgrind/memcheck/memcheck-amd64-freebsd)
==42610==    by 0x1002AA9FDF: ???
==42610==    by 0x38105789: ??? (in
/home/paulf/valgrind/memcheck/memcheck-amd64-freebsd)
==42610==    by 0x3810C625: ??? (in
/home/paulf/valgrind/memcheck/memcheck-amd64-freebsd)
==42610==    by 0x1002AA978F: ???

sched status:
  running_tid=1

Thread 1: status = VgTs_Runnable (lwpid 100883)
==42610==    at 0x49B1BD0: stpcpy (in /lib/libc.so.7)
==42610==    by 0x40073D3: ??? (in /libexec/ld-elf.so.1)
==42610==    by 0x400A7CF: ??? (in /libexec/ld-elf.so.1)
==42610==    by 0x400975E: ??? (in /libexec/ld-elf.so.1)
==42610==    by 0x4006B88: ??? (in /libexec/ld-elf.so.1)
client stack range: [0x1FFBFFE000 0x1FFC000FFF] client SP: 0x1FFBFFFDE8
valgrind stack range: [0x10029AA000 0x1002AA9FFF] top usage: 7072 of 1048576


Note: see also the FAQ in the source distribution.
It contains workarounds to several common problems.
In particular, if Valgrind aborted or crashed after
identifying problems in your program, there's a good chance
that fixing those problems will prevent Valgrind aborting or
crashing, especially if it happened in m_mallocfree.c.

If that doesn't help, please report this bug to: www.valgrind.org

In the bug report, send all the above text, the valgrind
version, and what OS and version you are using.  Thanks.

I think that the assert is a red herring, and it's because the iFuncWrapper is
not correctly initialized.

My first impression is that there is a problem with reading the mmap'd memcheck
exe

--43056:2: aspacem   Reading /proc/self/maps
--43056:2: aspacem   <<< SHOW_SEGMENTS: With contents of /proc/self/maps (16
segments)
--43056:2: aspacem   1 segment names in 1 slots
--43056:2: aspacem   freelist is empty
--43056:2: aspacem   (0,4,3)
/home/paulf/valgrind/memcheck/memcheck-amd64-freebsd
--43056:2: aspacem     0: RSVN 0000000000-0003ffffff     64m ----- SmFixed
--43056:2: aspacem     1:      0004000000-0037ffffff    832m
--43056:2: aspacem     2: FILE 0038000000-00380c2fff  798720 r---- d=0x05a
i=2490977 o=0       (0,4)
--43056:2: aspacem     3: FILE 00380c3000-0038270fff 1761280 r-x-- d=0x05a
i=2490977 o=794624  (0,4)
--43056:2: aspacem     4: ANON 0038271000-003a84efff     37m rw---

The same on FreeBSD 13.2 (works OK)

--2474:2: aspacem   Reading /proc/self/maps
--2474:2: aspacem   <<< SHOW_SEGMENTS: With contents of /proc/self/maps (15
segments)
--2474:2: aspacem   1 segment names in 1 slots
--2474:2: aspacem   freelist is empty
--2474:2: aspacem   (0,4,5)
/usr/home/paulf/scratch/valgrind/memcheck/memcheck-amd64-freebsd
--2474:2: aspacem     0: RSVN 0000000000-0003ffffff     64m ----- SmFixed
--2474:2: aspacem     1:      0004000000-0037ffffff    832m
--2474:2: aspacem     2: FILE 0038000000-00380c4fff  806912 r---- d=0x696e301b
i=2438781 o=0       (0,4)
--2474:2: aspacem     3: FILE 00380c5000-0038274fff 1769472 r-x-- d=0x696e301b
i=2438781 o=802816  (0,4)
--2474:2: aspacem     4: FILE 0038275000-0038275fff    4096 rw--- d=0x696e301b
i=2438781 o=2568192 (0,4)
--2474:2: aspacem     5: ANON 0038276000-003a852fff     37m rw---

Where has number 4, the RW segment gone?

parse_procselfmaps could be at fault?

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to