[Klone-users] Problem request_get_postarg

thomas fossati tho at koanlogic.com
Fri May 16 06:14:03 EDT 2008


Hi Mickael,

looking at the backtraces you provided, it seems that there is some  
prior memory corruption that shows up randomly in the call stack, in  
which case the backtrace only is not enough to understand the cause of  
this buggy behaviour.

Could you please provide your klapp's code so that we can dig deeper ?

Thank you very much, t.

On May 16, 2008, at 11:40 AM, Mickael Auger wrote:
> Hi Stefano
>
> I test with :
> - model iterative
> - KLone 2.1.0
>
>
> >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.
> >Let me know if that solves your problems.
>
> I replace "dbg_if" by "dbg_err_if" in these two functions. valgrind  
> doesn't display errors around this case.
> But I have always a randomly problem.
>
> 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.
> Note: the gdb file is not generated with "--enable_debug -v" option.
>
> 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.
> First case : without --enable_debug but with a relink (-g -DDEBUG)  
> of kloned to obtain kloned.gdb file.
>                   I call the index.kl1 page
> ========================
> Program received signal SIGILL, Illegal instruction.
> 0x0 in ?? ()
> (gdb) bt
> #0  0x0 in ?? ()
> #1  0x69b5a4 in u_malloc ()
> #2  0x69af1c in u_strndup ()
> #3  0x69af72 in u_strdup ()
> #4  0x68a9a0 in request_set_proto ()
> #5  0x68bd50 in request_parse_header ()
> #6  0x684686 in http_serve ()
> #7  0x684f24 in http_backend_serve ()
> #8  0x68e9b4 in backend_serve ()
> #9  0x6812ea in server_be_serve ()
> #10 0x68163a in server_dispatch ()
> #11 0x681a26 in server_loop ()
> #12 0x6827ca in app_run ()
> #13 0x682a7e in main ()
> #14 0x6a385e in __uClibc_start_main ()
> #15 0x6a3882 in __uClibc_main ()
> #16 0x680054 in __exit ()
> #17 0x6e16ae in ?? ()
> #18 0x48d7001c in ?? ()
> Ignoring packet error, continuing...
> Reply contains invalid hex digit 116
> ========================
>
> Second case : 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.
>                       I call index.kl1
> ========================
> Program received signal SIGILL, Illegal instruction.
> 0x23d38 in ?? ()
> (gdb) bt
> #0  0x23d38 in ?? ()
> #1  0xad98fc in u_hmap_get ()
> #2  0xaceb78 in emb_lookup ()
> #3  0xac55a4 in supemb_is_valid_uri ()
> #4  0xac52de in broker_is_valid_uri ()
> #5  0xac3cae in http_is_valid_uri ()
> #6  0xaca8c8 in request_set_uri ()
> #7  0xacbd1c in request_parse_header ()
> #8  0xac4686 in http_serve ()
> #9  0xac4f24 in http_backend_serve ()
> #10 0xace9b4 in backend_serve ()
> #11 0xac12ea in server_be_serve ()
> #12 0xac163a in server_dispatch ()
> #13 0xac1a26 in server_loop ()
> #14 0xac27ca in app_run ()
> #15 0xac2a7e in main ()
> #16 0xae2fe6 in __uClibc_start_main ()
> #17 0xae300a in __uClibc_main ()
> #18 0xac0054 in __exit ()
> #19 0xda96ae in ?? ()
> #20 0x48d7001c in ?? ()
> Ignoring packet error, continuing...
> Reply contains invalid hex digit 116
> =========================
>
> The two cases kill kloned process and the randomly problem seems  
> depend of the number of pages in the binary.
> Strange ?
>
> Good luck :)
>
> -- 
> Mickaël AUGER
> mickael.auger at gmail.com  
> _______________________________________________
> Klone-users mailing list
> Klone-users at koanlogic.com
> http://koanlogic.com/cgi-bin/mailman/listinfo/klone-users

Thomas Fossati
tho at koanlogic.com







More information about the klone-users mailing list