jemalloc-4.0.0 test suite segfaults on aarch64
Ingvar Hagelund
ingvar at redpill-linpro.com
Wed Aug 19 12:46:21 PDT 2015
----- On Aug 19, 2015, at 8:44 PM, Jason Evans <jasone at canonware.com> wrote:
> On Aug 19, 2015, at 3:02 AM, Ingvar Hagelund <ingvar at redpill-linpro.com> wrote:
> > I've started wrapping jemalloc-4.0.0 for fedora. aarch64 is now a target
> > arch for fedora. When sent to the arm builders, the unit/bitmap test
> > segfaults. Full log here:
> > http://arm.koji.fedoraproject.org//work/tasks/6832/3126832/build.log
> > Also note the vast amounts of "warning: left shift count is negative".
> This happens with page sizes larger than 8 KiB.
That's the case here, yes. Fedora 22 on aarch64.
$ uname -a
Linux arm64 4.0.4-301.fc22.aarch64 #1 SMP Thu May 21 15:21:42 UTC 2015 aarch64 aarch64 aarch64 GNU/Linux
$ getconf PAGESIZE
65536
> I can test a patch locally by specifying --with-lg-page=16 during configuration.
> The segfault is hopefully a side effect of the bit shifting issue (I certainly
> get test crashes when specifying --with-lg-page=16).
I have got a qemu aarch64 instance running now, so I would happily test patches.
I throw in a gdb backtrace for good measure
[ingvar at arm64 jemalloc-4.0.0]$ gdb test/unit/bitmap
GNU gdb (GDB) Fedora 7.9-11.fc22
(...snip...)
This GDB was configured as "aarch64-redhat-linux-gnu".
(...snip....)
Reading symbols from test/unit/bitmap...done.
(gdb) run
Starting program: /home/ingvar/rpmbuild/BUILD/jemalloc-4.0.0/test/unit/bitmap
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
test_bitmap_size: pass
Program received signal SIGSEGV, Segmentation fault.
__GI___pthread_mutex_lock (mutex=mutex at entry=0x840) at pthread_mutex_lock.c:67
67 unsigned int type = PTHREAD_MUTEX_TYPE_ELISION (mutex);
(gdb) bt
#0 __GI___pthread_mutex_lock (mutex=mutex at entry=0x840) at pthread_mutex_lock.c:67
#1 0x000000000042f704 in jet_malloc_mutex_lock (mutex=0x14ae70840) at include/jemalloc/internal/mutex.h:85
#2 jet_tcache_bin_flush_small (tsd=tsd at entry=0x3ffb7810008, tcache=tcache at entry=0x3ffb7820000, tbin=tbin at entry=0x3ffb7820020, binind=binind at entry=0, rem=1768846639) at src/tcache.c:115
#3 0x0000000000408574 in jet_tcache_dalloc_small (binind=0, ptr=0x3ffb7a78f00, tcache=0x3ffb7820000, tsd=0x3ffb7810008) at include/jemalloc/internal/tcache.h:376
#4 jet_arena_dalloc (tcache=0x3ffb7820000, ptr=0x3ffb7a78f00, tsd=0x3ffb7810008) at include/jemalloc/internal/arena.h:1195
#5 jet_idalloctm (is_metadata=false, tcache=0x3ffb7820000, ptr=0x3ffb7a78f00, tsd=0x3ffb7810008) at include/jemalloc/internal/jemalloc_internal.h:1005
#6 jet_iqalloc (tcache=0x3ffb7820000, ptr=0x3ffb7a78f00, tsd=0x3ffb7810008) at include/jemalloc/internal/jemalloc_internal.h:1029
#7 ifree (tcache=0x3ffb7820000, ptr=0x3ffb7a78f00, tsd=0x3ffb7810008) at src/jemalloc.c:1723
#8 jet_free (ptr=ptr at entry=0x3ffb7a78f00) at src/jemalloc.c:1817
#9 0x0000000000401a84 in test_bitmap_init () at test/unit/bitmap.c:34
#10 0x0000000000434a20 in p_test (t=0x401970 <test_bitmap_init>) at test/src/test.c:84
#11 0x000003ffb7d1f964 in __libc_start_main (main=0x0, argc=0, argv=0x0, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at libc-start.c:289
#12 0x00000000004016f0 in _start ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://jemalloc.net/mailman/jemalloc-discuss/attachments/20150819/da12ef57/attachment.html>
More information about the jemalloc-discuss
mailing list