StanfordLegion / legion

The Legion Parallel Programming System
https://legion.stanford.edu
Apache License 2.0
689 stars 144 forks source link

Realm: Fix refcount_image_test #1761

Open apryakhin opened 2 months ago

apryakhin commented 2 months ago

The backtrace from CI:

 refcount_image_test: /builds/StanfordLegion/legion/runtime/realm/dynamic_table.inl:339: void Realm::DynamicTableFreeList<ALLOCATOR>::push_front(Realm::DynamicTableFreeList<ALLOCATOR>::ET*) [with ALLOCATOR = Realm::DynamicTableAllocator<Realm::SparsityMapImplWrapper, 10, 4>; Realm::DynamicTableFreeList<ALLOCATOR>::ET = Realm::SparsityMapImplWrapper]: Assertion `entry->next_free == nullptr' failed.
Signal 6 received by node 1, process 40166 (thread 7f3aa4ae7040) - obtaining backtrace
Signal 6 received by process 40166 (thread 7f3aa4ae7040) at: stack trace: 14 frames
  [0] = raise at ../sysdeps/unix/sysv/linux/raise.c:51 [00007f3aa673e00b]
  [1] = abort at /build/glibc-wuryBv/glibc-2.31/stdlib/abort.c:79 [00007f3aa671d858]
  [2] = __assert_fail_base.cold at /build/glibc-wuryBv/glibc-2.31/assert/assert.c:92 [00007f3aa671d728]
  [3] = __assert_fail at /build/glibc-wuryBv/glibc-2.31/assert/assert.c:101 [00007f3aa672efd5]
  [4] = Realm::RuntimeImpl::free_sparsity_impl(Realm::SparsityMapImplWrapper*) at unknown file:0 [00007f3aa716c6c2]
  [5] = Realm::SparsityMapImplWrapper::remove_references(unsigned int) at unknown file:0 [00007f3aa72dac8b]
  [6] = Realm::SparsityMap<1, int>::destroy(Realm::Event) at unknown file:0 [00007f3aa72e0ec7]
  [7] = node_task(void const*, unsigned long, void const*, unsigned long, Realm::Processor) at unknown file:0 [000056224dd7daf3]
  [8] = Realm::LocalTaskProcessor::execute_task(unsigned int, Realm::ByteArrayRef const&) at unknown file:0 [00007f3aa73e438e]
  [9] = Realm::Task::execute_on_processor(Realm::Processor) at unknown file:0 [00007f3aa7296132]
  [10] = Realm::UserThreadTaskScheduler::execute_task(Realm::Task*) at unknown file:0 [00007f3aa72961e9]
  [11] = Realm::ThreadedTaskScheduler::scheduler_loop() at unknown file:0 [00007f3aa7293bf3]
  [12] = Realm::UserThread::uthread_entry() at unknown file:0 [00007f3aa727bba6]
  [13] = unknown symbol at ../sysdeps/unix/sysv/linux/x86_64/__start_context.S:91 [00007f3aa67564df]