|
From: Radoslaw K. <ku...@9l...> - 2016-12-12 14:08:39
|
W dniu 08.12.2016 o 17:24, Ivo Raisr pisze: > > > 2016-12-08 11:28 GMT+01:00 Radoslaw Kujawa <ku...@9l... > <mailto:ku...@9l...>>: > > > W dniu 08.12.2016 o 11:12, Ivo Raisr pisze: >> >> >> 2016-12-07 13:54 GMT+01:00 Radoslaw Kujawa <ku...@9l... >> <mailto:ku...@9l...>>: >> >> 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? > > > > Please find attached a patch. File a bug anyway and report your findings. > I. Thanks for patch, it helped. I've reported this issue via bugzilla. Radek |