FS#73864 - [electron15] 15.3.7-2 SIGTRAP in DecommitSystemPages

Attached to Project: Community Packages
Opened by James Salter (jsalter) - Friday, 18 February 2022, 16:30 GMT
Last edited by Bruno Pagani (ArchangeGabriel) - Saturday, 05 March 2022, 15:19 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Nicola Squartini (tensor5)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 7
Private No

Details

Description:

Element Web (also a separate package element-web) is an Electron app experiencing crashes originating in Electron.

A stack trace can be seen here: https://github.com/vector-im/element-web/issues/20926#issuecomment-1038075438

We theorise this is due to an incompatibility between glibc and the kernel in Chromium similar to https://github.com/tensor5/arch-atom/issues/34 with likely a similar workaround.

Additional info:
* package version(s): 15.3.7-2

* stack trace

#0 0x00005567f33e8f8f in base::DecommitSystemPages(void*, unsigned long, base::PageAccessibilityDisposition) ()
#1 0x00005567f0524643 in base::internal::SlotSpanMetadata<true>::FreeSlowPath() ()
#2 0x00005567f33e6d0a in base::internal::PartitionFree(base::allocator::AllocatorDispatch const*, void*, void*) ()
#3 0x00007f1808b5a661 in closedir () at /usr/lib/libc.so.6
#4 0x00005567f33cc880 in base::FileEnumerator::Next() ()
#5 0x00005567f407922d in storage::FilesystemImpl::GetDirectoryEntries(base::FilePath const&, storage::mojom::GetEntriesMode) ()
#6 0x00005567f407aef5 in storage::FilesystemProxy::GetDirectoryEntries(base::FilePath const&, storage::FilesystemProxy::DirectoryEntryType) ()
#7 0x00005567f404ee7a in leveldb_env::ChromiumEnv::GetChildren(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std:
:allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) ()
#8 0x00005567f40570f1 in leveldb::DBImpl::RemoveObsoleteFiles() ()
#9 0x00005567f4058fe0 in leveldb::DBImpl::CompactMemTable() ()
#10 0x00005567f4059886 in leveldb::DBImpl::BackgroundCompaction() ()
#11 0x00005567f40597ae in leveldb::DBImpl::BackgroundCall() ()
#12 0x00005567f338dacf in base::TaskAnnotator::RunTask(char const*, base::PendingTask*) ()
#13 0x00005567f33abc68 in base::internal::TaskTracker::RunBlockShutdown(base::internal::Task*) ()
#14 0x00005567f33ab73f in base::internal::TaskTracker::RunTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&) ()
#15 0x00005567f33dc735 in base::internal::TaskTrackerPosix::RunTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&) ()
#16 0x00005567f33ab308 in base::internal::TaskTracker::RunAndPopNextTask(base::internal::RegisteredTaskSource) ()
#17 0x00005567f33b2023 in base::internal::WorkerThread::RunWorker() ()
#18 0x00005567f33b1c9a in base::internal::WorkerThread::RunPooledWorker() ()
#19 0x00005567f33dcf89 in base::(anonymous namespace)::ThreadFunc(void*) ()
#20 0x00007f180c9e1259 in start_thread () at /usr/lib/libpthread.so.0
#21 0x00007f1808b915e3 in clone () at /usr/lib/libc.so.6

26│ 0x00005567f33e8f65 <+85>: jne 0x5567f33e8f91 <_ZN4base19DecommitSystemPagesEPvmNS_28PageAccessibilityDispositionE+129>
27│ 0x00005567f33e8f67 <+87>: add rsp,0x18
28│ 0x00005567f33e8f6b <+91>: pop rbx
29│ 0x00005567f33e8f6c <+92>: pop r14
30│ 0x00005567f33e8f6e <+94>: pop r15
31│ 0x00005567f33e8f70 <+96>: pop rbp
32│ 0x00005567f33e8f71 <+97>: ret
33│ 0x00005567f33e8f72 <+98>: mov DWORD PTR [rbp-0x24],0xaaaaaaaa
34│ 0x00005567f33e8f79 <+105>: call QWORD PTR [rip+0x424e4d9] # 0x5567f7637458
35│ 0x00005567f33e8f7f <+111>: mov eax,DWORD PTR [rax]
36│ 0x00005567f33e8f81 <+113>: mov DWORD PTR [rbp-0x24],eax
37│ 0x00005567f33e8f84 <+116>: lea rdi,[rbp-0x24]
38│ 0x00005567f33e8f88 <+120>: addr32 call 0x5567f0516e60 <vp9_row_mt_sync_write_dummy>
39│ 0x00005567f33e8f8e <+126>: int3
40├──> 0x00005567f33e8f8f <+127>: ud2
41│ 0x00005567f33e8f91 <+129>: call 0x5567f714e660 <__stack_chk_fail@plt>

* link to upstream bug report, if any: n/a

Steps to reproduce: Crashes are appearing at random, likely because the bug seems to be in deallocation
This task depends upon

Closed by  Bruno Pagani (ArchangeGabriel)
Saturday, 05 March 2022, 15:19 GMT
Reason for closing:  Fixed
Additional comments about closing:  element-desktop 1.10.6-2.
Comment by Leonidas Spyropoulos (inglor) - Monday, 21 February 2022, 16:40 GMT
Unstripped package here: https://pkgbuild.com/~artafinde/debug/
Comment by Leonidas Spyropoulos (inglor) - Monday, 21 February 2022, 19:36 GMT
Backtrace here:
```
(gdb) bt full
#0 0x000055ae0d5edb9f in base::DecommitSystemPages(void*, unsigned long, base::PageAccessibilityDisposition) ()
#1 0x000055ae0a726653 in base::internal::SlotSpanMetadata<true>::FreeSlowPath() ()
#2 0x000055ae0d5eb91a in base::internal::PartitionFree(base::allocator::AllocatorDispatch const*, void*, void*) ()
#3 0x000055ae0e27b102 in leveldb::Arena::~Arena() ()
#4 0x000055ae0e267186 in leveldb::MemTable::~MemTable() ()
#5 0x000055ae0e25e64c in leveldb::DBImpl::CompactMemTable() ()
#6 0x000055ae0e25ef16 in leveldb::DBImpl::BackgroundCompaction() ()
#7 0x000055ae0e25ee3e in leveldb::DBImpl::BackgroundCall() ()
#8 0x000055ae0d5926af in base::TaskAnnotator::RunTask(char const*, base::PendingTask*) ()
#9 0x000055ae0d5b0848 in base::internal::TaskTracker::RunBlockShutdown(base::internal::Task*) ()
#10 0x000055ae0d5b031f in base::internal::TaskTracker::RunTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&) ()
#11 0x000055ae0d5e1345 in base::internal::TaskTrackerPosix::RunTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&) ()
#12 0x000055ae0d5afee8 in base::internal::TaskTracker::RunAndPopNextTask(base::internal::RegisteredTaskSource) ()
#13 0x000055ae0d5b6c83 in base::internal::WorkerThread::RunWorker() ()
#14 0x000055ae0d5b68fa in base::internal::WorkerThread::RunPooledWorker() ()
#15 0x000055ae0d5e1b99 in base::(anonymous namespace)::ThreadFunc(void*) ()
#16 0x00007fb2474e95c2 in start_thread () at /usr/lib/libc.so.6
#17 0x00007fb24756e584 in clone () at /usr/lib/libc.so.6
```

Loading...