Would it be possible to send me a program and instructions so that I can replicate the crash?
I think it's likely to be a bug in the SQLite binding, but the stack trace doesn't suggest a more specific place to look, so far. At Fri, 4 Jul 2014 01:01:37 +0400, Dmitry Pavlov wrote: > Hello, > > I have a big Racket+C program that does numerical > integration and uses flvectors, unsafe ops and ffi. > > Recently I added some access to sqlite3 too. > The program instantly got the habit of crashing at > random moments, after running safely for hours. > It never happened before, so I guess the most likely > suspect is the sqlite library. > > The crash message is: > SIGSEGV MAPERR si_code 1 fault on addr (nil) > > I managed to build a racket binary with debug info > from the most recent source > 116555c5177e306e9e871ce36af2fadbaedcbd7e > > Below is what I have obtained from the core dump. > So my question is: how does one debug that > kind of thing? Is it possible to make the crash > happen faster? Is it possible to run racket with > array boundary and stack and memory checks, > or run racket under valgrind or something? > > Best regards, > > Dmitry > > > > $ gdb ~/racket/racket/bin/racket core > GNU gdb (GDB) 7.6.2 (Debian 7.6.2-1) > Copyright (C) 2013 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > Reading symbols from /home/dpavlov/racket/racket/bin/racket...done. > > warning: core file may not match specified executable file. > [New LWP 19719] > [New LWP 19720] > > 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 "/lib/x86_64-linux-gnu/libthread_db.so.1". > Core was generated by `/home/dpavlov/racket/racket/bin/racket integte2.slon'. > Program terminated with signal 6, Aborted. > #0 0x00007f6bbf9773a9 in __GI_raise (sig=sig@entry=6) > at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 > 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. > (gdb) bt > #0 0x00007f6bbf9773a9 in __GI_raise (sig=sig@entry=6) > at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 > #1 0x00007f6bbf97a4c8 in __GI_abort () at abort.c:89 > #2 0x000000000078dd29 in fault_handler (sn=11, si=0x1e86670, ctx=0x1e86540) > at ./sighand.c:99 > #3 <signal handler called> > #4 0x00007f6bbc583736 in ?? () > #5 0x00007fff77e11b10 in ?? () > #6 0x00007f6bc060d708 in ?? () > #7 0x00007f6bbeb59c18 in ?? () > #8 0x0000000000000001 in ?? () > #9 0x0000000000000004 in ?? () > #10 0x00007f6bbeb59c98 in ?? () > #11 0x00007f6baccec548 in ?? () > #12 0x00007f6bbeb59bd0 in ?? () > #13 0x00007fff77e11a10 in ?? () > #14 0x00007f6bbc03677b in ?? () > #15 0x00007fff77e11a10 in ?? () > #16 0x00007f6bbc773eea in ?? () > #17 0x00007f6bbeb59be8 in ?? () > #18 0x00007f6bc060d708 in ?? () > #19 0x00007fff77e11c10 in ?? () > #20 0x0000000000000005 in ?? () > #21 0x0000000000000004 in ?? () > #22 0x00007f6bbeb59cf0 in ?? () > #23 0x00007f6bb4e89640 in ?? () > #24 0x00007f6bbeb59c88 in ?? () > #25 0x00007fff77e11a70 in ?? () > #26 0x00007f6bc0616d9d in ?? () > #27 0x00007f6bba6d1730 in ?? () > #28 0x00007f6bbc777349 in ?? () > #29 0x00007f6bb9e41608 in ?? () > #30 0x0000000000000004 in ?? () > #31 0x0000000000a71110 in scheme_default_prompt_tag () > #32 0x0000000000004048 in ?? () > #33 0x0000000000000004 in ?? () > #34 0x0000000000000001 in ?? () > #35 0x00007f6bbddebb10 in ?? () > #36 0x00007fff77e11f80 in ?? () > #37 0x00007fff77e11d90 in ?? () > #38 0x00000000004564ec in scheme_do_eval ( > obj=0x7884bc <fast_malloc_one_small_tagged+202>, num_rands=32619, > rands=0x7f6bac7b76f8, get_value=-1095394432) at ./../src/eval.c:2952 > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > (gdb) > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users