Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#8264 closed bug (invalid)

Web+ crash on launch

Reported by: humdinger Owned by: leavengood
Priority: normal Milestone: R1
Component: Applications/WebPositive Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

This is hrev43583, gcc2hybrid.

Launching Web+ results in this crash:

Thread 647 caused an exception: Segment violation
[...]
[tcsetpgrp failed in terminal_inferior: Invalid Argument]
[Switching to team /boot/apps/WebPositive/WebPositive (647) thread WebPositive (647)]
0x02e95d04 in std::locale::operator= () from /boot/system/lib/gcc4/libstdc++.so
(gdb) bt
#0  0x02e95d04 in std::locale::operator= ()
   from /boot/system/lib/gcc4/libstdc++.so
#1  0x02e952b2 in std::ios_base::_M_init ()
   from /boot/system/lib/gcc4/libstdc++.so
#2  0x02ea58d1 in std::basic_ios<char, std::char_traits<char> >::init ()
   from /boot/system/lib/gcc4/libstdc++.so
#3  0x037e8322 in BPrivate::PlainTextCatalog::ReadFromFile ()
   from /boot/system/add-ons/locale/catalogs/gcc4/plaintext
#4  0x037e9812 in BPrivate::PlainTextCatalog::PlainTextCatalog ()
   from /boot/system/add-ons/locale/catalogs/gcc4/plaintext
#5  0x037e9bbe in instantiate_catalog ()
   from /boot/system/add-ons/locale/catalogs/gcc4/plaintext
#6  0x02dea7c0 in BPrivate::MutableLocaleRoster::LoadCatalog ()
   from /boot/system/lib/gcc4/liblocale.so
#7  0x02ddba11 in BCatalog::SetCatalog ()
   from /boot/system/lib/gcc4/liblocale.so
#8  0x02de7c0a in BLocaleRoster::_GetCatalog ()
   from /boot/system/lib/gcc4/liblocale.so
#9  0x002511aa in BLocaleRoster::GetCatalog ()
#10 0x0024ef2c in SettingsWindow::SettingsWindow ()
#11 0x0023b21e in BrowserApp::ReadyToRun ()
#12 0x02c0f060 in BApplication::DispatchMessage ()
   from /boot/system/lib/gcc4/libbe.so
#13 0x1803c408 in ?? ()
---Type <return> to continue, or q <return> to quit---
#14 0x736f5062 in ?? ()
#15 0x76697469 in ?? ()
#16 0x02c0ef11 in BApplication::DispatchMessage ()
   from /boot/system/lib/gcc4/libbe.so
Previous frame inner to this frame (corrupt stack?)
(gdb) 

Change History (6)

comment:1 by humdinger, 13 years ago

Resolution: invalid
Status: newclosed

Must be something wrong with my build system. Getting Web+ thru installoptionalpackage with the latest nightly image results in a working web+... Closing as invalid.

comment:2 by humdinger, 13 years ago

I wonder if I should reopen this ticket. I deleted the downloads and objects folder in the generated folders and rebuild. The nightly I compiled from my local sources show the same problem described after installing Web+ as optional package. I'm confused... How is this possible? The downloaded nightly works...

comment:3 by mmadia, 13 years ago

Are you building Haiku from within itself? If so, what hrev is the host? It might be a subtle bug from re-using bits from the host.

comment:4 by humdinger, 13 years ago

I'm building from Haiku hrev43375. Maybe I should try building from a downloaded nightly...

comment:5 by zooey, 13 years ago

You should build from hrev43507 or later, as that revision changed the structure mbstate_t, which requires a full rebuild, including the compiler.

The crash you've seen is triggered because you're using an older gcc compiler, that has been compiled on a Haiku with a different mbstate_t (which is used in the initialization function that's referenced in the above stack trace). So the libstdc++.so from the older gcc uses a different mbstate_t than the compiled Haiku revision, leading to the crash.

Basically, the underlying problem is again the fact that we're not cross-compiling on Haiku.

comment:6 by humdinger, 13 years ago

Correct. I built a new image from a current nightly, and now everything's peachy. Thanks for the hint!

Note: See TracTickets for help on using tickets.