[haiku-bugs] Re: [Haiku] #6637: QEMU triggers a segment violation in BPrivate::superblock::superblock()

  • From: "andreasf" <trac@xxxxxxxxxxxx>
  • Date: Sat, 18 Sep 2010 14:18:16 -0000

#6637: QEMU triggers a segment violation in BPrivate::superblock::superblock()
--------------------------------+-------------------------------------------
  Reporter:  andreasf           |         Owner:  axeld         
      Type:  bug                |        Status:  new           
  Priority:  normal             |     Milestone:  R1            
 Component:  System/libroot.so  |       Version:  R1/Development
Resolution:                     |      Keywords:                
Blocked By:                     |   Has a Patch:  0             
  Platform:  x86                |      Blocking:                
--------------------------------+-------------------------------------------
Description changed by andreasf:

Old description:

> I get the following crash when running QEMU system emulation on r38695.
>
> {{{
> [Switching to team /boot/common/bin/qemu-system-ppc /dev/null -nographic
> (15566) thread qemu-system-ppc (15566)]
> 0x00c48000 in BPrivate::superblock::superblock ()
>    from /boot/system/lib/libroot.so
> (gdb) bt
> #0  0x00c48000 in BPrivate::superblock::superblock ()
>    from /boot/system/lib/libroot.so
> #1  0x00c48692 in BPrivate::superblock::makeSuperblock ()
>    from /boot/system/lib/libroot.so
> #2  0x00c48fe8 in BPrivate::threadHeap::malloc ()
>    from /boot/system/lib/libroot.so
> #3  0x00c49ce4 in calloc () from /boot/system/lib/libroot.so
> #4  0x00259f84 in qemu_mallocz ()
> #5  0x00291d4d in readline_init ()
> #6  0x00244355 in monitor_init ()
> #7  0x002b0f9d in qemu_chr_open ()
> #8  0x0039d144 in qemu_set_fd_handler ()
> #9  0x0039c0cd in qemu_powerdown_requested ()
> #10 0x00000000 in ?? ()
> #11 0x7ffeef68 in ?? ()
> #12 0x0039c09e in qemu_powerdown_requested ()
> #13 0x0039d1d0 in qemu_set_fd_handler ()
> Previous frame inner to this frame (corrupt stack?)
> (gdb)
> }}}
>
> mmlr was able to work around this by using areas for sizes >= 1 MiB
> instead. A simple test program {{{calloc}}}'ing, e.g., 256 MiB works just
> fine though.

New description:

 I get the following segment violation when running QEMU system emulation
 on r38695.

 {{{
 [Switching to team /boot/common/bin/qemu-system-ppc /dev/null -nographic
 (15566) thread qemu-system-ppc (15566)]
 0x00c48000 in BPrivate::superblock::superblock ()
    from /boot/system/lib/libroot.so
 (gdb) bt
 #0  0x00c48000 in BPrivate::superblock::superblock ()
    from /boot/system/lib/libroot.so
 #1  0x00c48692 in BPrivate::superblock::makeSuperblock ()
    from /boot/system/lib/libroot.so
 #2  0x00c48fe8 in BPrivate::threadHeap::malloc ()
    from /boot/system/lib/libroot.so
 #3  0x00c49ce4 in calloc () from /boot/system/lib/libroot.so
 #4  0x00259f84 in qemu_mallocz ()
 #5  0x00291d4d in readline_init ()
 #6  0x00244355 in monitor_init ()
 #7  0x002b0f9d in qemu_chr_open ()
 #8  0x0039d144 in qemu_set_fd_handler ()
 #9  0x0039c0cd in qemu_powerdown_requested ()
 #10 0x00000000 in ?? ()
 #11 0x7ffeef68 in ?? ()
 #12 0x0039c09e in qemu_powerdown_requested ()
 #13 0x0039d1d0 in qemu_set_fd_handler ()
 Previous frame inner to this frame (corrupt stack?)
 (gdb)
 }}}

 mmlr was able to work around this by using areas for sizes >= 1 MiB
 instead. A simple test program {{{calloc}}}'ing, e.g., 256 MiB works just
 fine though.

--

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/6637#comment:1>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: