********************************************************************* libcurl/7.16.1-CVS OpenSSL/0.9.8d zlib/1.2.3 c-ares/1.3.3-CVS Protocols: tftp ftp telnet dict ldap http file https ftps Features: AsynchDNS Debug IPv6 Largefile NTLM SSL libz SuSE-10.1 GNU/Linux 2.6.16.21-0.25-default i686 athlon i386 ********************************************************************* Backtrace from GDB ( Note the value of "pipe" in Curl_isHandleAtHead ) #0 0xb7ec8a43 in Curl_isHandleAtHead (handle=0x8090ba4, pipe=0x13131313) at url.c:1923 #1 0xb7edec07 in multi_runsingle (multi=0x8058204, easy=0x8104054) at multi.c:1097 #2 0xb7edf3b5 in curl_multi_perform (multi_handle=0x8058204, running_handles=0x804d014) at multi.c:1326 #3 0xb7edfa93 in multi_socket (multi=0x8058204, checkall=1 '\001', s=-1, running_handles=0x804d014) at multi.c:1584 #4 0xb7edfda2 in curl_multi_socket_all (multi_handle=0x8058204, running_handles=0x804d014) at multi.c:1720 #5 0x0804a008 in new_conn (url=0x805f930 "http://ly.lygo.com/ly/video/cinema/images/contentlibrary/110/110smallkillmock.jpg", hdr=0x8195018, postlen=0, meth=71 'G', ch=0x8201650, gi=0x804d008) at proxydemo.c:441 #6 0x0804a7f2 in listen_cb (ch=0x8055e98, condition=G_IO_IN, data=0x804d008) at proxydemo.c:610 #7 0xb7f4d5fd in g_io_unix_dispatch (source=0x80565f8, callback=0x804a190 , user_data=0x804d008) at giounix.c:162 #8 0xb7f24382 in IA__g_main_context_dispatch (context=0x8057680) at gmain.c:2045 #9 0xb7f2734f in g_main_context_iterate (context=0x8057680, block=1, dispatch=1, self=0x8057458) at gmain.c:2677 #10 0xb7f276f9 in IA__g_main_loop_run (loop=0x8057bf0) at gmain.c:2881 #11 0x0804ad33 in main (argc=2, argv=0xbf83a3c4) at proxydemo.c:752 ********************************************************************* Output from Valgrind ( different run, but similar crash ) ==3515== Memcheck, a memory error detector. ==3515== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==3515== Using LibVEX rev 1575, a library for dynamic binary translation. ==3515== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. ==3515== Using valgrind-3.1.1, a dynamic binary instrumentation framework. ==3515== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==3515== For more details, rerun with: -v ==3515== ==3515== Invalid write of size 4 ==3515== at 0x40FD314: multi_runsingle (multi.c:796) ==3515== by 0x40FE3B4: curl_multi_perform (multi.c:1326) ==3515== by 0x40FEA92: multi_socket (multi.c:1584) ==3515== by 0x40FEDA1: curl_multi_socket_all (multi.c:1720) ==3515== by 0x804A007: new_conn (proxydemo.c:441) ==3515== by 0x804A7F1: listen_cb (proxydemo.c:610) ==3515== by 0x408B5FC: g_io_unix_dispatch (giounix.c:162) ==3515== by 0x4062381: g_main_context_dispatch (gmain.c:2045) ==3515== by 0x406534E: g_main_context_iterate (gmain.c:2677) ==3515== by 0x40656F8: g_main_loop_run (gmain.c:2881) ==3515== by 0x804AD32: main (proxydemo.c:752) ==3515== Address 0x44B16A4 is 4 bytes inside a block of size 17,172 free'd ==3515== at 0x4020EA1: free (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==3515== by 0x40F9FB8: curl_dofree (memdebug.c:231) ==3515== by 0x40E768E: conn_free (url.c:1748) ==3515== by 0x40E7860: Curl_disconnect (url.c:1832) ==3515== by 0x40E7E41: ConnectionExists (url.c:2081) ==3515== by 0x40EA5D3: CreateConnection (url.c:3624) ==3515== by 0x40EAF12: Curl_connect (url.c:4035) ==3515== by 0x40FD519: multi_runsingle (multi.c:846) ==3515== by 0x40FEB45: multi_socket (multi.c:1612) ==3515== by 0x40FED60: curl_multi_socket (multi.c:1710) ==3515== by 0x8049916: event_cb (proxydemo.c:282) ==3515== by 0x408B5FC: g_io_unix_dispatch (giounix.c:162) ==3515== ==3515== Invalid read of size 4 ==3515== at 0x40FDBEF: multi_runsingle (multi.c:1097) ==3515== by 0x40FE3B4: curl_multi_perform (multi.c:1326) ==3515== by 0x40FEA92: multi_socket (multi.c:1584) ==3515== by 0x40FEDA1: curl_multi_socket_all (multi.c:1720) ==3515== by 0x804A007: new_conn (proxydemo.c:441) ==3515== by 0x804A7F1: listen_cb (proxydemo.c:610) ==3515== by 0x408B5FC: g_io_unix_dispatch (giounix.c:162) ==3515== by 0x4062381: g_main_context_dispatch (gmain.c:2045) ==3515== by 0x406534E: g_main_context_iterate (gmain.c:2677) ==3515== by 0x40656F8: g_main_loop_run (gmain.c:2881) ==3515== by 0x804AD32: main (proxydemo.c:752) ==3515== Address 0x44B17F8 is 344 bytes inside a block of size 17,172 free'd ==3515== at 0x4020EA1: free (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==3515== by 0x40F9FB8: curl_dofree (memdebug.c:231) ==3515== by 0x40E768E: conn_free (url.c:1748) ==3515== by 0x40E7860: Curl_disconnect (url.c:1832) ==3515== by 0x40E7E41: ConnectionExists (url.c:2081) ==3515== by 0x40EA5D3: CreateConnection (url.c:3624) ==3515== by 0x40EAF12: Curl_connect (url.c:4035) ==3515== by 0x40FD519: multi_runsingle (multi.c:846) ==3515== by 0x40FEB45: multi_socket (multi.c:1612) ==3515== by 0x40FED60: curl_multi_socket (multi.c:1710) ==3515== by 0x8049916: event_cb (proxydemo.c:282) ==3515== by 0x408B5FC: g_io_unix_dispatch (giounix.c:162) ==3515== ==3515== Invalid read of size 4 ==3515== at 0x40E7A43: Curl_isHandleAtHead (url.c:1923) ==3515== by 0x40FDC06: multi_runsingle (multi.c:1097) ==3515== by 0x40FE3B4: curl_multi_perform (multi.c:1326) ==3515== by 0x40FEA92: multi_socket (multi.c:1584) ==3515== by 0x40FEDA1: curl_multi_socket_all (multi.c:1720) ==3515== by 0x804A007: new_conn (proxydemo.c:441) ==3515== by 0x804A7F1: listen_cb (proxydemo.c:610) ==3515== by 0x408B5FC: g_io_unix_dispatch (giounix.c:162) ==3515== by 0x4062381: g_main_context_dispatch (gmain.c:2045) ==3515== by 0x406534E: g_main_context_iterate (gmain.c:2677) ==3515== by 0x40656F8: g_main_loop_run (gmain.c:2881) ==3515== by 0x804AD32: main (proxydemo.c:752) ==3515== Address 0x13131313 is not stack'd, malloc'd or (recently) free'd ==3515== ==3515== Process terminating with default action of signal 11 (SIGSEGV) ==3515== Access not within mapped region at address 0x13131313 ==3515== at 0x40E7A43: Curl_isHandleAtHead (url.c:1923) ==3515== by 0x40FDC06: multi_runsingle (multi.c:1097) ==3515== by 0x40FE3B4: curl_multi_perform (multi.c:1326) ==3515== by 0x40FEA92: multi_socket (multi.c:1584) ==3515== by 0x40FEDA1: curl_multi_socket_all (multi.c:1720) ==3515== by 0x804A007: new_conn (proxydemo.c:441) ==3515== by 0x804A7F1: listen_cb (proxydemo.c:610) ==3515== by 0x408B5FC: g_io_unix_dispatch (giounix.c:162) ==3515== by 0x4062381: g_main_context_dispatch (gmain.c:2045) ==3515== by 0x406534E: g_main_context_iterate (gmain.c:2677) ==3515== by 0x40656F8: g_main_loop_run (gmain.c:2881) ==3515== by 0x804AD32: main (proxydemo.c:752) ==3515== ==3515== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 3 from 1) ==3515== malloc/free: in use at exit: 1,144,238 bytes in 3,114 blocks. ==3515== malloc/free: 12,229 allocs, 9,115 frees, 15,419,660 bytes allocated. ==3515== For counts of detected errors, rerun with: -v ==3515== searching for pointers to 3,114 not-freed blocks. ==3515== checked 1,351,108 bytes. ==3515== ==3515== LEAK SUMMARY: ==3515== definitely lost: 9,452 bytes in 357 blocks. ==3515== possibly lost: 1,082,943 bytes in 674 blocks. ==3515== still reachable: 51,843 bytes in 2,083 blocks. ==3515== suppressed: 0 bytes in 0 blocks. ==3515== Use --leak-check=full to see details of leaked memory. *********************************************************************