Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-10009

Failure when destroying eviction threads on ARM64

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Backup
    • 8
    • StorEng - Refinement Pipeline

      I ran the following patch build and one run indicates the following stack trace:

      [2022/10/18 14:13:05.437] #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      [2022/10/18 14:13:05.444] #1  0x0000ffffbbed3aac in __GI_abort () at abort.c:79
      [2022/10/18 14:13:05.444] #2  0x0000ffffbc25b838 in __wt_abort (session=session@entry=0x2cca3160) at ../src/os_common/os_abort.c:30
      [2022/10/18 14:13:05.454] #3  0x0000ffffbc2cde98 in __wt_panic_func (session=session@entry=0x2cca3160, error=<optimized out>, func=func@entry=0xffffbc3339b0 <__PRETTY_FUNCTION__.38781> "__wt_cond_destroy", line=line@entry=199, category=category@entry=WT_VERB_DEFAULT, fmt=fmt@entry=0xffffbc333a70 "pthread_mutex_destroy: %s") at ../src/support/err.c:570
      [2022/10/18 14:13:05.458] #4  0x0000ffffbc263a60 in __wt_cond_destroy (session=session@entry=0x2cca3160, condp=condp@entry=0x1f3d55f0) at ../src/os_posix/os_mtx_cond.c:199
      [2022/10/18 14:13:05.468] #5  0x0000ffffbc2e3794 in __wt_thread_group_destroy (session=session@entry=0x2cca3160, group=group@entry=0x1f3d55b0) at ../src/support/thread_group.c:319
      [2022/10/18 14:13:05.474] #6  0x0000ffffbc2163e8 in __wt_evict_destroy (session=0x2cca3160) at ../src/evict/evict_lru.c:568
      [2022/10/18 14:13:05.478] #7  0x0000ffffbc2fba50 in __wt_txn_recover (session=<optimized out>, session@entry=0x2cca2000, cfg=cfg@entry=0xffffaba5b030) at ../src/txn/txn_recover.c:1006
      [2022/10/18 14:13:05.491] #8  0x0000ffffbc1aea6c in __wt_connection_workers (session=session@entry=0x2cca2000, cfg=cfg@entry=0xffffaba5b030) at ../src/conn/conn_open.c:218
      [2022/10/18 14:13:05.496] #9  0x0000ffffbc1a2f54 in wiredtiger_open (home=home@entry=0x2a3cb340 "/data/mci/86a2f4365859ef49fcd6ad9fa220f893/wiredtiger/cmake_build/test/format/RUNDIR.11/BACKUP", event_handler=event_handler@entry=0x43d908 <event_handler>, config=config@entry=0xffffaba5b1d8 ",error_prefix=\"t\",statistics=(all),statistics_log=(json,on_close,wait=5),timing_stress_for_test=[]", connectionp=connectionp@entry=0xffffaba5b5d8) at ../src/conn/conn_api.c:3049
      [2022/10/18 14:13:05.497] #10 0x000000000041b1d4 in wts_open (home=home@entry=0x2a3cb340 "/data/mci/86a2f4365859ef49fcd6ad9fa220f893/wiredtiger/cmake_build/test/format/RUNDIR.11/BACKUP", connp=connp@entry=0xffffaba5b618, verify_metadata=verify_metadata@entry=false) at ../test/format/wts.c:514
      [2022/10/18 14:13:05.501] #11 0x0000000000403b50 in check_copy () at ../test/format/backup.c:67
      [2022/10/18 14:13:05.501] #12 0x0000000000404478 in backup (arg=<optimized out>) at ../test/format/backup.c:687
      [2022/10/18 14:13:05.502] #13 0x0000ffffbc07d624 in start_thread (arg=0x403c08 <backup>) at pthread_create.c:477
      [2022/10/18 14:13:05.502] #14 0x0000ffffbbf8449c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
      
      1. Setup a reproducer (CONFIG in comments) based on the last comment by Mick that explains why EBUSY is being returned.
      2. Identify why the condition variable is being destroyed when a thread is waiting on it.
      3. Determining an appropriate fix may take some discussion.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            etienne.petrel@mongodb.com Etienne Petrel
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: