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