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

--- Comment #3 from Paul Floyd <[email protected]> ---
(In reply to limuyang202011 from comment #2)
> the example in github issue can reproduce this issue, too.Maybe you weren't
> fix this issue all.(In reply to Paul Floyd from comment #1)

I'm not able to reproduce this on FreeBSD.

Please can you do the following:
1. run objdump -p on your exacutable and post the PT_LOAD segments, which
should look something like

    LOAD off    0x0000000000000000 vaddr 0x0000000000000000 paddr
0x0000000000000000 align 2**12
         filesz 0x0000000000016580 memsz 0x0000000000016580 flags r--
    LOAD off    0x0000000000016580 vaddr 0x0000000000017580 paddr
0x0000000000017580 align 2**12
         filesz 0x000000000004092c memsz 0x000000000004092c flags r-x
    LOAD off    0x0000000000056eb0 vaddr 0x0000000000058eb0 paddr
0x0000000000058eb0 align 2**12
         filesz 0x0000000000002ef8 memsz 0x0000000000003150 flags rw-
    LOAD off    0x0000000000059da8 vaddr 0x000000000005cda8 paddr
0x000000000005cda8 align 2**12
         filesz 0x0000000000000080 memsz 0x0000000000000160 flags rw-

2. Run objdump -h on your exe and pipe it through a grep for rodata
e.g.

objdump -h  target/debug/rust_real_test | grep rodata
 14 .rodata            00005dd4 0000000000010410 DATA
 16 .rodata.str1.1     00000001 0000000000016206 DATA
 17 .rodata.cst4       0000004c 0000000000016208 DATA
 18 .rodata.cst8       00000040 0000000000016258 DATA
 19 .rodata.cst16      00000260 00000000000162a0 DATA
 20 .rodata.cst32      00000080 0000000000016500 DATA


3. run Valgrind -d -d -d on your exe. The output will be very long. I'm only
interested in the but releated to reading your exe's elf segments which should
look like this

--6368-- di_notify_mmap-0:
--6368-- di_notify_mmap-1: 0x108000-0x11efff r--
--6368-- di_notify_mmap-2:
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test
--6368-- di_notify_mmap-3: is_rx_map 0, is_rw_map 0, is_ro_map 1
--6368-- check_elf_and_get_rw_loads: ++*rw_load_count to 1 for
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test
p_vaddr 0x58eb0 p_offset 356016, p_filesz 12024
--6368-- check_elf_and_get_rw_loads: ++*rw_load_count to 2 for
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test
p_vaddr 0x5cda8 p_offset 368040, p_filesz 128
--6368-- di_notify_mmap-4: noting details in DebugInfo* at 0x100287C220
--6368-- di_notify_mmap-6: no dinfo loaded
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test (no
rx or no rw mapping)
--6368-- di_notify_mmap-0:
--6368-- di_notify_mmap-1: 0x11f000-0x15ffff r-x
--6368-- di_notify_mmap-2:
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test
--6368-- di_notify_mmap-3: is_rx_map 1, is_rw_map 0, is_ro_map 0
--6368-- check_elf_and_get_rw_loads: ++*rw_load_count to 1 for
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test
p_vaddr 0x58eb0 p_offset 356016, p_filesz 12024
--6368-- check_elf_and_get_rw_loads: ++*rw_load_count to 2 for
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test
p_vaddr 0x5cda8 p_offset 368040, p_filesz 128
--6368-- di_notify_mmap-4: noting details in DebugInfo* at 0x100287C220
--6368-- di_notify_mmap-6: no dinfo loaded
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test (no
rx or no rw mapping)
--6368-- di_notify_mmap-0:
--6368-- di_notify_mmap-1: 0x160000-0x163fff rw-
--6368-- di_notify_mmap-2:
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test
--6368-- di_notify_mmap-3: is_rx_map 0, is_rw_map 1, is_ro_map 0
--6368-- check_elf_and_get_rw_loads: ++*rw_load_count to 1 for
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test
p_vaddr 0x58eb0 p_offset 356016, p_filesz 12024
--6368-- check_elf_and_get_rw_loads: ++*rw_load_count to 2 for
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test
p_vaddr 0x5cda8 p_offset 368040, p_filesz 128
--6368-- di_notify_mmap-4: noting details in DebugInfo* at 0x100287C220
--6368-- di_notify_mmap-6: no dinfo loaded
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test (no
rx or no rw mapping)
--6368-- di_notify_mmap-0:
--6368-- di_notify_mmap-1: 0x164000-0x164fff rw-
--6368-- di_notify_mmap-2:
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test
--6368-- di_notify_mmap-3: is_rx_map 0, is_rw_map 1, is_ro_map 0
--6368-- check_elf_and_get_rw_loads: ++*rw_load_count to 1 for
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test
p_vaddr 0x58eb0 p_offset 356016, p_filesz 12024
--6368-- check_elf_and_get_rw_loads: ++*rw_load_count to 2 for
/usr/home/paulf/scratch/vg_examples/bug486538/target/debug/rust_real_test
p_vaddr 0x5cda8 p_offset 368040, p_filesz 128
--6368-- di_notify_mmap-4: noting details in DebugInfo* at 0x100287C220

4. Post the output of valgrind --version

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

Reply via email to