[haiku-development] Re: Disabling Strict Aliasing for GCC4 Builds

  • From: Andreas Färber <andreas.faerber@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sat, 19 Apr 2008 21:32:55 +0200


Am 19.04.2008 um 15:21 schrieb Michael Lotz:

I have uploaded my -O0 build as a 7zip archive to 
http://haiku.mlotz.ch/haiku.image.gcc4.no-optimization.7z
for anyone that wants to try it (20MB expanding to a 150MB image). It
has no optimizations enabled, so it pretty much rules out anything
buggy in optimization or anything unexpected due to that. If stuff
crashes in here, then either the compiler is really broken (highly
unlikely) or it is a bug in Haiku that needs to be investigated/fixed
(like the Tracker crash on shutdown). You could try copying over this
complete installation to your partition and check the situation. If you
get KDLs then note down where their stack crawls end up ("sc" in KDL).
Most probably they will either be completely random or they will lead
to the same few places in one or more of the drivers. Since I can use
the GCC4 build with no strict aliasing and no value range propagation
perfectly fine in QEMU, I'd tend to think the problem is somewhere in
buggy or at least non-complient driver code (which is not used under
QEMU in this case).

On first boot of your above image I got a KDL after the splash screen:


PANIC: could not write back block 4 (Device timeout)

stack trace for thread 9 "block notifier/writer"

[...]
panic
write_cached_block block_cache cached_blockb
create_kernel_thread_kentryv
thread_kthread_exitv


Never seen that before with either gcc2 or gcc4.

On second try after about 8 min I got a vm_page_fault KDL when clicking the leaf:


stack trace for thread 114 "a:84:x-vnd.Be-TSKB"

[...]
Private hoard brkEl
Private superblock makeSuperblock processHeapE
Private threadHeap mallocEm
<libroot.so> malloc
<libbe.so> _Znwm
<_APP_> DrawingEngine HWInterface
ServerWindow MakeWindow Rect window_look window_feelmm
ServerApp CreateWindow Private LinkReceiver
ServerApp DispatchMessage Private LinkReceiver
ServerApp MessageLooper message_threadEPv
<libroot.so> _get_next_team_info
1128:a:84:x-vnd.Be-TKSB_114_stack


On third start, Terminal crashed (before the whole desktop was there) with a segment violation in BWindow::_DecomposeType from BWindow::BWindow. On restart attempt, Tracker crashed, as usual, and after clicking Debug nothing happened.

Next, I selected safe video mode (VESA) to be sure and, shortly after the desktop was there, got a KDL similar to the first boot above, but for block 1 (Device seek error).

Next boot, without safe mode, it froze after ~ 7 min.

I disabled USB (OHCI), Firewire and AC97 in the BIOS, then got a media_addon_server segment violation with a not very meaningful gdb backtrace. Apart from that it's been running fine for > 10 min now. But since it's not reproducible it's hard to find out whether this means anything at all...

Andreas

Other related posts: