FWIW, I'm pretty sure that the issue is around the use of O_DIRECT and
alignment of memory.
Note that in the call to pread64() , the buffer isn't 4KB aligned, which is
usually required for O_DIRECT.
I assume that this generates the error and the rest of the issue.

On Wed, Dec 16, 2020 at 11:17 PM Oren Eini (Ayende Rahien) <
aye...@ayende.com> wrote:

> Hi,
> I'm getting a strange error when running Valgrind.
>
> --23266-- WARNING: Serious error when reading debug info
> --23266-- When reading debug info from /tmp/db/test.txt:
> --23266-- can't read file to inspect ELF header
>
> Note that the file in question is a data file, which I'm mmaping
>
> I can reproduce this using the following code:
> https://gist.github.com/ayende/d65a7a3c06556d62c8fa0f88b04ea449
>
> valgrind-3.16.1 & clang version 10.0.0-4ubuntu1
>
> This seems to be related to mmaping a file, but I can't figure out exactly
> why
>
> Running Valgrind under `strace` gives:
>
>     mmap(0x4e4d000, 65536, PROT_READ, MAP_SHARED|MAP_FIXED, 3, 0) =
> 0x4e4d000
>     statx(3, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL,
> {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0600,
> stx_size=262144, ...}) = 0
>     readlink("/proc/self/fd/3", "/tmp/db/test.txt", 4096) = 16
>     statx(AT_FDCWD, "/tmp/db/test.txt", AT_STATX_SYNC_AS_STAT, STATX_ALL,
> {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0600,
> stx_size=262144, ...}) = 0
>     pread64(3, 0x10032c68a0, 1024, 0)       = -1 EINVAL (Invalid argument)
>     getpid()                                = 23260
>     write(1027, "--23260-- WARNING: Serious error"..., 57--23260--
> WARNING: Serious error when reading debug info
>     ) = 57
>     getpid()                                = 23260
>     write(1027, "--23260-- When reading debug inf"..., 57--23260-- When
> reading debug info from /tmp/db/test.txt:
>
> So it looks like the `pread64()` code is failing, but I can't figure out
> why that is the case, or why it would cause Valgrind to give this error.
> Any ideas?
>


-- 
<https://ravendb.net/> *Oren Eini*
*CEO   /   Hibernating Rhinos LTD <https://hibernatingrhinos.com/>*
Mobile:  972-52-548-6969
Sales:  sa...@ravendb.net
Skype:  ayenderahien
Support:  supp...@ravendb.net
<https://www.facebook.com/pages/RavenDB/265907650186374>
<https://twitter.com/ravendb>
<https://www.linkedin.com/company/hibernating-rhinos-ltd-/>
<https://ravendb.net/emailsignature/displayeventpage>
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to