Opened 16 years ago
Closed 16 years ago
#8865 closed defect (worksforme)
rename transaction triggers a test failure on Windows7,
| Reported by: | Christian Boos | Owned by: | Remy Blank |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | general | Version: | none |
| Severity: | normal | Keywords: | windows7 rename needrblank |
| Cc: | Remy Blank | Branch: | |
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description
Seen in Tim's buildbot:
http://buildbot.timhatch.com/trac/builders/win7%20py26/builds/62
ERROR: Test for regression of http://trac.edgewall.org/ticket/3833 c
----------------------------------------------------------------------
Traceback (most recent call last):
File "c:\Users\buildbot\Desktop\tracbb\t35\build\trac\tests\functional\testcases.py", line 93, in runTest
env.config.save()
File "c:\Users\buildbot\Desktop\tracbb\t35\build\trac\config.py", line 233, in save
fileobj.close()
File "c:\Users\buildbot\Desktop\tracbb\t35\build\trac\util\__init__.py", line 178, in commit
rename(self._temp, self._path)
File "c:\Users\buildbot\Desktop\tracbb\t35\build\trac\util\__init__.py", line 113, in rename
raise ctypes.WinError()
WindowsError: [Error 6701] The requested operation was made in the context of a transaction that is no longer active.
Related to code introduced in r8635.
Gc issue? Timeout issue?
Attachments (0)
Change History (4)
comment:1 by , 16 years ago
| Cc: | added |
|---|---|
| Keywords: | windows7 rename added |
follow-up: 3 comment:2 by , 16 years ago
| Keywords: | needrblank added |
|---|
comment:3 by , 16 years ago
| Milestone: | → 0.11.7 |
|---|---|
| Owner: | set to |
comment:4 by , 16 years ago
| Milestone: | 0.11.7 |
|---|---|
| Resolution: | → worksforme |
| Status: | new → closed |
Unfortunately, I'm not able to reproduce the issue. I tried adding delays at various points during the rename and in the rename test cases, but no joy.
I increased the transaction timeout to 10 seconds anyway in [9244]. Also, the code has changed since then (it doesn't raise a WinError anymore, and tries os.rename() instead), so the issue might have been fixed (or made more unlikely to happen) with that change.



Replying to cboos:
Very funny :)
Now that I have a Windows 7 VM, I should look into this. A timeout sounds likely, maybe we should set the transaction timeout to a larger value than 1 second. Maybe 5 or 10 seconds.