Hi Stefano<br><br>I test with :<br>- model iterative<br>- KLone 2.1.0<br><br><br>>thanks for your report. could you try to change from dbg_if() to
dbg_err_if() both in request_cb_add_post_var() and
request_cb_add_get_var() please? That is indeed a bug.<br>>Let me know if
that solves your problems.<br><br>I replace "dbg_if" by "dbg_err_if" in these two functions. valgrind doesn't display errors around this case.<br>But I have always a randomly problem.<br><br>On the standard linux my form validation displays randomly the content of my error 404 page while the response page is "HTTP 200 OK" response.<br>
Note: the gdb file is not generated with "--enable_debug -v" option.<br><br>On the embedded system when I don't use --enable_debug, my web-browser display a blank page (broken HTTP socket) and kloned process isn't killed.<br>
<span style="color: rgb(255, 0, 0);">First case</span> : without --enable_debug but with a relink (-g -DDEBUG) of kloned to obtain kloned.gdb file.<br> I call the index.kl1 page<br>========================<br>
Program received signal SIGILL, Illegal instruction.<br>0x0 in ?? ()<br>(gdb) bt<br>#0 0x0 in ?? ()<br>#1 0x69b5a4 in u_malloc ()<br>#2 0x69af1c in u_strndup ()<br>#3 0x69af72 in u_strdup ()<br>#4 0x68a9a0 in request_set_proto ()<br>
#5 0x68bd50 in request_parse_header ()<br>#6 0x684686 in http_serve ()<br>#7 0x684f24 in http_backend_serve ()<br>#8 0x68e9b4 in backend_serve ()<br>#9 0x6812ea in server_be_serve ()<br>#10 0x68163a in server_dispatch ()<br>
#11 0x681a26 in server_loop ()<br>#12 0x6827ca in app_run ()<br>#13 0x682a7e in main ()<br>#14 0x6a385e in __uClibc_start_main ()<br>#15 0x6a3882 in __uClibc_main ()<br>#16 0x680054 in __exit ()<br>#17 0x6e16ae in ?? ()<br>
#18 0x48d7001c in ?? ()<br>Ignoring packet error, continuing...<br>Reply contains invalid hex digit 116<br>========================<br><br><span style="color: rgb(255, 0, 0);">Second case</span> : idem first case (with "make clean"), but I remove two .kl1 files (not "index.kl1") to /webapp/www to modify the length of kloned binary.<br>
I call index.kl1<br>========================<br>Program received signal SIGILL, Illegal instruction.<br>0x23d38 in ?? ()<br>(gdb) bt<br>#0 0x23d38 in ?? ()<br>#1 0xad98fc in u_hmap_get ()<br>#2 0xaceb78 in emb_lookup ()<br>
#3 0xac55a4 in supemb_is_valid_uri ()<br>#4 0xac52de in broker_is_valid_uri ()<br>#5 0xac3cae in http_is_valid_uri ()<br>#6 0xaca8c8 in request_set_uri ()<br>#7 0xacbd1c in request_parse_header ()<br>#8 0xac4686 in http_serve ()<br>
#9 0xac4f24 in http_backend_serve ()<br>#10 0xace9b4 in backend_serve ()<br>#11 0xac12ea in server_be_serve ()<br>#12 0xac163a in server_dispatch ()<br>#13 0xac1a26 in server_loop ()<br>#14 0xac27ca in app_run ()<br>#15 0xac2a7e in main ()<br>
#16 0xae2fe6 in __uClibc_start_main ()<br>#17 0xae300a in __uClibc_main ()<br>#18 0xac0054 in __exit ()<br>#19 0xda96ae in ?? ()<br>#20 0x48d7001c in ?? ()<br>Ignoring packet error, continuing...<br>Reply contains invalid hex digit 116<br>
=========================<br><br>
The two cases kill kloned process and the randomly problem seems depend of the number of pages in the binary.<br>Strange ?<br><br>Good luck :)<br><br>-- <br>Mickaël AUGER<br><a href="mailto:mickael.auger@gmail.com">mickael.auger@gmail.com</a>