2016-12-07 13:54 GMT+01:00 Radoslaw Kujawa <kuj...@9livesdata.com>:

> Hi Ivo,
>
> here is the log that appeared when we switched on trace-syscalls:
>
> SYSCALL[28094,1](89) sys_readlink ( 0x374581b667(/proc/self/exe),
> 0xffeffec10, 4096 ) --> [pre-success] Success(0x52)
> valgrind: m_syswrap/syswrap-main.c:1938 (vgPlain_client_syscall):
> Assertion '0 == (sci->flags & ~(SfPollAfter | SfYieldAfter |
> SfNoWriteResult))' failed.
>

Hi Radek,

Thanks to the log you provided, I was able to quickly analyse the situation
and get to the root cause.
Pre-syscall wrapper for sys_readlink in syswrap-generic.c sets SfMayBlock
unconditionally (via FUSE_COMPATIBLE_MAY_BLOCK)
in the anticipation that the subsequent real syscall may block.
However in some cases, such as when operating on /proc/self/exe, the
wrapper calls the real syscall
itself and therefore SfMayBlock should not have been set.

If you are able to compile Valgrind from sources, I can prepare a small
patch for you to test.
Unfortunately I don't have an environment to test with FUSE for you.
I.
------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to