You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@trafficserver.apache.org by GitBox <gi...@apache.org> on 2021/08/20 16:01:11 UTC

[GitHub] [trafficserver] duke8253 opened a new pull request #8268: Avoid chunking in the post redirect case

duke8253 opened a new pull request #8268:
URL: https://github.com/apache/trafficserver/pull/8268


   After fixing #8265 we started seeing some crashes happening, this fixes the crash.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] masaori335 commented on pull request #8268: Avoid chunking in the post redirect case

Posted by GitBox <gi...@apache.org>.
masaori335 commented on pull request #8268:
URL: https://github.com/apache/trafficserver/pull/8268#issuecomment-906805282


   Right, we haven't covered the combination of POST + Chunk + Redirect + H2. Separate PR is good. Thanks!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] masaori335 commented on pull request #8268: Avoid chunking in the post redirect case

Posted by GitBox <gi...@apache.org>.
masaori335 commented on pull request #8268:
URL: https://github.com/apache/trafficserver/pull/8268#issuecomment-905032958


   Any idea of why this AuTest doesn't cover this case? Can we make it to cover?
   https://github.com/apache/trafficserver/blob/edef25cc5ddf1355009bdabcdf68b59c88218833/tests/gold_tests/h2/http2.test.py#L184-L192


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] shinrich commented on pull request #8268: Avoid chunking in the post redirect case

Posted by GitBox <gi...@apache.org>.
shinrich commented on pull request #8268:
URL: https://github.com/apache/trafficserver/pull/8268#issuecomment-906704667


   We can add a test for redirects with a chunked post.  Perhaps in a separate PR.  I don't think the existing tests have follow redirect enabled.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] duke8253 merged pull request #8268: Avoid chunking in the post redirect case

Posted by GitBox <gi...@apache.org>.
duke8253 merged pull request #8268:
URL: https://github.com/apache/trafficserver/pull/8268


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] shinrich commented on pull request #8268: Avoid chunking in the post redirect case

Posted by GitBox <gi...@apache.org>.
shinrich commented on pull request #8268:
URL: https://github.com/apache/trafficserver/pull/8268#issuecomment-902813001


   The problem is we were marking that the post body should be chunked.  But in the post redirect case, the data is being replayed from a static buffer.  There is no real VC to be doing the chunked calculation against.  So p->do_chunking is not set.  So chunked_buffer_start is not set.  So the call to clone that nullptr causes the crash.
   
   ```
   [ 00 ] traffic_server      HttpTunnel::producer_run(HttpTunnelProducer*)                ( P_IOBuffer.h:753 )
   [ 01 ] traffic_server      HttpTunnel::tunnel_run(HttpTunnelProducer*)                  ( HttpTunnel.cc:720 )
   [ 02 ] traffic_server      HttpSM::do_setup_post_tunnel(HttpVC_t)                       ( HttpSM.cc:5923 )
   [ 03 ] traffic_server      HttpSM::state_send_server_request_header(int, void*)         ( HttpSM.cc:2197 )
   [ 04 ] traffic_server      HttpSM::state_read_server_response_header(int, void*)        ( HttpSM.cc:2004 )
   [ 05 ] traffic_server      HttpSM::main_handler(int, void*)                             ( HttpSM.cc:2701 )
   [ 06 ] traffic_server      write_signal_and_update(int, UnixNetVConnection*)            ( UnixNetVConnection.cc:117 )
   [ 07 ] traffic_server      write_to_net_io(NetHandler*, UnixNetVConnection*, EThread*)  ( UnixNetVConnection.cc:162 )
   [ 08 ] traffic_server      NetHandler::process_ready_list()                             ( UnixNet.cc:432 )
   [ 09 ] traffic_server      NetHandler::waitForActivity(long)                            ( UnixNet.cc:552 )
   [ 10 ] traffic_server      EThread::execute_regular()                                   ( UnixEThread.cc:303 )
   [ 11 ] traffic_server      execute                                                      ( UnixEThread.cc:364 )
   [ 12 ] traffic_server      EThread::execute()                                           ( UnixEThread.cc:342 )
   [ 13 ] traffic_server      spawn_thread_internal                                        ( Thread.cc:92 )
   [ 14 ] libpthread-2.17.so  start_thread                                                 ( pthread_create.c:307 )
   ```
   
   I think in the past (9.0), we were placing transfer-encoding headers on the H2 client requests.  And chunkifying the H2 request data before it came to the HttpSM.  With 9.1, we cleaned up that logic.  


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org