Opened 9 years ago

Last modified 2 years ago

#6637 assigned bug

QEMU triggers a segment violation in BPrivate::superblock::superblock()

Reported by: andreasf Owned by: nobody
Priority: normal Milestone: R1
Component: System/libroot.so Version: R1/Development
Keywords: Cc: mmlr
Blocked By: Blocking:
Has a Patch: no Platform: x86

Description (last modified by andreasf)

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

[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.

Attachments (1)

test.c (448 bytes) - added by andreasf 9 years ago.
test program that works okay

Download all attachments as: .zip

Change History (3)

Changed 9 years ago by andreasf

Attachment: test.c added

test program that works okay

comment:1 Changed 9 years ago by andreasf

Description: modified (diff)

comment:2 Changed 2 years ago by axeld

Owner: changed from axeld to nobody
Status: newassigned
Note: See TracTickets for help on using tickets.