minor(?) problem with pkg crashing

Andriy Gapon avg at FreeBSD.org
Wed Apr 20 16:48:53 UTC 2016


On 20/04/2016 17:36, Baptiste Daroussin wrote:
> On Wed, Apr 20, 2016 at 03:30:08PM +0300, Andriy Gapon wrote:
>> On 20/04/2016 11:39, Baptiste Daroussin wrote:
>>> On Wed, Apr 20, 2016 at 11:27:22AM +0300, Andriy Gapon wrote:
>>>> pkg 1.7.2 crashed at the end of upgrade run, after completing all the upgrades.
>>>> Unfortunately no debug symbols, but it looks like a double free or something
>>>> like that, seems that this happens only if
>>>>> Conflicts with the existing packages have been found.
>>>>> One more solver iteration is needed to resolve them.
>>>>
>>>> The crash is in  pkg_jobs_free() -> pkg_free() -> free()
>>>>
>>> Did it happen only once, or is it a reproducible case for you?
>>
>> Reproducible.
>>
> Do you have a core file?

Yes, but pkg / libpkg is without debug symbols.
E.g.:

Core was generated by `pkg'.
Program terminated with signal SIGBUS, Bus error.
#0  __je_bitmap_unset (bitmap=<optimized out>, binfo=<optimized out>,
bit=<optimized out>) at
/usr/src/lib/libc/../../contrib/jemalloc/include/jemalloc/internal/bitmap.h:248

warning: Source file is more recent than executable.
248             *gp = g;
(gdb) bt
#0  __je_bitmap_unset (bitmap=<optimized out>, binfo=<optimized out>,
bit=<optimized out>) at
/usr/src/lib/libc/../../contrib/jemalloc/include/jemalloc/internal/bitmap.h:248
#1  arena_run_reg_dalloc (run=<optimized out>, ptr=<optimized out>) at
jemalloc_arena.c:342
#2  arena_dalloc_bin_locked_impl (arena=<optimized out>, chunk=<optimized out>,
ptr=<optimized out>, bitselm=<optimized out>, junked=<optimized out>) at
jemalloc_arena.c:2732
#3  0x00000008024ad4f1 in __je_tcache_bin_flush_small (tsd=<optimized out>,
tcache=<optimized out>, tbin=<optimized out>, binind=<optimized out>,
rem=<optimized out>) at jemalloc_tcache.c:132
#4  0x00000008024d1230 in __je_tcache_dalloc_small (tsd=0x134c4992d87fd,
tcache=<optimized out>, ptr=<optimized out>, binind=2, slow_path=false) at
/usr/src/lib/libc/../../contrib/jemalloc/include/jemalloc/internal/tcache.h:417
#5  __je_arena_dalloc (ptr=<optimized out>, tcache=<optimized out>,
slow_path=false, tsd=<optimized out>) at
/usr/src/lib/libc/../../contrib/jemalloc/include/jemalloc/internal/arena.h:1370
#6  __je_idalloctm (is_metadata=false, slow_path=false, tsd=<optimized out>,
ptr=<optimized out>, tcache=<optimized out>) at
/usr/src/lib/libc/../../contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h:1056
#7  __je_iqalloc (tsd=<optimized out>, ptr=<optimized out>, tcache=<optimized
out>, slow_path=<optimized out>) at
/usr/src/lib/libc/../../contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h:1080
#8  ifree (tsd=<optimized out>, ptr=<optimized out>, tcache=<optimized out>,
slow_path=<optimized out>) at jemalloc_jemalloc.c:1823
#9  0x00000008024d161e in __free (ptr=0x80376b9e0) at jemalloc_jemalloc.c:1928
#10 0x000000080086ffa1 in ?? () from /usr/local/lib/libpkg.so.3
#11 0x00000008008608fa in ?? () from /usr/local/lib/libpkg.so.3
#12 0x000000080086055d in pkg_free () from /usr/local/lib/libpkg.so.3
#13 0x000000080088a7ee in ?? () from /usr/local/lib/libpkg.so.3
#14 0x000000080087c97e in pkg_jobs_free () from /usr/local/lib/libpkg.so.3
#15 0x00000000004163f3 in ?? ()
#16 0x000000000040fc1d in ?? ()
#17 0x00000000004064bf in ?? ()
#18 0x000000080064a000 in ?? ()
#19 0x0000000000000000 in ?? ()


-- 
Andriy Gapon


More information about the freebsd-ports mailing list