Can you capture the full POST request line and headers? and post it here? Would like to see what you are sending. >From the logs, it appears that something with your specific POST request is tripping up the parser. Best guess, you have a header without a key. (a HTTP spec violation)
Joakim Erdfelt / [email protected] On Wed, Aug 12, 2015 at 1:08 PM, X Z <[email protected]> wrote: > Hi, > > > I have upgraded the embedded Jetty server from 9.0 to latest 9.2 version. > The HTTP GET/POST requests return 400 code. I also saw this warning log: > > WARN HttpParser:59 - badMessage: java.lang.ArrayIndexOutOfBoundsException: > 0 for HttpChannelOverHttp@2e70eea7{r=0,c=false,a=IDLE,uri=-} > > Anyone has got the insight on how to fix the issue? > > > The detailed debugging messages are: > > 015-08-12 15:51:55 DEBUG SelectorManager:89 - Queued change > org.eclipse.jetty.io.SelectorManager$ManagedSelector$Accept@55c4b148 > > 2015-08-12 15:51:55 DEBUG SelectorManager:89 - Selector loop woken up from > select, 0/0 selected > > 2015-08-12 15:51:55 DEBUG SelectorManager:89 - Running change > org.eclipse.jetty.io.SelectorManager$ManagedSelector$Accept@55c4b148 > > 2015-08-12 15:51:55 DEBUG AbstractEndPoint:89 - onOpen > SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,Open,in,out,-,-,3/30000,null}{io=0,kio=0,kro=0} > > 2015-08-12 15:51:55 DEBUG IdleTimeout:89 - SelectChannelEndPoint@57f83f44 > {/127.0.0.1:60062<->2013,Open,in,out,-,-,3/30000,null}{io=0,kio=0,kro=0} > idle timeout check, elapsed: 3 ms, remaining: 29997 ms > > 2015-08-12 15:51:55 DEBUG HttpChannel:89 - new > HttpChannelOverHttp@2e70eea7{r=0,c=false,a=IDLE,uri=-} > -> SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,Open,in,out,-,-,29/30000,null}{io=0,kio=0,kro=0},null,HttpChannelState@78442dc2{s=IDLE > i=true a=null} > > 2015-08-12 15:51:55 DEBUG HttpConnection:89 - New HTTP Connection > HttpConnection@45d14aaa{IDLE} > > 2015-08-12 15:51:55 DEBUG AbstractConnection:89 - onOpen > HttpConnection@45d14aaa{IDLE} > > 2015-08-12 15:51:55 DEBUG AbstractConnection:89 - fillInterested > HttpConnection@45d14aaa{IDLE} > > 2015-08-12 15:51:55 DEBUG AbstractConnection:89 - IDLE-->FILL_INTERESTED > HttpConnection@45d14aaa{FILL_INTERESTED} > > 2015-08-12 15:51:55 DEBUG SelectChannelEndPoint:89 - Local interests > updating 0 -> 1 for SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,Open,in,out,R,-,0/30000,HttpConnection}{io=1,kio=0,kro=0} > > 2015-08-12 15:51:55 DEBUG SelectorManager:89 - Queued change > org.eclipse.jetty.io.SelectChannelEndPoint$1@320dce4f > > 2015-08-12 15:51:55 DEBUG SelectorManager:89 - Created > SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,Open,in,out,R,-,1/30000,HttpConnection}{io=1,kio=0,kro=0} > > 2015-08-12 15:51:55 DEBUG SelectorManager:89 - Running change > org.eclipse.jetty.io.SelectChannelEndPoint$1@320dce4f > > 2015-08-12 15:51:55 DEBUG SelectChannelEndPoint:89 - Key interests updated > 0 -> 1 on SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,Open,in,out,R,-,2/30000,HttpConnection}{io=1,kio=1,kro=0} > > 2015-08-12 15:51:55 DEBUG SelectorManager:89 - Selector loop waiting on > select > > 2015-08-12 15:51:55 DEBUG SelectorManager:89 - Selector loop woken up from > select, 1/1 selected > > 2015-08-12 15:51:55 DEBUG SelectChannelEndPoint:89 - Key interests updated > 1 -> 0 on SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,Open,in,out,R,-,2/30000,HttpConnection}{io=1,kio=0,kro=1} > > 2015-08-12 15:51:55 DEBUG SelectChannelEndPoint:89 - Local interests > updating 1 -> 0 for SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,Open,in,out,R,-,3/30000,HttpConnection}{io=0,kio=0,kro=1} > > 2015-08-12 15:51:55 DEBUG SelectorManager:89 - Queued change > org.eclipse.jetty.io.SelectChannelEndPoint$1@320dce4f > > 2015-08-12 15:51:55 DEBUG AbstractConnection:89 - > FILL_INTERESTED-->FILLING HttpConnection@45d14aaa{FILLING} > > 2015-08-12 15:51:55 DEBUG SelectorManager:89 - Running change > org.eclipse.jetty.io.SelectChannelEndPoint$1@320dce4f > > 2015-08-12 15:51:55 DEBUG SelectorManager:89 - Selector loop waiting on > select > > 2015-08-12 15:51:55 DEBUG HttpConnection:89 - HttpConnection@45d14aaa{FILLING} > onFillable HttpChannelState@78442dc2{s=IDLE i=true a=null} > > 2015-08-12 15:51:55 DEBUG ChannelEndPoint:89 - filled 394 > SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,Open,in,out,-,-,4/30000,HttpConnection}{io=0,kio=0,kro=1} > > 2015-08-12 15:51:55 DEBUG HttpParser:89 - parseNext s=START > HeapByteBuffer@2c5c9e4a[p=0,l=394,c=8192,r=394]={<<<POST > /mock/127.0....d":"127.0.0.1"}>>>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00} > > 2015-08-12 15:51:55 DEBUG HttpParser:89 - START --> SPACE1 > > 2015-08-12 15:51:55 DEBUG HttpParser:89 - SPACE1 --> URI > > 2015-08-12 15:51:55 DEBUG HttpParser:89 - URI --> SPACE2 > > 2015-08-12 15:51:55 DEBUG HttpParser:89 - SPACE2 --> REQUEST_VERSION > > 2015-08-12 15:51:55 DEBUG HttpParser:89 - REQUEST_VERSION --> HEADER > > 2015-08-12 15:51:55 WARN HttpParser:59 - badMessage: > java.lang.ArrayIndexOutOfBoundsException: 0 for > HttpChannelOverHttp@2e70eea7{r=0,c=false,a=IDLE,uri=-} > > 2015-08-12 15:51:55 DEBUG HttpParser:105 - > > java.lang.ArrayIndexOutOfBoundsException: 0 > > at org.eclipse.jetty.util.ArrayTernaryTrie.getBest( > ArrayTernaryTrie.java:374) > > at org.eclipse.jetty.util.ArrayTernaryTrie.getBest( > ArrayTernaryTrie.java:357) > > at org.eclipse.jetty.http.HttpParser.parseHeaders(HttpParser.java:1047) > > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1257) > > at org.eclipse.jetty.server.HttpConnection.onFillable( > HttpConnection.java:250) > > at org.eclipse.jetty.io.AbstractConnection$2.run( > AbstractConnection.java:540) > > at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob( > QueuedThreadPool.java:635) > > at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run( > QueuedThreadPool.java:555) > > at java.lang.Thread.run(Thread.java:744) > > 2015-08-12 15:51:55 DEBUG HttpParser:89 - HEADER --> CLOSED > > 2015-08-12 15:51:55 DEBUG HttpChannelState:89 - > HttpChannelState@78442dc2{s=IDLE > i=true a=null} handling IDLE > > 2015-08-12 15:51:55 DEBUG HttpConnection:89 - > org.eclipse.jetty.server.HttpConnection$SendCallback@4652a2dd[PROCESSING][i=ResponseInfo{HTTP/1.1 > 400 > null,0,false},cb=org.eclipse.jetty.server.HttpChannel$CommitCallback@5b427f3c] > generate: NEED_HEADER (null,null,true)@START > > 2015-08-12 15:51:55 DEBUG HttpConnection:89 - > org.eclipse.jetty.server.HttpConnection$SendCallback@4652a2dd[PROCESSING][i=ResponseInfo{HTTP/1.1 > 400 > null,0,false},cb=org.eclipse.jetty.server.HttpChannel$CommitCallback@5b427f3c] > generate: FLUSH ([p=0,l=99,c=8192,r=99],null,true)@COMPLETING > > 2015-08-12 15:51:55 DEBUG WriteFlusher:89 - write: WriteFlusher@5bd3465a{IDLE} > [HeapByteBuffer@4e26e633[p=0,l=99,c=8192,r=99]={<<<HTTP/1.1 400 Bad > ....v20150730)\r\n\r\n>>>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}] > > 2015-08-12 15:51:55 DEBUG WriteFlusher:89 - update WriteFlusher@5bd3465a > {WRITING}:IDLE-->WRITING > > 2015-08-12 15:51:55 DEBUG ChannelEndPoint:89 - flushed 99 > SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,Open,in,out,-,W,10/30000,HttpConnection}{io=0,kio=0,kro=1} > > 2015-08-12 15:51:55 DEBUG WriteFlusher:89 - update WriteFlusher@5bd3465a > {IDLE}:WRITING-->IDLE > > 2015-08-12 15:51:55 DEBUG HttpConnection:89 - > org.eclipse.jetty.server.HttpConnection$SendCallback@4652a2dd[PROCESSING][i=ResponseInfo{HTTP/1.1 > 400 > null,0,false},cb=org.eclipse.jetty.server.HttpChannel$CommitCallback@5b427f3c] > generate: SHUTDOWN_OUT ([p=99,l=99,c=8192,r=0],null,true)@END > > 2015-08-12 15:51:55 DEBUG HttpConnection:89 - > org.eclipse.jetty.server.HttpConnection$SendCallback@4652a2dd[PROCESSING][i=ResponseInfo{HTTP/1.1 > 400 > null,0,false},cb=org.eclipse.jetty.server.HttpChannel$CommitCallback@5b427f3c] > generate: DONE ([p=99,l=99,c=8192,r=0],null,true)@END > > 2015-08-12 15:51:55 DEBUG ChannelEndPoint:89 - oshut > SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,Open,in,out,-,-,1/30000,HttpConnection}{io=0,kio=0,kro=1} > > 2015-08-12 15:51:55 DEBUG HttpChannelState:89 - > HttpChannelState@78442dc2{s=DISPATCHED > i=true a=null} unhandle DISPATCHED > > 2015-08-12 15:51:55 DEBUG ChannelEndPoint:89 - filled -1 > SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,Open,in,OSHUT,-,-,1/30000,HttpConnection}{io=0,kio=0,kro=1} > > 2015-08-12 15:51:55 DEBUG ChannelEndPoint:89 - ishut > SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,Open,in,OSHUT,-,-,2/30000,HttpConnection}{io=0,kio=0,kro=1} > > 2015-08-12 15:51:55 DEBUG AbstractEndPoint:89 - onClose > SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,CLOSED,ISHUT,OSHUT,-,-,2/30000,HttpConnection}{io=0,kio=0,kro=1} > > 2015-08-12 15:51:55 DEBUG ChannelEndPoint:89 - close > SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,CLOSED,ISHUT,OSHUT,-,-,3/30000,HttpConnection}{io=0,kio=0,kro=1} > > 2015-08-12 15:51:55 DEBUG SelectorManager:89 - Destroyed > SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,CLOSED,ISHUT,OSHUT,-,-,3/30000,HttpConnection}{io=0,kio=-1,kro=-1} > > 2015-08-12 15:51:55 DEBUG AbstractConnection:89 - onClose > HttpConnection@45d14aaa{FILLING} > > 2015-08-12 15:51:55 DEBUG AbstractEndPoint:89 - onClose > SelectChannelEndPoint@57f83f44{/127.0.0.1:60062 > <->2013,CLOSED,ISHUT,OSHUT,-,-,4/30000,HttpConnection}{io=0,kio=-1,kro=-1} > > 2015-08-12 15:51:55 DEBUG HttpParser:89 - atEOF HttpParser{s=CLOSED,0 of 0} > > 2015-08-12 15:51:55 DEBUG HttpParser:89 - parseNext s=CLOSED > HeapByteBuffer@4e26e633[p=0,l=0,c=8192,r=0]={<<<>>>HTTP/1.1 400 Bad > ...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00} > > 2015-08-12 15:51:55 DEBUG AbstractConnection:89 - FILLING-->IDLE > HttpConnection@45d14aaa{IDLE} > > _______________________________________________ > jetty-users mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users
