[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#960660: cyrus-imapd: Test failure on armhf (at least on armv8)



On Fri, May 15, 2020 at 12:03:16PM +0300, Adrian Bunk wrote:
>...
> "Bus error" usually means unaligned access somewhere in C code,
> and this is a more of a problem when running on armv8 than
> on armv7 (some buildds are armv7, some are armv8 like this one).

Confirmed on the porterboxes:
- tests pass on an armhf chroot on abel (armv7)
- test fails on an armhf chroot on amdahl (armv8)

Backtrace of the bus error:
#0  crc32_slice8 (prev=<optimized out>, data=0xf4eba75d, 
    length=<optimized out>) at lib/crc32.c:638
#1  0xf7c3074a in crc32 (length=<optimized out>, data=<optimized out>, 
    prev=<optimized out>) at lib/crc32.c:744
#2  crc32_iovec (iov=iov@entry=0xffeeabac, iovcnt=iovcnt@entry=3)
    at lib/crc32.c:759
#3  0xf7c23492 in write_record (db=db@entry=0x1879ba8, 
    record=record@entry=0xffeeabe8, key=0x189fe30 "aden.ado.ahabfirm", 
    val=val@entry=0xf4eba75d <error: Cannot access memory at address 0xf4eba75d>) at lib/cyrusdb_twoskip.c:796
#4  0xf7c235b4 in append_record (db=db@entry=0x1879ba8, 
    record=record@entry=0xffeeabe8, key=<optimized out>, 
    val=val@entry=0xf4eba75d <error: Cannot access memory at address 0xf4eba75d>) at lib/cyrusdb_twoskip.c:839
#5  0xf7c2391e in store_here (db=db@entry=0x1879ba8, 
    val=val@entry=0xf4eba75d <error: Cannot access memory at address 0xf4eba75d>, vallen=vallen@entry=21) at lib/cyrusdb_twoskip.c:1149
#6  0xf7c24a7e in skipwrite (force=0, datalen=21, 
    data=0xf4eba75d <error: Cannot access memory at address 0xf4eba75d>, 
    keylen=13, key=<optimized out>, db=0x1879ba8) at lib/cyrusdb_twoskip.c:1709
#7  mystore (db=0x1879ba8, key=<optimized out>, keylen=13, 
    data=0xf4eba75d <error: Cannot access memory at address 0xf4eba75d>, 
    datalen=datalen@entry=21, tidptr=<optimized out>, tidptr@entry=0xffeeada0, 
    force=force@entry=0) at lib/cyrusdb_twoskip.c:1834
#8  0xf7c24ae8 in copy_cb (rock=0xffeead9c, key=<optimized out>, 
    keylen=<optimized out>, val=<optimized out>, vallen=21)
    at lib/cyrusdb_twoskip.c:1862
#9  0xf7c240ac in myforeach (db=db@entry=0x1879998, prefix=prefix@entry=0x0, 
    prefixlen=prefixlen@entry=0, goodp=goodp@entry=0x0, 
    cb=0xf7c24ad1 <copy_cb>, rock=rock@entry=0xffeead9c, 
    tidptr=<optimized out>, tidptr@entry=0x1879b94)
    at lib/cyrusdb_twoskip.c:1626
#10 0xf7c246a4 in mycheckpoint (db=db@entry=0x1879998)
    at lib/cyrusdb_twoskip.c:1890
#11 0xf7c248de in mycommit (db=0x1879998, tid=0x189ae60)
    at lib/cyrusdb_twoskip.c:1768
#12 0x005aabfc in test_many () at ./cunit/aaa-db.testc:1542
#13 0x00597ab0 in __cunit_wrap_test (name=<optimized out>, 
    fn=0x5aaa45 <test_many>) at cunit/unit.c:153
#14 0x00598cca in __cunit_test_many () at cunit/aaa-db.testc-cunit.c:169
#15 0xf798cda2 in run_single_test (pTest=pTest@entry=0x18733d8, 
    pRunSummary=0xf79a4178 <f_run_summary>) at TestRun.c:991
#16 0xf798cf8c in run_single_suite (pSuite=pSuite@entry=0x1873198, 
    pRunSummary=0xf79a4178 <f_run_summary>) at TestRun.c:876
#17 0xf798d2de in CU_run_all_tests () at TestRun.c:367
#18 0x00597078 in run_tests () at cunit/unit.c:331
#19 main (argc=<optimized out>, argv=<optimized out>) at cunit/unit.c:457


cu
Adrian


Reply to: