Code Monkey home page Code Monkey logo

Comments (2)

saaramar avatar saaramar commented on June 30, 2024

Adding the callstack as well, you can see it originates from sandbox::MemoryServiceProvider::run():

Temporary breakpoint 1, 0x000000000040d790 in main ()
(gdb) c
Continuing.
[New Thread 0x7faea05e5700 (LWP 1765)]
[Detaching after vfork from child process 1766]

Thread 2 "test-sandbox-rp" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7faea05e5700 (LWP 1765)]
0x00007faea0bad4fb in snmalloc::RBTree<snmalloc::BuddyChunkRep<sandbox::SharedAllocConfig::Pagemap>, false, false>::insert_path(snmalloc::RBTree<snmalloc::BuddyChunkRep<sandbox::SharedAllocConfig::Pagemap>, false, false>::RBPath&, unsigned long) () from /verona/experiments/process_sandbox/build-ninja/libsandbox.so
(gdb) bt
#0  0x00007faea0bad4fb in snmalloc::RBTree<snmalloc::BuddyChunkRep<sandbox::SharedAllocConfig::Pagemap>, false, false>::insert_path(snmalloc::RBTree<snmalloc::BuddyChunkRep<sandbox::SharedAllocConfig::Pagemap>, false, false>::RBPath&, unsigned long) () from /verona/experiments/process_sandbox/build-ninja/libsandbox.so
#1  0x00007faea0babb20 in snmalloc::Buddy<snmalloc::BuddyChunkRep<sandbox::SharedAllocConfig::Pagemap>, 14ul, 63ul>::add_block(unsigned long, unsigned long) ()
   from /verona/experiments/process_sandbox/build-ninja/libsandbox.so
#2  0x00007faea0bab7ca in sandbox::SharedAllocConfig::dealloc_range(sandbox::SharedAllocConfig::LocalState&, snmalloc::CapPtr<void, snmalloc::capptr::bound<(snmalloc::capptr::dimension::Spatial)1, (snmalloc::capptr::dimension::AddressSpaceControl)1, (snmalloc::capptr::dimension::Wildness)1> >, unsigned long) () from /verona/experiments/process_sandbox/build-ninja/libsandbox.so
#3  0x00007faea0bab3b0 in sandbox::MemoryServiceProvider::run() () from /verona/experiments/process_sandbox/build-ninja/libsandbox.so
#4  0x00007faea0a1dde4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007faea0b39609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007faea070a163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) x/2i $pc
=> 0x7faea0bad4fb <_ZN8snmalloc6RBTreeINS_13BuddyChunkRepIN7sandbox17SharedAllocConfig7PagemapEEELb0ELb0EE11insert_pathERNS6_6RBPathEm+1323>:   mov    %rbx,(%rcx)
   0x7faea0bad4fe <_ZN8snmalloc6RBTreeINS_13BuddyChunkRepIN7sandbox17SharedAllocConfig7PagemapEEELb0ELb0EE11insert_pathERNS6_6RBPathEm+1326>:   mov    0x52853(%rip),%rbx        # 0x7faea0bffd58
(gdb) x/2gx $rcx
0x7faea0babb20 <_ZN8snmalloc5BuddyINS_13BuddyChunkRepIN7sandbox17SharedAllocConfig7PagemapEEELm14ELm63EE9add_blockEmm+128>:     0x000810c48148c031      0x5e415d415c415b00
(gdb) x/4i $rcx
   0x7faea0babb20 <_ZN8snmalloc5BuddyINS_13BuddyChunkRepIN7sandbox17SharedAllocConfig7PagemapEEELm14ELm63EE9add_blockEmm+128>:  xor    %eax,%eax
   0x7faea0babb22 <_ZN8snmalloc5BuddyINS_13BuddyChunkRepIN7sandbox17SharedAllocConfig7PagemapEEELm14ELm63EE9add_blockEmm+130>:  add    $0x810,%rsp
   0x7faea0babb29 <_ZN8snmalloc5BuddyINS_13BuddyChunkRepIN7sandbox17SharedAllocConfig7PagemapEEELm14ELm63EE9add_blockEmm+137>:  pop    %rbx
   0x7faea0babb2a <_ZN8snmalloc5BuddyINS_13BuddyChunkRepIN7sandbox17SharedAllocConfig7PagemapEEELm14ELm63EE9add_blockEmm+138>:  pop    %r12
(gdb)

from verona.

saaramar avatar saaramar commented on June 30, 2024

In case *p does not contain an unaligned address, the following modification could be made to trigger the issue:

  //error = try_dealloc(reinterpret_cast<const char*>(*p), snmalloc::MIN_CHUNK_SIZE);

  error = try_dealloc(reinterpret_cast<const char*>(allocs[0]+0x100), snmalloc::MIN_CHUNK_SIZE);
  error = try_dealloc(reinterpret_cast<const char*>(allocs[1]+0x100), snmalloc::MIN_CHUNK_SIZE);

from verona.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.