Kovid Goyal added the comment:

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?

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25759>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to