Trent, thanks for working on the buildbot.  I fixed the first case you
mentioned in r61233 wrt removing the directory before closing the
file.  It would be great if you could submit a patch when you are able
to fix the remaining problems.

Cheers,
n

On Tue, Mar 4, 2008 at 6:58 AM, Trent Nelson <[EMAIL PROTECTED]> wrote:
> Spent some time on my buildbot (x86 2k8 trunk) this morning trying to track 
> down why test_bsddb3 is failing (trunk with db-4.4.20).  The first test that 
> fails is this:
>
>  test01_GetsAndPuts (bsddb.test.test_basics.BasicBTreeWithEnvTestCase) ... 
> ERROR
>
>  That's slightly misleading though as the test runs fine -- the actual 
> exception is being thrown in test_basics.BasicTestCase.tearDown() when 
> os.remove() is called against the first db file (i.e. '__db.001'):
>
>  WindowsError: [Error 5] Access is denied: 
> 'c:\users\trent~1.nel\appdata\local\temp\2\db_home2808\__db.001
>
>  This isn't surprising, given that the python_d.exe process still seems to 
> have __db.001, __db.002 and __db.003 open at the time os.remove() is called.  
> The aforementioned tearDown() method looks like this:
>
>     def tearDown(self):
>         self.d.close()
>         if self.env is not None:
>             test_support.rmtree(self.homeDir)
>             self.env.close()
>             ## Make a new DBEnv to remove the env files from the home dir.
>             ## (It can't be done while the env is open, nor after it has been
>             ## closed, so we make a new one to do it.)
>             #e = db.DBEnv()
>             #e.remove(self.homeDir)
>             #os.remove(os.path.join(self.homeDir, self.filename))
>         else:
>             os.remove(self.filename)
>
>  If I switch the order of statements such that self.env.close() is called 
> before test_suppot.rmtree(self.homeDir), this particular test and a host of 
> others that were also failing now pass (a runtime abort is no longer raised 
> by the CRT half way into the tests either).  (Note that the order was 
> switched to that shown above by Neal in r61052 on Feb 24th, which is when 
> these issues started occurring.)
>
>  That said, there are still a lot more test failures down the track once this 
> change has been made, either via the access denied WindowsError, or a 
> DBInvalidArgError, e.g.:
>
>  ERROR: test02_WithSource (bsddb.test.test_recno.SimpleRecnoTestCase)
>  ----------------------------------------------------------------------
>  Traceback (most recent call last):
>   File 
> "S:\src\svn\svn.python.org\projects\python\trunk\lib\bsddb\test\test_recno.py",
>  line 33, in tearDown
>     test_support.rmtree(self.homeDir)
>   File 
> "S:\src\svn\svn.python.org\projects\python\trunk\lib\test\test_support.py", 
> line 70, in rmtree
>     shutil.rmtree(path)
>   File "S:\src\svn\svn.python.org\projects\python\trunk\lib\shutil.py", line 
> 184, in rmtree
>     onerror(os.remove, fullname, sys.exc_info())
>   File "S:\src\svn\svn.python.org\projects\python\trunk\lib\shutil.py", line 
> 182, in rmtree
>     os.remove(fullname)
>  WindowsError: [Error 5] Access is denied: 
> 'c:\\users\\trent~1.nel\\appdata\\local\\temp\\2\\db_home4656\\tmp04_knk'
>  ======================================================================
>  ERROR: test01_1WriterMultiReaders 
> (bsddb.test.test_thread.BTreeConcurrentDataStore)
>  ----------------------------------------------------------------------
>  Traceback (most recent call last):
>   File 
> "S:\src\svn\svn.python.org\projects\python\trunk\lib\bsddb\test\test_thread.py",
>  line 62, in setUp
>     self.env.open(homeDir, self.envflags | db.DB_CREATE)
>  DBInvalidArgError: (22, 'Invalid argument -- configured environment flags 
> incompatible with existing environment')
>
>  The DBInvalidArgError exception is only raised after a previous WindowsError 
> is encountered, so I assume it's a side-effect of the tearDown() method not 
> cleaning the environment correctly.
>
>  It seems this comment in tearDown() is quite pertinent to our situation:
>             ## Make a new DBEnv to remove the env files from the home dir.
>             ## (It can't be done while the env is open, nor after it has been
>             ## closed, so we make a new one to do it.)
>             #e = db.DBEnv()
>             #e.remove(self.homeDir)
>             #os.remove(os.path.join(self.homeDir, self.filename))
>
>  Not sure why this is commented out -- quick search of svn history indicates 
> it's been like that for at least the last year and a half.
>
>  Will have some more time this evening to spend on this, however, work calls 
> at the moment.
>
>  Regards,
>
>     Trent.
>
>  ________________________________________
>  From: [EMAIL PROTECTED] [EMAIL PROTECTED] On Behalf Of Facundo Batista 
> [EMAIL PROTECTED]
>  Sent: 26 February 2008 06:22
>  To: Thomas Hervé
>  Cc: python-dev@python.org
>  Subject: Re: [Python-Dev] Buildbots for trunk are all red
>
>  2008/2/25, Thomas Hervé <[EMAIL PROTECTED]>:
>
>  >  I've worked on that problem during the bug day. I've open a ticket with
>  >  a patch at http://bugs.python.org/issue2168.
>
>  Most of the buildbots are green now!!!
>
>  Thank you all! This community is as awesome as Python itself, ;)
>
>  Three remains in red, though:
>
>  - Alpha Tru64: test_smtplib.py is flaky, and _ssl.c is not compiled
>  correctly. Neil is hunting this, I think.
>
>  - X86 XP-3: seems to crash after test_bsddb3.py.
>
>  - X86 XP-4: idem. For this two, how can be tried if the bsddb lib in
>  those windows is correctly installed?
>
>  Thanks again.
>
>  --
>  .    Facundo
>
>  Blog: http://www.taniquetil.com.ar/plog/
>  PyAr: http://www.python.org/ar/
>  _______________________________________________
>  Python-Dev mailing list
>  Python-Dev@python.org
>  http://mail.python.org/mailman/listinfo/python-dev
>  Unsubscribe: 
> http://mail.python.org/mailman/options/python-dev/tnelson%40onresolve.com
>  _______________________________________________
>  Python-Dev mailing list
>  Python-Dev@python.org
>  http://mail.python.org/mailman/listinfo/python-dev
>  Unsubscribe: 
> http://mail.python.org/mailman/options/python-dev/nnorwitz%40gmail.com
>
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to