Okay, glad you got a fix out quickly.

On 01/09/2016 09:00 PM, Eduardo Silva wrote:
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] <mailto:[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]
    <mailto:[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