thanks for troubleshooting this issue!, I just pushed a fix into the 1.6
branch:


https://github.com/monkey/monkey/commit/6807c412068553b791fd528648e1622aafd3396c

I will release a v1.6.8 shortly.

On Sat, Jan 9, 2016 at 4:59 PM, cspub <[email protected]> wrote:

> Here's where 1.6.7 fails for CGI (but 1.6.6 works fine):
>
> In do_cgi():
>
>     /* Register the event into the worker event-loop */
>     ret = mk_api->ev_add(mk_api->sched_loop(),
>                          readpipe[0],
>                          MK_EVENT_CUSTOM, MK_EVENT_READ, r);
>     if (ret != 0) {
>         return 403; <--------------
>     }
>
> because in mk_event_add():
>
>     if ((event->status & MK_EVENT_NONE) == 0) {
>         return -1; <--------------
>     }
>
> I don't know how the event system works, so I stopped debugging at that
> point.
>
> Trace output:
> ~  4.700198 [mk|mk_server/mk_server.c:97 ] mk_server_listen_handler()
> [server] New connection arrived: FD 40
> ~  4.703876 [mk|mk_server/mk_server.c:419] mk_server_worker_loop() [FD 40]
> Event READ
> ~  4.703992 [mk|mk_server/mk_scheduler.c:570] mk_sched_event_read() [FD
> 40] Connection Handler / read
> ~  4.704072 [mk|mk_server/mk_http.c:1455] mk_http_sched_read() [FD 40]
> Create HTTP session
> ~  4.704144 [mk|mk_server/mk_http.c:284] mk_http_handler_read() MAX
> REQUEST SIZE: 32768
> ~  4.704210 [mk|mk_server/mk_http.c:328] mk_http_handler_read() [FD 40]
> read 411
> ~  4.704253 [mk|mk_server/mk_http.c:355] mk_http_handler_read() [FD 40]
> Retry total bytes: 411
> ~  4.704356 [mk|mk_server/mk_http.c:1477] mk_http_sched_read() [FD 40]
> HTTP_PARSER_OK
> ~  4.704428 [mk|mk_server/mk_http.c:619] mk_http_init() [FD 40] HTTP
> Protocol Init, session 0xb3a064e8
> ---- CGI file: /home/carl/monkey-1.6.7/htdocs//cgi-bin/test.cgi
> ~  4.706330 [mk|mk_server/mk_header.c:395] mk_header_set_http_status() Set
> HTTP status = 403
> ~  4.706393 [mk|mk_server/mk_http.c:795] mk_http_init() [FD 40] STAGE_30
> returned 300
> ~  4.706445 [mk|mk_server/mk_header.c:395] mk_header_set_http_status() Set
> HTTP status = 403
> ~  4.706528 [mk|mk_server/mk_stream.c:191] mk_channel_write() [CH 40]
> STREAM_IOV, wrote 318 bytes
> ~  4.706816 [mk|mk_server/mk_stream.c:202] mk_stream_bytes_consumed()
> [STREAM_IOV 0xb3a064f8] bytes consumed 318/318
> ~  4.706889 [mk|mk_server/mk_stream.c:227] mk_channel_write() Stream done,
> unlinking (channel=0xb3a05474)
> ~  4.706945 [mk|mk_server/mk_stream.c:236] mk_channel_write() [CH 40]
> CHANNEL_DONE
> ~  4.707003 [mk|mk_server/mk_http.c:225] mk_http_request_prepare() [FD 40]
> HTTP Init returning 0
> ~  4.707057 [mk|mk_server/mk_stream.c:174] mk_channel_write() [CH 40]
> CHANNEL_EMPTY
> ~ 40.533664 [mk|mk_server/mk_server.c:419] mk_server_worker_loop() [FD 40]
> Event READ
> ~ 40.533796 [mk|mk_server/mk_scheduler.c:570] mk_sched_event_read() [FD
> 40] Connection Handler / read
> ~ 40.533859 [mk|mk_server/mk_http.c:284] mk_http_handler_read() MAX
> REQUEST SIZE: 32768
> ~ 40.533939 [mk|mk_server/mk_http.c:328] mk_http_handler_read() [FD 40]
> read 0
> ~ 40.533998 [mk|mk_server/mk_http.c:331] mk_http_handler_read() [FD 40]
> broken pipe?
> ~ 40.534051 [mk|mk_server/mk_server.c:431] mk_server_worker_loop() [FD 40]
> Event FORCE CLOSE | ret = -1
> ~ 40.534101 [mk|mk_server/mk_scheduler.c:687] mk_sched_event_close() [FD
> 40] Connection Handler, closed
> ~ 40.534147 [mk|mk_server/mk_http.c:1511] mk_http_sched_close() [FD 40]
> HTTP sched close (type=0)
> ~ 40.534193 [mk|mk_server/mk_http.c:1271] mk_http_session_remove() [FD 40]
> HTTP Session remove
> ~ 40.534240 [mk|mk_server/mk_http.c:1280] mk_http_session_remove() Hangup
> stage30 handler
> ~ 40.534288 [pl|plugins/cgi/cgi.c:464] mk_cgi_stage30_hangup() CGI /
> Parent connection closed (hangup)
> ~ 40.534339 [mk|mk_server/mk_http.c:1388] mk_http_request_free_list() [FD
> 40] Free struct client_session
> ~ 40.534390 [mk|mk_server/mk_scheduler.c:455] mk_sched_remove_client() [FD
> 40] Scheduler remove
>
> _______________________________________________
> Monkey mailing list
> [email protected]
> http://lists.monkey-project.com/listinfo/monkey
>



-- 
Eduardo Silva
http://edsiper.linuxchile.cl
http://monkey-project.com
_______________________________________________
Monkey mailing list
[email protected]
http://lists.monkey-project.com/listinfo/monkey

Reply via email to