Opened 15 years ago
Closed 11 years ago
#179 closed defect (fixed)
"KeyError: '\n'" from foolscap.test.test_logging.Filter.test_basic on Windows
| Reported by: | davidsarah | Owned by: | davidsarah |
|---|---|---|---|
| Priority: | major | Milestone: | 0.8.0 |
| Component: | unknown | Version: | 0.6.1 |
| Keywords: | windows | Cc: |
Description
The following error occurs, in addition to the one in #178, when running the test suite on Windows (XP SP3 32-bit on VirtualBox?, in case that matters):
[ERROR]
Traceback (most recent call last):
File "C:\cygwin\home\David-Sarah\tahoe\trunk\support\Lib\site-packages\foolscap-0.6.1-py2.7.egg\fo
olscap\test\test_logging.py", line 1876, in _check
self.compare_events(events, self._read_logfile(fn2))
File "C:\cygwin\home\David-Sarah\tahoe\trunk\support\Lib\site-packages\foolscap-0.6.1-py2.7.egg\fo
olscap\test\test_logging.py", line 219, in _read_logfile
events.append(pickle.load(f))
File "C:\python27\lib\pickle.py", line 1378, in load
return Unpickler(file).load()
File "C:\python27\lib\pickle.py", line 858, in load
dispatch[key](self)
exceptions.KeyError: '\n'
foolscap.test.test_logging.Filter.test_basic
Change History (10)
comment:1 Changed 15 years ago by
comment:2 follow-up: 3 Changed 15 years ago by
If I replace all of the "w" file open modes in foolscap with "wb", I get the following error in the same test instead:
[ERROR]
Traceback (most recent call last):
File "C:\cygwin\home\David-Sarah\tahoe\trunk\support\Lib\site-packages\foolscap-0.6.1-py2.7.egg\fo
olscap\test\test_logging.py", line 1887, in _check
(out,err) = cli.run_flogtool(argv[1:], run_by_human=False)
File "C:\cygwin\home\David-Sarah\tahoe\trunk\support\Lib\site-packages\foolscap-0.6.1-py2.7.egg\fo
olscap\logging\cli.py", line 103, in run_flogtool
dispatch(command, so)
File "C:\cygwin\home\David-Sarah\tahoe\trunk\support\Lib\site-packages\foolscap-0.6.1-py2.7.egg\fo
olscap\logging\cli.py", line 67, in dispatch
f.run(options)
File "C:\cygwin\home\David-Sarah\tahoe\trunk\support\Lib\site-packages\foolscap-0.6.1-py2.7.egg\fo
olscap\logging\filter.py", line 103, in run
os.rename(newfilename, options.newfile)
exceptions.WindowsError: [Error 183] Cannot create a file when that file already exists
foolscap.test.test_logging.Filter.test_basic
Possibly the KeyError was masking this one.
comment:3 Changed 15 years ago by
Replying to davidsarah:
If I replace all of the
"w"file open modes in foolscap with"wb", I get the following error in the same test instead: [...]
Filed as #180.
comment:4 Changed 15 years ago by
Whoops, yeah, I used to be pretty careless about binary-mode, and we don't have a windows buildslave to catch these things. Give me a patch and I'll land it. Thanks!
comment:5 Changed 15 years ago by
| Owner: | set to davidsarah |
|---|---|
| Status: | new → assigned |
comment:6 Changed 14 years ago by
| Keywords: | windows added |
|---|---|
| Milestone: | undecided → eventually |
Looks like I completely forgot about this.
comment:7 Changed 14 years ago by
| Milestone: | eventually → 0.6.4 |
|---|
Hopefully this should be fixed by [20e9078], I spotted one missing mode=b.
comment:10 Changed 11 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
I was able to rustle up a windows VM to run this on, and I think all the obvious windows failures have been fixed. There are still some timing-sensitive failures (in Negotiate), but I think those aren't serious. I'm going to call this closed.

I'm guessing, but this could possibly be a corrupt pickle file written in text, rather than binary mode.