Re: git-http-fetch segfault, curl 7.18.0
- From
Mike Hommey <mh@glandium.org>
- Date
- Mar 2, 2008, 19:23 UTC
- Message-ID
- <20080302192355.GA625@glandium.org>
- In-Reply-To
- <20080302190857.11027.qmail@28c5bbafb32cb2.315fe32.mid.smarden.org>
On Sun, Mar 02, 2008 at 07:08:57PM +0000, Gerrit Pape wrote:
Show 6 quoted lines
> Hi, as reported through http://bugs.debian.org/468836, I can reproduce > with current maint branch on Debian/unstable, but I don't know whether > it's a problem in curl, or in git. Maybe anyone with some experience > in curl can help on this? > > gdb gives this
(...)
valgrind gives better insight: ==862== Invalid read of size 4 ==862== at 0x493B32: fill_active_slots (http.c:441) ==862== by 0x493CF9: step_active_slots (http.c:459) ==862== by 0x493D6E: run_active_slot (http.c:479) ==862== by 0x493F8B: http_cleanup (http.c:296) ==862== by 0x494CA8: cleanup (http-walker.c:900) ==862== by 0x4911D6: walker_free (walker.c:315) ==862== by 0x44A149: cmd_http_fetch (builtin-http-fetch.c:81) ==862== by 0x404247: handle_internal_command (git.c:248) ==862== by 0x4049D4: main (git.c:412) ==862== Address 0x7c7c558 is 16 bytes inside a block of size 72 free'd ==862== at 0x4C20B2E: free (vg_replace_malloc.c:323) ==862== by 0x493F47: http_cleanup (http.c:301) ==862== by 0x494CA8: cleanup (http-walker.c:900) ==862== by 0x4911D6: walker_free (walker.c:315) ==862== by 0x44A149: cmd_http_fetch (builtin-http-fetch.c:81) ==862== by 0x404247: handle_internal_command (git.c:248) ==862== by 0x4049D4: main (git.c:412) ==862== ==862== Invalid read of size 8 ==862== at 0x493B50: fill_active_slots (http.c:445) ==862== by 0x493CF9: step_active_slots (http.c:459) ==862== by 0x493D6E: run_active_slot (http.c:479) ==862== by 0x493F8B: http_cleanup (http.c:296) ==862== by 0x494CA8: cleanup (http-walker.c:900) ==862== by 0x4911D6: walker_free (walker.c:315) ==862== by 0x44A149: cmd_http_fetch (builtin-http-fetch.c:81) ==862== by 0x404247: handle_internal_command (git.c:248) ==862== by 0x4049D4: main (git.c:412) ==862== Address 0x7c7c588 is 64 bytes inside a block of size 72 free'd ==862== at 0x4C20B2E: free (vg_replace_malloc.c:323) ==862== by 0x493F47: http_cleanup (http.c:301) ==862== by 0x494CA8: cleanup (http-walker.c:900) ==862== by 0x4911D6: walker_free (walker.c:315) ==862== by 0x44A149: cmd_http_fetch (builtin-http-fetch.c:81) ==862== by 0x404247: handle_internal_command (git.c:248) ==862== by 0x4049D4: main (git.c:412) ==862== ==862== Invalid read of size 8 ==862== at 0x493BFD: process_curl_messages (http.c:74) ==862== by 0x493CF4: step_active_slots (http.c:458) ==862== by 0x493D6E: run_active_slot (http.c:479) ==862== by 0x493F8B: http_cleanup (http.c:296) ==862== by 0x494CA8: cleanup (http-walker.c:900) ==862== by 0x4911D6: walker_free (walker.c:315) ==862== by 0x44A149: cmd_http_fetch (builtin-http-fetch.c:81) ==862== by 0x404247: handle_internal_command (git.c:248) ==862== by 0x4049D4: main (git.c:412) ==862== Address 0x7c7c548 is 0 bytes inside a block of size 72 free'd ==862== at 0x4C20B2E: free (vg_replace_malloc.c:323) ==862== by 0x493F47: http_cleanup (http.c:301) ==862== by 0x494CA8: cleanup (http-walker.c:900) ==862== by 0x4911D6: walker_free (walker.c:315) ==862== by 0x44A149: cmd_http_fetch (builtin-http-fetch.c:81) ==862== by 0x404247: handle_internal_command (git.c:248) ==862== by 0x4049D4: main (git.c:412) ==862== ==862== Invalid read of size 8 ==862== at 0x493BF0: process_curl_messages (http.c:76) ==862== by 0x493CF4: step_active_slots (http.c:458) ==862== by 0x493D6E: run_active_slot (http.c:479) ==862== by 0x493F8B: http_cleanup (http.c:296) ==862== by 0x494CA8: cleanup (http-walker.c:900) ==862== by 0x4911D6: walker_free (walker.c:315) ==862== by 0x44A149: cmd_http_fetch (builtin-http-fetch.c:81) ==862== by 0x404247: handle_internal_command (git.c:248) ==862== by 0x4049D4: main (git.c:412) ==862== Address 0x7c7c588 is 64 bytes inside a block of size 72 free'd ==862== at 0x4C20B2E: free (vg_replace_malloc.c:323) ==862== by 0x493F47: http_cleanup (http.c:301) ==862== by 0x494CA8: cleanup (http-walker.c:900) ==862== by 0x4911D6: walker_free (walker.c:315) ==862== by 0x44A149: cmd_http_fetch (builtin-http-fetch.c:81) ==862== by 0x404247: handle_internal_command (git.c:248) ==862== by 0x4049D4: main (git.c:412) ==862== ==862== Invalid read of size 4 ==862== at 0x494372: get_active_slot (http.c:336) ==862== by 0x49504A: start_object_request (http-walker.c:195) ==862== by 0x495413: fill_active_slot (http-walker.c:321) ==862== by 0x493B1C: fill_active_slots (http.c:433) ==862== by 0x493CF9: step_active_slots (http.c:459) ==862== by 0x493D6E: run_active_slot (http.c:479) ==862== by 0x493F8B: http_cleanup (http.c:296) ==862== by 0x494CA8: cleanup (http-walker.c:900) ==862== by 0x4911D6: walker_free (walker.c:315) ==862== by 0x44A149: cmd_http_fetch (builtin-http-fetch.c:81) ==862== by 0x404247: handle_internal_command (git.c:248) ==862== by 0x4049D4: main (git.c:412) ==862== Address 0x7c7c558 is 16 bytes inside a block of size 72 free'd ==862== at 0x4C20B2E: free (vg_replace_malloc.c:323) ==862== by 0x493F47: http_cleanup (http.c:301) ==862== by 0x494CA8: cleanup (http-walker.c:900) ==862== by 0x4911D6: walker_free (walker.c:315) ==862== by 0x44A149: cmd_http_fetch (builtin-http-fetch.c:81) ==862== by 0x404247: handle_internal_command (git.c:248) ==862== by 0x4049D4: main (git.c:412) ==862== ==862== Invalid read of size 8 ==862== at 0x494379: get_active_slot (http.c:337) ==862== by 0x49504A: start_object_request (http-walker.c:195) ==862== by 0x495413: fill_active_slot (http-walker.c:321) ==862== by 0x493B1C: fill_active_slots (http.c:433) ==862== by 0x493CF9: step_active_slots (http.c:459) ==862== by 0x493D6E: run_active_slot (http.c:479) ==862== by 0x493F8B: http_cleanup (http.c:296) ==862== by 0x494CA8: cleanup (http-walker.c:900) ==862== by 0x4911D6: walker_free (walker.c:315) ==862== by 0x44A149: cmd_http_fetch (builtin-http-fetch.c:81) ==862== by 0x404247: handle_internal_command (git.c:248) ==862== by 0x4049D4: main (git.c:412) ==862== Address 0x7c7c588 is 64 bytes inside a block of size 72 free'd ==862== at 0x4C20B2E: free (vg_replace_malloc.c:323) ==862== by 0x493F47: http_cleanup (http.c:301) ==862== by 0x494CA8: cleanup (http-walker.c:900) ==862== by 0x4911D6: walker_free (walker.c:315) ==862== by 0x44A149: cmd_http_fetch (builtin-http-fetch.c:81) ==862== by 0x404247: handle_internal_command (git.c:248) ==862== by 0x4049D4: main (git.c:412)
It seems there is something wrong going on with slots...
Mike