From: Troels W. H. <tr...@th...> - 2003-05-10 16:09:28
|
Hi Julian, I can confirm that your patch solved my testcase. I tested Valgrind 1.9.6 + patch (applied with a small offset) on RH9. However... I managed to recreate the exact same problem with another testcase. The new testcase contains the same code, but runs in a different thread. Script is attached. $ python dbboguserrno2.py Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.2/threading.py", line 408, in __bootstrap self.run() File "dbboguserrno2.py", line 8, in run filetype = db.DB_BTREE) File "/usr/lib/python2.2/site-packages/rpmdb/dbshelve.py", line 69, in open d.open(filename, dbname, filetype, flags, mode) DBNoSuchFileError: (2, 'No such file or directory') $ valgrind python dbboguserrno2.py ==24099== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux. ==24099== Copyright (C) 2002, and GNU GPL'd, by Julian Seward. ==24099== Using valgrind-1.9.6, a program instrumentation system for x86-linux. ==24099== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward. ==24099== Estimated CPU clock rate is 436 MHz ==24099== For more details, rerun with: -v ==24099== ==24099== valgrind's libpthread.so: IGNORED call to: pthread_attr_destroy Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.2/threading.py", line 408, in __bootstrap self.run() File "dbboguserrno2.py", line 8, in run filetype = db.DB_BTREE) File "/usr/lib/python2.2/site-packages/rpmdb/dbshelve.py", line 69, in open d.open(filename, dbname, filetype, flags, mode) DBAgainError: (11, 'Resource temporarily unavailable') Troels -----Original Message----- From: val...@li... [mailto:val...@li...] On Behalf Of Julian Seward Sent: 10. mai 2003 02:03 To: Troels Walsted Hansen; val...@li... Subject: Re: [Valgrind-users] BerkeleyDB gets bogus errno in Valgrind Thanks for chasing this down. The attached patch fixes it for me on R H 9 and SuSE 8.2. Perhaps you can try it? J On Wednesday 07 May 2003 10:01 am, Troels Walsted Hansen wrote: > Sorry, I managed to forget to attach the script. > > Here's the script, as well as two straces, created with the below > commands, on a RH8+glibc 2.3.3 machine. > > strace python dbboguserrno.py 2> strace-normal.txt > strace valgrind python dbboguserrno.py 2> strace-valgrind.txt > > Both traces show the below syscall, but the instance running in Valgrind > seems to get EAGAIN instead... > > open("nosuchfile.db", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = -1 ENOENT (No > such file or directory) > > Troels |