This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kovidgoyal
Recipients docs@python, kovidgoyal, paul.moore, r.david.murray, steve.dower, tim.golden, zach.ware
Date 2015-11-29.20:30:31
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1448829032.14.0.854326624381.issue25759@psf.upfronthosting.co.za>
In-reply-to
Content
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?
History
Date User Action Args
2015-11-29 20:30:32kovidgoyalsetrecipients: + kovidgoyal, paul.moore, tim.golden, r.david.murray, docs@python, zach.ware, steve.dower
2015-11-29 20:30:32kovidgoyalsetmessageid: <1448829032.14.0.854326624381.issue25759@psf.upfronthosting.co.za>
2015-11-29 20:30:32kovidgoyallinkissue25759 messages
2015-11-29 20:30:31kovidgoyalcreate