Hi Christopher,

Op 15-1-2019 om 10:48 schreef Christopher Faulet:
Le 14/01/2019 à 21:53, PiBa-NL a écrit :
Hi Christopher,

Op 14-1-2019 om 11:17 schreef Christopher Faulet:
Le 12/01/2019 à 23:23, PiBa-NL a écrit :
Hi List,

I've configured haproxy with htx and when i try to filter the stats
webpage.
Sending this request: "GET /?;csv;scope=b1" to '2.0-dev0-762475e
2019/01/10' it will crash with the trace below.
1.9.0 and 1.9.1 are also affected.

Can someone take a look? Thanks in advance.

A regtest is attached that reproduces the behavior, and which i think
could be included into the haproxy repository.


Pieter,

Here is the patch that should fix this issue. This was "just" an
oversight when the stats applet has been adapted to support the HTX.

If it's ok for you, I'll also merge your regtest.

Thanks

It seems the patch did not change/fix the crash.? Below looks pretty
much the same as previously. Did i fail to apply the patch properly.? It
seems to have 'applied' properly checking a few lines of the touched
code manually. As for the regtest, yes please merge that if its okay
as-is, perhaps after the fix is also ready :).


Hi Pieter,

Sorry, I made my patch too quickly. It seemed ok, but obviously not... This new one should do the trick.

Well.. 'something' changed, still crashing though.. but at a different place.

Regards,
PiBa-NL (Pieter)

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00000000004d3770 in htx_sl_p2 (sl=0x0) at include/common/htx.h:237
237             return ist2(HTX_SL_P2_PTR(sl), HTX_SL_P2_LEN(sl));
(gdb) bt full
#0  0x00000000004d3770 in htx_sl_p2 (sl=0x0) at include/common/htx.h:237
No locals.
#1  0x00000000004d3665 in htx_sl_req_uri (sl=0x0) at include/common/htx.h:252
No locals.
#2  0x00000000004d1125 in stats_scope_ptr (appctx=0x802678540, si=0x8026416d8) at src/stats.c:268
        req = 0x802641410
        htx = 0x80271df80
        uri = {ptr = 0x60932e <htx_append_blk_value+734> "H\213E\320H\211E\370H\213E\370H\201\304\260", len = 4304914720}         p = 0x4802631048 <error: Cannot access memory at address 0x4802631048> #3  0x00000000004d8505 in stats_send_htx_redirect (si=0x8026416d8, htx=0x8027c8e40) at src/stats.c:3162
        scope_ptr = 0x5f80f5 <__pool_get_first+21> "H\211E\310H\203}\310"
        scope_txt = "\000\342\377\377\377\177\000\000\351}M\000\000\000\000\000x\024d\002\b\000\000\000x\024d\002"
        s = 0x802641400
        uri = 0x802638000
        appctx = 0x802678540
        sl = 0x8027c8e40
        flags = 8
#4  0x00000000004d60fb in htx_stats_io_handler (appctx=0x802678540) at src/stats.c:3337
        si = 0x8026416d8
        s = 0x802641400
        req = 0x802641410
        res = 0x802641470
        req_htx = 0x8027c8e40
        res_htx = 0x8027c8e40
#5  0x00000000004d2d36 in http_stats_io_handler (appctx=0x802678540) at src/stats.c:3393
        si = 0x8026416d8
        s = 0x802641400
        req = 0x802641410
        res = 0x802641470
#6  0x00000000005f7d5f in task_run_applet (t=0x802656780, context=0x802678540, state=16385) at src/applet.c:85
        app = 0x802678540
        si = 0x8026416d8
#7  0x00000000005f3023 in process_runnable_tasks () at src/task.c:435
        t = 0x802656780
        state = 16385
        ctx = 0x802678540
        process = 0x5f7cc0 <task_run_applet>
        t = 0x802656780
        max_processed = 200
#8  0x0000000000516ca2 in run_poll_loop () at src/haproxy.c:2620
        next = 0
        exp = 1394283990
#9  0x00000000005138f8 in run_thread_poll_loop (data=0x8026310e8) at src/haproxy.c:2685
        start_lock = 0
        ptif = 0x936d40 <per_thread_init_list>
        ptdf = 0x0
#10 0x000000000050ff26 in main (argc=4, argv=0x7fffffffeb08) at src/haproxy.c:3314
        tids = 0x8026310e8
        threads = 0x8026310f0
        i = 1
        old_sig = {__bits = {0, 0, 0, 0}}
        blocked_sig = {__bits = {4227856759, 4294967295, 4294967295, 4294967295}}
        err = 0
        retry = 200
        limit = {rlim_cur = 4051, rlim_max = 4051}
        errmsg = "\000\353\377\377\377\177\000\000\060\353\377\377\377\177\000\000\b\353\377\377\377\177\000\000\004\000\000\000\000\000\000\000\376\310\311\070\333\207d\000`9\224\000\000\000\000\000\000\353\377\377\377\177\000\000\060\353\377\377\377\177\000\000\b\353\377\377\377\177\000\000\004\000\000\000\000\000\000\000\240\352\377\377\377\177\000\000R\201\000\002\b\000\000\000\001\000\000"
        pidfd = -1


Reply via email to