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