W dniu 08.12.2016 o 11:12, Ivo Raisr pisze:


2016-12-07 13:54 GMT+01:00 Radoslaw Kujawa <kuj...@9livesdata.com <mailto: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.

Yes, we can recompile Valgrind. We will be grateful if you prepare a patch for us. If it occurs that this patch resolves the problem, do you think we should report it as a bug via bugzilla?

Radek
------------------------------------------------------------------------------
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