[Gambas-devel] gb.net.curl crashes with signal #11, segmentation fault
Sebastian Kulesz
sebikul at ...176...
Sun Feb 10 23:59:47 CET 2013
There is a bug report from vmware [0] users affected by the same bug. I
tried to recompile the component to link it against the new library, but no
change.
[0] https://bugs.archlinux.org/task/33779
On Sun, Feb 10, 2013 at 7:26 PM, Benoît Minisini <
gambas at ...1...> wrote:
> Le 10/02/2013 23:06, Sebastian Kulesz a écrit :
> > On Sun, Feb 10, 2013 at 6:46 PM, Benoît Minisini <
> > gambas at ...1...> 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 at ...717......
> >> =0x6b4f78,
> >>> object=0x61, object at ...703...=0x0, desc=0x61, nparam=7099400, nparam at ...703...
> >> =0)
> >>> at gbx_exec.c:1572
> >>> #3 0x000000000040b682 in EXEC_public (class=class at ...703...=0x6b4f78,
> >>> object=object at ...703...=0x0, name=name at ...703...=0x43cda2 "_exit",
> >>> nparam=nparam at ...703...=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 at ...703...=0 '\000') at gbx_class.c:386
> >>> #7 0x000000000042535a in main_exit (silent=0 '\000', silent at ...717......=-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 at ...717......
> >> =0x6b4f78,
> >>> object=0x61, object at ...703...=0x0, desc=0x61, nparam=7099400, nparam at ...703...
> >> =0)
> >>> at gbx_exec.c:1572
> >>> No locals.
> >>> #3 0x000000000040b682 in EXEC_public (class=class at ...703...=0x6b4f78,
> >>> object=object at ...703...=0x0, name=name at ...703...=0x43cda2 "_exit",
> >>> nparam=nparam at ...703...=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 at ...703...=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 at ...717......=-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
> >> Gambas-devel at lists.sourceforge.net
> >> 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
>
>
> ------------------------------------------------------------------------------
> 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
> Gambas-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/devel/attachments/20130210/c68fc579/attachment.html>
More information about the Devel
mailing list