Re: [Gambas-devel] gb.net.curl crashes with signal #11, segmentation fault
Brought to you by:
gambas
From: Benoît M. <ga...@us...> - 2013-02-10 22:27:10
|
Le 10/02/2013 23:06, Sebastian Kulesz a écrit : > On Sun, Feb 10, 2013 at 6:46 PM, Benoît Minisini < > ga...@us...> wrote: > >> Le 10/02/2013 22:15, Sebastian Kulesz a écrit : >>> Hi! >>> >>> I'm using Archlinux, after upgrading curl (7.28.1-1 -> 7.29.0-1) i am >>> getting a crash every time a project (of any type) that loads the >>> gb.net.curl component ends. Here is the backtrace from gdb: >>> >>> (gdb) run >>> Starting program: /usr/bin/gbx3 >>> warning: Could not load shared library symbols for linux-vdso.so.1. >>> Do you need "set solib-search-path" or "set sysroot"? >>> [Thread debugging using libthread_db enabled] >>> Using host libthread_db library "/usr/lib/libthread_db.so.1". >>> [New Thread 0x7ffff57ae700 (LWP 3253)] >>> [Thread 0x7ffff57ae700 (LWP 3253) exited] >>> Invalid signature >>> >>> Program received signal SIGSEGV, Segmentation fault. >>> 0x00007ffff62964a0 in curl_multi_cleanup () from /usr/lib/libcurl.so.4 >>> (gdb) bt >>> #0 0x00007ffff62964a0 in curl_multi_cleanup () from >> /usr/lib/libcurl.so.4 >>> #1 0x000000000040b03b in EXEC_native () at gbx_exec.c:1332 >>> #2 0x000000000040b5fd in EXEC_public_desc (class=0x0, class@entry >> =0x6b4f78, >>> object=0x61, object@entry=0x0, desc=0x61, nparam=7099400, nparam@entry >> =0) >>> at gbx_exec.c:1572 >>> #3 0x000000000040b682 in EXEC_public (class=class@entry=0x6b4f78, >>> object=object@entry=0x0, name=name@entry=0x43cda2 "_exit", >>> nparam=nparam@entry=0) >>> at gbx_exec.c:1595 >>> #4 0x000000000040f252 in exit_class (class=0x6b4f78, native=<optimized >>> out>) at gbx_class.c:109 >>> #5 exit_class (native=1 '\001', class=0x6b4f78) at gbx_class.c:287 >>> #6 CLASS_clean_up (silent=silent@entry=0 '\000') at gbx_class.c:386 >>> #7 0x000000000042535a in main_exit (silent=0 '\000', silent@entry=-19 >>> '\355') at gbx.c:128 >>> #8 0x0000000000404639 in main (argc=1, argv=0x7fffffffe1c8) at gbx.c:429 >>> >>> (gdb) bt full >>> #0 0x00007ffff62964a0 in curl_multi_cleanup () from >> /usr/lib/libcurl.so.4 >>> No symbol table info available. >>> #1 0x000000000040b03b in EXEC_native () at gbx_exec.c:1332 >>> desc = 0x7ffff66f9f20 <CCurlDesc+192> >>> nparam = 0 >>> object = 0x0 >>> use_stack = 0 '\000' >>> i = <optimized out> >>> n = <optimized out> >>> nm = <optimized out> >>> value = <optimized out> >>> sign = <optimized out> >>> error = <optimized out> >>> ret = {type = 3, _boolean = {type = 3, value = 34}, _byte = >> {type = >>> 3, value = 34}, _short = {type = 3, value = 34}, _integer = {type = 3, >>> value = 34}, _long = {type = 3, value = 34}, _single = >> {type = >>> 3, value = 4.76441478e-44}, _float = {type = 3, >>> value = 1.6798231958602383e-322}, _date = {type = 3, date = >> 34, >>> time = 0}, _string = {type = 3, addr = 0x22 <Address 0x22 out of bounds>, >>> start = 4253865, len = 9}, _pointer = {type = 3, value = >> 0x22 >>> <Address 0x22 out of bounds>}, _function = {type = 3, class = 0x22, >>> object = 0x90040e8a9, kind = 120 'x', defined = 79 'O', >> index = >>> 107}, _variant = {type = 3, vtype = 34, value = {_boolean = -87 '\251', >>> _byte = 169 '\251', _short = -5975, _integer = 4253865, >> _long >>> = 38658959529, _single = 5.96093449e-39, _float = >> 1.9100063807245997e-313, >>> _date = {date = 4253865, time = 9}, _string = 0x90040e8a9 >>> <Address 0x90040e8a9 out of bounds>, _pointer = 0x90040e8a9, _object = >>> 0x90040e8a9, >>> data = 38658959529}}, _class = {type = 3, class = 0x22, >> super >>> = 0x90040e8a9}, _object = {class = 0x3, object = 0x22, super = >>> 0x90040e8a9}, >>> _void = {type = 3, ptype = 34, value = {38658959529, >> 7032696}}} >>> #2 0x000000000040b5fd in EXEC_public_desc (class=0x0, class@entry >> =0x6b4f78, >>> object=0x61, object@entry=0x0, desc=0x61, nparam=7099400, nparam@entry >> =0) >>> at gbx_exec.c:1572 >>> No locals. >>> #3 0x000000000040b682 in EXEC_public (class=class@entry=0x6b4f78, >>> object=object@entry=0x0, name=name@entry=0x43cda2 "_exit", >>> nparam=nparam@entry=0) >>> at gbx_exec.c:1595 >>> desc = <optimized out> >>> #4 0x000000000040f252 in exit_class (class=0x6b4f78, native=<optimized >>> out>) at gbx_class.c:109 >>> No locals. >>> #5 exit_class (native=1 '\001', class=0x6b4f78) at gbx_class.c:287 >>> No locals. >>> #6 CLASS_clean_up (silent=silent@entry=0 '\000') at gbx_class.c:386 >>> n = <optimized out> >>> nc = 4 >>> nb = <optimized out> >>> class = 0x6b4f78 >>> #7 0x000000000042535a in main_exit (silent=0 '\000', silent@entry=-19 >>> '\355') at gbx.c:128 >>> __err = <optimized out> >>> __err_context = {prev = 0x0, handler = 0x0, info = {code = 0 >>> '\000', native = 0 '\000', free = -1 '\377', _reserved = -1 '\377', cp = >>> 0x0, >>> fp = 0x0, pc = 0x31b46c48413b6c8b, msg = 0xce4b9336b8076c8b >>> <Address 0xce4b9336b8076c8b out of bounds>}, env = {{__jmpbuf = {0, >>> -3581606660242051957, 4212308, 140737488347584, 0, 0, >>> 3581606661264731275, -3581607229822243701}, __mask_was_saved = 0, >>> __saved_mask = { >>> __val = {0, 16, 0, 7109608, 1, 1, 4212308, >> 140737488347584, >>> 0, 1, 0, 1, 4212308, 0, 1, 4212308}}}}, ret = 0 '\000'} >>> #8 0x0000000000404639 in main (argc=1, argv=0x7fffffffe1c8) at gbx.c:429 >>> startup = 0x6c7d88 >>> i = 1 >>> n = 7099400 >>> file = 0x4390ed "." >>> ret = 0 >>> (gdb) >>> >>> I read the curl webpage, but saw no info about breaking changes. The >>> component works perfectly, it just shows a message at the end of the >>> execution that it crashed. >>> Let me know if you need me to compile curl with debugging symbols too. >>> >>> Thanks! >>> >> >> Well, it crashes inside the libcurl library apparently. Try to run the >> project with valgrind to see if this is not the consequence of an >> earlier illegal memory access. >> >> Regards, >> >> -- >> Benoît Minisini >> >> >> ------------------------------------------------------------------------------ >> Free Next-Gen Firewall Hardware Offer >> Buy your Sophos next-gen firewall before the end March 2013 >> and get the hardware for free! Learn more. >> http://p.sf.net/sfu/sophos-d2d-feb >> _______________________________________________ >> Gambas-devel mailing list >> Gam...@li... >> https://lists.sourceforge.net/lists/listinfo/gambas-devel >> > > Here is the output of valgrind --tool=memcheck --num-callers=50 > --leak-check=full gbx3 > valgrind.out 2>&1 > I added --leak-check=full just in case it was missing anything. > > Thanks! > Mmm... Either there is a bug in libcurl, either something has changed in the way the multi CURL interface must be used... -- Benoît Minisini |