morlovich commented on issue #1556: Combined css returns truncated, mis-encoded body on cache hit URL: https://github.com/apache/incubator-pagespeed-ngx/issues/1556#issuecomment-391049230 On Tue, May 22, 2018 at 12:01 PM Otto van der Schaaf < [email protected]> wrote: > I've been searching for code that messes up consistency, but no luck so > far.. > > You can see the effect of the patched version here on a combination.. > http://35.187.191.47/A.store.css+vendor.css,Mcc.00EaqUIgkT.css.pagespeed.cf.tuzrpz_-Py.css > (and also observe the resulting alternating response, but at least there > is no bad content-length and no content-encoding mismatch). > > Also, I had the backtrace for when the content-length 7411 is written to > the cache in notepad here. > 7411 is interesting because that shows when the combination output is > written (uncompressed, with an actual larger body size, and actually not > gzipped but the headers do say so). > > At the point when it's written to cache it seems consistent and OK to me: > > (gdb) bt > #0 net_instaweb::Headers<net_instaweb::HttpResponseHeaders>::Add (this=0x7ffff2034d50, name=..., value=...) at pagespeed/kernel/http/headers.cc:309 > #1 0x00000000007ceed4 in net_instaweb::Headers<net_instaweb::HttpResponseHeaders>::Replace (this=0x7ffff2034d50, name=..., value=...) at pagespeed/kernel/http/headers.cc:575 > #2 0x00000000007dddb6 in net_instaweb::ResponseHeaders::SetContentLength (this=0x7ffff2034d50, content_length=7411) at pagespeed/kernel/http/response_headers.cc:531 > #3 0x000000000070dc6b in net_instaweb::InflatingFetch::GzipValue (compression_level=9, http_value=..., compressed_value=0x7ffff2034c50, headers=0x7ffff2034d50, handler=0x1a22d68) at net/instaweb/http/inflating_fetch.cc:158 > #4 0x000000000070639e in net_instaweb::HTTPCache::PutInternal (this=0x188f018, preserve_response_headers=false, key="http://localhost/store.css+vendor.css.pagespeed.cc.iKEaqUIgkT.css", fragment="localhost", start_us=1526930452779889, value=0x7fffe4028e38, > response_headers=0x7ffff2034d50, handler=0x1a22d68) at net/instaweb/http/http_cache.cc:433 > #5 0x0000000000706979 in net_instaweb::HTTPCache::Put (this=0x188f018, key="http://localhost/store.css+vendor.css.pagespeed.cc.iKEaqUIgkT.css", fragment="localhost", req_properties=..., http_options=..., value=0x7fffe400b550, handler=0x1a22d68) > at net/instaweb/http/http_cache.cc:495 > #6 0x00000000005d4c82 in net_instaweb::RewriteDriver::Write (this=0x1a29708, inputs=std::vector of length 2, capacity 2 = {...}, contents=..., type=0x17723c0 <net_instaweb::(anonymous namespace)::kTypes+96>, charset=..., output=0x7fffe400b528) > at net/instaweb/rewriter/rewrite_driver.cc:3362 > #7 0x0000000000b3fb81 in net_instaweb::ResourceCombiner::WriteCombination (this=0x7fffe4008648, combine_resources=std::vector of length 2, capacity 2 = {...}, combination=..., handler=0x1a22d68) at net/instaweb/rewriter/resource_combiner.cc:288 > #8 0x000000000066e821 in net_instaweb::CssCombineFilter::CssCombiner::Write (this=0x7fffe4008648, in=std::vector of length 2, capacity 2 = {...}, out=...) at net/instaweb/rewriter/css_combine_filter.cc:123 > #9 0x000000000066f0d1 in net_instaweb::CssCombineFilter::Context::Rewrite (this=0x7fffe40084c8, partition_index=0, partition=0x7fffe4008c28, output=...) at net/instaweb/rewriter/css_combine_filter.cc:266 > #10 0x0000000000b5690c in net_instaweb::RewriteContext::InvokeRewriteFunction::Run (this=0x7fffe4008858) at net/instaweb/rewriter/rewrite_context.cc:958 > #11 0x0000000000725d8c in net_instaweb::Function::CallRun (this=0x7fffe4008858) at pagespeed/kernel/base/function.cc:51 > #12 0x00000000008a75c8 in net_instaweb::QueuedWorkerPool::Run (this=0x1a06058, sequence=0x1a278a8, worker=0x1a2e0e8) at pagespeed/kernel/thread/queued_worker_pool.cc:157 > #13 0x00000000008ad5cc in net_instaweb::MemberFunction2<net_instaweb::QueuedWorkerPool, net_instaweb::QueuedWorkerPool::Sequence*, net_instaweb::QueuedWorker*>::Run (this=0x7fffe0031e78) at ./pagespeed/kernel/base/function.h:202 > #14 0x0000000000725d8c in net_instaweb::Function::CallRun (this=0x7fffe0031e78) at pagespeed/kernel/base/function.cc:51 > #15 0x00000000008b3b64 in net_instaweb::Worker::WorkThread::Run (this=0x1a2e118) at pagespeed/kernel/thread/worker.cc:85 > #16 0x00000000008b6ffc in net_instaweb::PthreadThreadImpl::InvokeRun (self_ptr=0x1a2dcf8) at pagespeed/kernel/thread/pthread_thread_system.cc:121 > #17 0x00007ffff79bd6ba in start_thread (arg=0x7ffff2036700) at pthread_create.c:333 > #18 0x00007ffff638341d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 > (gdb) f 3 > #3 0x000000000070dc6b in net_instaweb::InflatingFetch::GzipValue (compression_level=9, http_value=..., compressed_value=0x7ffff2034c50, headers=0x7ffff2034d50, handler=0x1a22d68) at net/instaweb/http/inflating_fetch.cc:158 > 158 headers->SetContentLength(deflated.length()); > (gdb) p deflated > $4 = "\037\213\b\000\000\000\000\000\002\003\325=is\333F\226\337\371+\260V\251\306Έ0\t\222\272\\q\255\255$\023W\331\023W\234L>\244\262,\220l\211X\203\000\027\000-+\256\374\367\355\v\350\353u\243\001B\231L\016Y\006\032\257\357w\037Ͽ\n~\212W)\252\202\257\236\217\376{\207\066I\034<\335ş\307\367ɦ\332^\a\323\350r\262\377\374,\370\062\n\202\223\262\312\v\364\066_\307\370\317\367\361\035\nN\366\344\347\313 ,\362{\332$\b\366\361f\223dw\327\301$\210\360\227/\350\303U\376y\\&\277\323竼ؠb\214\037\275\b\376\b\376\030\215\236\177\025\274\313WI\212,C\270\\8F\260\235\362~", <incomplete sequence \364>... > (gdb) p deflated.length() > $5 = 7411 > > That's basically the same backtrace as the one where the value is uncompressed? What exactly did you mean by "body content being larger" there --- e.g. which objects did you look at? > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <https://github.com/apache/incubator-pagespeed-ngx/issues/1556#issuecomment-391046316>, > or mute the thread > <https://github.com/notifications/unsubscribe-auth/ADl1RIcR0E9JgFHJWCiAmhFgmfdqOvQkks5t1DZUgaJpZM4T34G3> > . >
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
