Message255594
Yes, I am aware. I embed python in my application, which includes large C++ libraries. Those libraries are going to start requiring to be compiled with a modern compiler soon, which means I need python to also be compiled with a modern compiler. I already manually compile all python extensions in my build system, so that is not a problem. And before someone suggests I upgrade to python 3, porting half a million lines of python is simply not worth it for me.
I'll be happy to open a separate bug report, but first I want some advice. I have got all the other tests passing as well, except one single test. test_gzip.test_many_append.
The reason that test fails is apparently because of a buffering bug in the stdio C functions in VS 2015. Combining lots of seeks relative to SEEK_CUR causes read() to return incorrect data. I can make the test pass by modify the gzip module to open files with bufferring=0, or by putting in a seek(0, 0) to cause the stdio layer to flush its read buffer at the appropriate point. However, this is not an actual fix, just an inefficient workaround.
My question is, how do I properly workaround this bug? And how come this bug is not triggered in Python 3.5.0? Am I diagnosing this correctly? Any other alternative explanations? |
|
Date |
User |
Action |
Args |
2015-11-29 20:30:32 | kovidgoyal | set | recipients:
+ kovidgoyal, paul.moore, tim.golden, r.david.murray, docs@python, zach.ware, steve.dower |
2015-11-29 20:30:32 | kovidgoyal | set | messageid: <1448829032.14.0.854326624381.issue25759@psf.upfronthosting.co.za> |
2015-11-29 20:30:32 | kovidgoyal | link | issue25759 messages |
2015-11-29 20:30:31 | kovidgoyal | create | |
|