Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building for macOS PowerPC #2

Open
barracuda156 opened this issue Jan 18, 2024 · 83 comments
Open

Building for macOS PowerPC #2

barracuda156 opened this issue Jan 18, 2024 · 83 comments

Comments

@barracuda156
Copy link

@dbsoft Hi, Brian!
@wicknix referred me to your discussion on PaleMoon board, and I am interested to join into the project :)

What is the current status of the build?

P. S. There is also a relevant discussion here, which may be worth taking a look: rmottola/Arctic-Fox#140

@dbsoft
Copy link
Owner

dbsoft commented Jan 18, 2024

It builds with GCC 11/12 PowerPC, but it crashes due to missing AutoRelease pool during startup. I plan to work on it when I have some time, but been busy with other stuff. I imported a bunch of stuff from TenFourFox, but not JIT (yet).

Had a bit of trouble tracking down the crash though since the debugger does not give me useful information.

@barracuda156
Copy link
Author

@dbsoft Awesome, let me try that.

Two quick questions:

  1. It builds just from the master branch?
  2. Could you please refer to exact command and mozconfig (if anything local used)? So that I know what to start from.

@dbsoft
Copy link
Owner

dbsoft commented Jan 18, 2024

Well I haven't built it in about a month, but the patches that allowed it to compile a month ago were merged into master... so unless something in the past month broke it ... it should still build... The PowerMac is offline right now, I'll boot it up later today (have a busy day today) and I'll post the mozconfig I used.

Edit: Yesterday turned out to be a mess... didn't get around to it... will get it done today instead.

@barracuda156
Copy link
Author

barracuda156 commented Jan 18, 2024

Greatly appreciated, thanks.

UPD. Just ping me here, and I will try running the build.

(Do you use TFF way of building or Arctic Fox way of building? I mean, the initial build command.)

@dbsoft
Copy link
Owner

dbsoft commented Jan 20, 2024

This is the mozconfig I am using for testing purposes, I had disabled optiizations and stripping to try and debug it, but that did not really help. It takes like 16 hours to do a full build on my Powermac G5:

# Standard build options for White Star
export CC="/usr/local/bin/gcc -D__powerpc__ -flax-vector-conversions -mcpu=G5 -m32 -falign-loops=32 -falign-functions=32 -falign-labels=32 -falign-jumps=32 -mmfcrf -mpowerpc-gpopt -read_only_relocs suppress -force_cpusubtype_ALL -mdynamic-no-pic"
export CXX="/usr/local/bin/g++ -D__powerpc__ -flax-vector-conversions -fpermissive -mcpu=G5 -m32 -falign-loops=32 -falign-functions=32 -falign-labels=32 -falign-jumps=32 -mmfcrf -mpowerpc-gpopt -read_only_relocs suppress -force_cpusubtype_ALL -mdynamic-no-pic"
export STRIP=/usr/local/bin/strip7
export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/
ac_add_options --enable-application=whitestar
ac_add_options --enable-optimize=-O0
#ac_add_options --enable-jemalloc
#ac_add_options --enable-strip
ac_add_options --enable-devtools
#ac_add_options --enable-av1
#ac_add_options --enable-jxl
ac_add_options --disable-webrtc
ac_add_options --disable-gamepad
ac_add_options --disable-tests
#ac_add_options --enable-debug
ac_add_options --disable-necko-wifi
ac_add_options --disable-updater
ac_add_options --disable-apple-media
ac_add_options --enable-macos-target=10.5
ac_add_options --with-branding=whitestar/branding/whitestar
ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.5.sdk
# Use the following lines for Apple Silicon builds
# ac_add_options --with-macos-sdk=/Path/to/SDKs/MacOSX11.3.sdk
ac_add_options --host=powerpc-apple-darwin
ac_add_options --target=powerpc-apple-darwin

# Uncomment if using clang++ from Xcode 10 or higher
# export CXX="/usr/bin/clang++ -stdlib=libc++"

Using the strip7 that was used for TenFourFox.

Using built-in specs.
COLLECT_GCC=/usr/local/bin/gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/powerpc-apple-darwin9.8.0/12.3.0/lto-wrapper
Target: powerpc-apple-darwin9.8.0
Configured with: ./configure --enable-languages=c,c++,objc,obj-c++
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.3.0 (GCC) 
Python 2.7.18 (default, Nov 10 2022, 03:41:19) 
[GCC Apple LLVM 12.0.0 (clang-1200.0.31.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
./mach clobber
./mach build

I'll need to package up some MacOS 10.5 compatible branding since what I typically use does not work properly on 10.5. (In the meantime you can use the unofficial branding).

Generally speaking the instructions here apply: https://dbsoft.org/whitestar-build-mac.php

With some minor changes... use 10.5 SDK, jemalloc is not supported on 10.5 so disable that... JPEG-XL should theoretically work, but I have it disabled to reduce the build time. Not sure why I have AV1 disabled, might also be to reduce build times. Apple media is not supported on 10.5 so I added an option to disable that.

@barracuda156
Copy link
Author

barracuda156 commented Jan 20, 2024

Thank you very much!

It takes like 16 hours to do a full build on my Powermac G5

Oh wow, that sounds like a lot longer than TenFourFox. Which G5 is that?

use 10.5 SDK, jemalloc is not supported on 10.5 so disable that

I will give it a try against 10.6 first (10A190, not Rosetta). My 10.5 setup is dead at the moment, since I nuked libgcc when trying to fix building of ppc+ppc64 :)
jemalloc is principle should be fixable, since on 10.6 ppc it requires a minimal fix (I think merged into upstream already). On 10.5.8 it does not build as is, but if it makes sense, that can be done, I guess.

P. S. It’s great that the modern gcc can be used with it. Resorting to archaic versions was painful with TFF.

@dbsoft
Copy link
Owner

dbsoft commented Jan 20, 2024

1.6ghz PowerMac7,2
Since I haven't tested with the 10.6 SDK might be some additional issues with that.

This was the pull where I added the support:
https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2392

I tried to make sure I put everything in an #ifdef for the appropriate SDK versions, but some I was not absolutely certain about so... it only for sure works on the 10.5 SDK.

@barracuda156
Copy link
Author

@dbsoft I have just moved your unofficial folder to the location the build complained about, hopefully that gonna work. Build has commenced.

@barracuda156
Copy link
Author

Ah yeah, there will be issues with 10.6 SDK:

:info:build 28:35.33 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:1507:59: warning: (messages without a matching method signature will be assumed to return 'id' and accept '...' as arguments)
:info:build 28:35.42 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm: In member function 'mozilla::LayoutDeviceIntRect nsChildView::RectContainingTitlebarControls()':
:info:build 28:35.42 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:1932:15: error: expected ';' before 'in'
:info:build 28:35.42  1932 |   for (id view in [window titlebarControls]) {
:info:build 28:35.42       |               ^~~
:info:build 28:35.42       |               ;
:info:build 28:35.93 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:1932:16: error: 'in' was not declared in this scope; did you mean 'yn'?
:info:build 28:35.93  1932 |   for (id view in [window titlebarControls]) {
:info:build 28:35.93       |                ^~
:info:build 28:35.93       |                yn
:info:build 28:35.93 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:1932:26: error: expected ']' before 'titlebarControls'
:info:build 28:35.93  1932 |   for (id view in [window titlebarControls]) {
:info:build 28:35.93       |                          ^~~~~~~~~~~~~~~~~
:info:build 28:35.93       |                          ]
:info:build 28:35.94 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:1932:26: error: expected ';' before 'titlebarControls'
:info:build 28:35.94  1932 |   for (id view in [window titlebarControls]) {
:info:build 28:35.94       |                          ^~~~~~~~~~~~~~~~~
:info:build 28:35.94       |                          ;
:info:build 28:36.96 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:1932:27: error: 'titlebarControls' was not declared in this scope; did you mean 'IdleControls'?
:info:build 28:36.96  1932 |   for (id view in [window titlebarControls]) {
:info:build 28:36.96       |                           ^~~~~~~~~~~~~~~~
:info:build 28:36.96       |                           IdleControls
:info:build 28:36.96 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:1932:43: error: expected ')' before ']' token
:info:build 28:36.96  1932 |   for (id view in [window titlebarControls]) {
:info:build 28:36.96       |       ~                                   ^
:info:build 28:36.96       |                                           )
:info:build 28:36.96 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:1932:43: error: expected primary-expression before ']' token
:info:build 28:36.96 Warning: -Wunused-variable in /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm: unused variable 'view'
:info:build 28:36.96 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:1932:11: warning: unused variable 'view' [-Wunused-variable]
:info:build 28:36.96  1932 |   for (id view in [window titlebarControls]) {
:info:build 28:36.96       |           ^~~~
:info:build 28:38.34 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm: In member function 'void nsChildView::UpdateTitlebarCGContext()':
:info:build 28:38.34 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:2274:46: error: 'NSWindowFullScreenButton' was not declared in this scope; did you mean 'SetShowsFullScreenButton'?
:info:build 28:38.34  2274 |         view == [window standardWindowButton:NSWindowFullScreenButton]) {
:info:build 28:38.34       |                                              ^~~~~~~~~~~~~~~~~~~~~~~~
:info:build 28:38.34       |                                              SetShowsFullScreenButton
:info:build 28:38.41 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm: In member function 'virtual void nsChildView::UpdateWindowDraggingRegion(const nsIWidget::LayoutDeviceIntRegion&)':
:info:build 28:38.42 Warning: -Wunused-value in /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm: left operand of comma operator has no effect
:info:build 28:38.42 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:2781:47: warning: left operand of comma operator has no effect [-Wunused-value]
:info:build 28:38.43  2781 |   ManipulateViewWithoutNeedingDisplay(mView, [this, nonDraggable, &changed]() {
:info:build 28:38.43       |                                               ^~~~
:info:build 28:38.43 Warning: -Wunused-value in /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm: right operand of comma operator has no effect
:info:build 28:38.43 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:2781:68: warning: right operand of comma operator has no effect [-Wunused-value]
:info:build 28:38.44  2781 |   ManipulateViewWithoutNeedingDisplay(mView, [this, nonDraggable, &changed]() {
:info:build 28:38.44       |                                                                    ^~~~~~~
:info:build 28:38.52 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm: In function '-[ChildView viewDidChangeBackingProperties]':
:info:build 28:38.52 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:3543:40: warning: 'NSView' may not respond to '-viewDidChangeBackingProperties'
:info:build 28:38.52  3543 |   [super viewDidChangeBackingProperties];
:info:build 28:38.53       |                                        ^
:info:build 28:38.58 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm: In function '-[ChildView shouldConsiderStartingSwipeFromEvent:]':
:info:build 28:38.58 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:4237:55: warning: 'NSEvent' may not respond to '+isSwipeTrackingFromScrollEventsEnabled'
:info:build 28:38.58  4237 |   if (![NSEvent isSwipeTrackingFromScrollEventsEnabled]) {
:info:build 28:38.58       |                                                       ^
:info:build 28:38.58 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:4247:42: warning: 'NSEvent' may not respond to '-hasPreciseScrollingDeltas'
:info:build 28:38.58  4247 |       ![anEvent hasPreciseScrollingDeltas]) {
:info:build 28:38.59       |                                          ^
:info:build 28:38.59 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:4257:44: warning: 'NSEvent' may not respond to '-scrollingDeltaX'
:info:build 28:38.59  4257 |   CGFloat deltaX = [anEvent scrollingDeltaX];
:info:build 28:38.59       |                                            ^
:info:build 28:38.60 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:4257:20: error: cannot convert 'objc_object*' to 'CGFloat' {aka 'float'} in initialization
:info:build 28:38.60  4257 |   CGFloat deltaX = [anEvent scrollingDeltaX];
:info:build 28:38.60       |                    ^~~~~~~~~~~~~~~~~~~~~~~~~
:info:build 28:38.60       |                    |
:info:build 28:38.60       |                    objc_object*
:info:build 28:38.60 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:4258:44: warning: 'NSEvent' may not respond to '-scrollingDeltaY'
:info:build 28:38.60  4258 |   CGFloat deltaY = [anEvent scrollingDeltaY];
:info:build 28:38.60       |                                            ^
:info:build 28:38.61 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/widget/cocoa/nsChildView.mm:4258:20: error: cannot convert 'objc_object*' to 'CGFloat' {aka 'float'} in initialization
:info:build 28:38.61  4258 |   CGFloat deltaY = [anEvent scrollingDeltaY];
:info:build 28:38.61       |                    ^~~~~~~~~~~~~~~~~~~~~~~~~
:info:build 28:38.61       |                    |
:info:build 28:38.61       |                    objc_object*

I think it will be pretty much the same sequence of errors which I began fixing for Arctic Fox, more or less.

Perhaps I can build against 10.5.8 SDK, which should bypass a need for per-case fixups, but as we know, that should produce a dead binary :)

@barracuda156
Copy link
Author

I tried to make sure I put everything in an #ifdef for the appropriate SDK versions, but some I was not absolutely certain about so... it only for sure works on the 10.5 SDK.

To be honest, I think literally nobody is certain here, since no 10.6 SDK is “standard” for PowerPC, including the released 10.6.8 with Rosetta, and of course those early developer ones which still supported PPC natively.

To get a “standard” 10.6 on PowerPC, we will have to rebuild the system from sources, or at least those components which lack ppc slices in 10.6.8. I am not sure all needed sources are even available and whether something meaningful can be achieved with what we got. To make things worse, there is no documentation, AFAIK, which would describe the procedure, and existing info here-and-there is inaccurate or incomplete. And Darwinbuild is broken.

At the same time potentially even a handicapped 10.6 is better (on 32-bit) than any 10.5, and some stuff works there which does not on the latter.

@barracuda156
Copy link
Author

:info:build 100:52.87 In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/vm/Caches.h:14,
:info:build 100:52.87                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/jscntxt.h:18,
:info:build 100:52.87                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/vm/RegExpObject.h:12,
:info:build 100:52.87                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/builtin/RegExp.h:9,
:info:build 100:52.87                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/jscompartment.h:16,
:info:build 100:52.87                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/jsweakmap.h:12,
:info:build 100:52.87                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/builtin/TypedObject.h:10,
:info:build 100:52.88                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/builtin/BigInt.cpp:10:
:info:build 100:52.88 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/jsscript.h:2415:53: error: static assertion failed: Size of LazyScript must be an integral multiple of js::gc::CellSize
:info:build 100:52.88  2415 | static_assert(sizeof(LazyScript) % js::gc::CellSize == 0,
:info:build 100:52.88       |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
:info:build 100:52.88 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/jsscript.h:2415:53: note: the comparison reduces to '(4 == 0)'
:info:build 100:52.99 cc1: warning: '-mdynamic-no-pic' overrides '-fpic', '-fPIC', '-fpie' or '-fPIE'
:info:build 100:53.15 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/security/nss/lib/freebl/gcm.c: In function 'gcmHash_Reset':
:info:build 100:53.15 Warning: -Wtype-limits in /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/security/nss/lib/freebl/gcm.c: comparison is always false due to limited range of data type
:info:build 100:53.15 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/security/nss/lib/freebl/gcm.c:494:39: warning: comparison is always false due to limited range of data type [-Wtype-limits]
:info:build 100:53.15   494 |     if (sizeof(AADLen) >= 8 && AADLen > (1ULL << 61) - 1) {
:info:build 100:53.15       |                                       ^
:info:build 100:53.91 cc1: warning: '-mdynamic-no-pic' overrides '-fpic', '-fPIC', '-fpie' or '-fPIE'
:info:build 100:54.38 cc1: warning: '-mdynamic-no-pic' overrides '-fpic', '-fPIC', '-fpie' or '-fPIE'
:info:build 100:55.02 cc1: warning: '-mdynamic-no-pic' overrides '-fpic', '-fPIC', '-fpie' or '-fPIE'
:info:build 100:55.44 cc1: warning: '-mdynamic-no-pic' overrides '-fpic', '-fPIC', '-fpie' or '-fPIE'
:info:build 100:56.09 cc1: warning: '-mdynamic-no-pic' overrides '-fpic', '-fPIC', '-fpie' or '-fPIE'
:info:build 100:56.70 cc1: warning: '-mdynamic-no-pic' overrides '-fpic', '-fPIC', '-fpie' or '-fPIE'
:info:build 100:56.84 In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/vm/Caches.h:14,
:info:build 100:56.84                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/jscntxt.h:18,
:info:build 100:56.85                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/vm/RegExpObject.h:12,
:info:build 100:56.85                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/builtin/RegExp.h:9,
:info:build 100:56.86                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/builtin/RegExp.cpp:6:
:info:build 100:56.86 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/jsscript.h:2415:53: error: static assertion failed: Size of LazyScript must be an integral multiple of js::gc::CellSize
:info:build 100:56.86  2415 | static_assert(sizeof(LazyScript) % js::gc::CellSize == 0,
:info:build 100:56.86       |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
:info:build 100:56.86 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/js/src/jsscript.h:2415:53: note: the comparison reduces to '(4 == 0)'

The comment to the code:

/* If this fails, add/remove padding within LazyScript. */
static_assert(sizeof(LazyScript) % js::gc::CellSize == 0,
              "Size of LazyScript must be an integral multiple of js::gc::CellSize");

Sure enough, padding is wrong.

@barracuda156
Copy link
Author

What is interesting is that the referred chunk specifically excludes Darwin ppc here:

    // Add padding so LazyScript is gc::Cell aligned. Make padding protected
    // instead of private to suppress -Wunused-private-field compiler warnings.
  protected:
#if JS_BITS_PER_WORD == 32 && !(defined(XP_DARWIN) && defined(__ppc__))
    uint32_t padding;
#endif

Possibly, it was added as a hack around a bug in GCC related to structure packing. The bug has been fixed in gcc13, as I recall. Which would explain why it did not fail for you with gcc12.

Resumed the build after removing ppc clause, let's see how far it proceeds.

@barracuda156
Copy link
Author

So apparently indeed, that assumption is wrong for gcc13, the build went a bit further, but then failed on this:

:info:build 15:05.12 Undefined symbols:
:info:build 15:05.12   "_load_aligned_float", referenced from:
:info:build 15:05.12       _qcms_transform_data_rgb_out_lut_altivec in transform-altivec.o
:info:build 15:05.12       _qcms_transform_data_rgb_out_lut_altivec in transform-altivec.o
:info:build 15:05.13       _qcms_transform_data_rgb_out_lut_altivec in transform-altivec.o
:info:build 15:05.13       _qcms_transform_data_rgb_out_lut_altivec in transform-altivec.o
:info:build 15:05.13       _qcms_transform_data_rgb_out_lut_altivec in transform-altivec.o
:info:build 15:05.13       _qcms_transform_data_rgb_out_lut_altivec in transform-altivec.o
:info:build 15:05.13       _qcms_transform_data_rgba_out_lut_altivec in transform-altivec.o
:info:build 15:05.13       _qcms_transform_data_rgba_out_lut_altivec in transform-altivec.o
:info:build 15:05.13       _qcms_transform_data_rgba_out_lut_altivec in transform-altivec.o
:info:build 15:05.13       _qcms_transform_data_rgba_out_lut_altivec in transform-altivec.o
:info:build 15:05.13       _qcms_transform_data_rgba_out_lut_altivec in transform-altivec.o
:info:build 15:05.13       _qcms_transform_data_rgba_out_lut_altivec in transform-altivec.o
:info:build 15:05.13 ld: symbol(s) not found
:info:build 15:05.13 collect2: error: ld returned 1 exit status

I guess, this is the fix:

--- firefox-60.0/gfx/qcms/transform-altivec.c.debug	2018-05-15 09:26:43.603043100 +0200
+++ firefox-60.0/gfx/qcms/transform-altivec.c	2018-05-15 09:28:57.302385632 +0200
@@ -30,7 +30,7 @@
 static const ALIGN float floatScaleX4 = FLOATSCALE;
 static const ALIGN float clampMaxValueX4 = CLAMPMAXVAL;
 
-inline vector float load_aligned_float(float *dataPtr)
+static vector float load_aligned_float(float *dataPtr)
 {
 	vector float data = vec_lde(0, dataPtr);
 	vector unsigned char moveToStart = vec_lvsl(0, dataPtr);

@barracuda156
Copy link
Author

And it claims to have succeeded:

 2:20.00 ld(26867) malloc: *** mmap(size=252325888) failed (error code=12)
 2:20.00 *** error: can't allocate region
 2:20.00 *** set a breakpoint in malloc_error_break to debug
 2:20.47 cc1plus: warning: '-mdynamic-no-pic' overrides '-fpic', '-fPIC', '-fpie' or '-fPIE'
 2:20.54 cc1plus: warning: '-mdynamic-no-pic' overrides '-fpic', '-fPIC', '-fpie' or '-fPIE'
 2:20.54 cc1plus: warning: '-mdynamic-no-pic' overrides '-fpic', '-fPIC', '-fpie' or '-fPIE'
 2:20.56 cc1objplus: warning: command-line option '-Wignored-qualifiers' is valid for C/C++ but not for ObjC++
 2:20.56 cc1objplus: warning: '-mdynamic-no-pic' overrides '-fpic', '-fPIC', '-fpie' or '-fPIE'
 2:24.58 plugin-container
 2:24.95 libbrowsercomps.dylib
 2:24.98 xpcshell
 2:31.29 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/forgetaboutsite/ForgetAboutSite.jsm: WARNING: no preprocessor directives found
 2:33.13 dependentlibs.list
 2:33.58 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/whitestar/branding/whitestar/pref/palemoon-branding.js: WARNING: no preprocessor directives found
 3:18.90 Packaging quitter@mozilla.org.xpi...
 3:22.28 782 compiler warnings present.
 3:23.04 Your build was successful!

Checking for un-preprocessed files... Done!
To view resource usage of the build, run |mach resource-usage|.
To take your build for a test drive, run: |mach run|

@barracuda156
Copy link
Author

It did produce something which looks like an app, but:

  1. Directly it does not want to start, complaining about macOS version. Perhaps just wrong settings somewhere, for example Info.plist has obvious nonsense:
	<key>LSMinimumSystemVersion</key>
	<string>10.7</string>
	<key>LSMinimumSystemVersionByArchitecture</key>
	<dict>
		<key>i386</key>
		<string>10.7.0</string>
		<key>x86_64</key>
		<string>10.7.0</string>
	</dict>
  1. Binary whitestar, if launched from the terminal, does not crash but does not do anything either at the moment, it just loads the CPU indefinitely.

@barracuda156
Copy link
Author

There is some issue with stripping, and it is something I expected on 10.6:

20:30.39 strip: bad n_sect for symbol table entry 2799802 in: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/dist/whitestar/Browser.app/Contents/MacOS/XUL
20:30.45 Traceback (most recent call last):
20:30.45   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/mozapps/installer/packager.py", line 423, in <module>
20:30.45     main()
20:30.45   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/mozapps/installer/packager.py", line 419, in main
20:30.45     copier.copy(args.destination)
20:30.45   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/python/mozbuild/mozpack/copier.py", line 399, in copy
20:30.45     copy_results.append((destfile, f.copy(destfile, skip_if_older)))
20:30.45   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/python/mozbuild/mozpack/files.py", line 274, in copy
20:30.46     strip(dest)
20:30.46   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/python/mozbuild/mozpack/executables.py", line 99, in strip
20:30.46     errors.fatal('Error executing ' + ' '.join(cmd))
20:30.46   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/python/mozbuild/mozpack/errors.py", line 103, in fatal
20:30.46     self._handle(self.FATAL, msg)
20:30.46   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/python/mozbuild/mozpack/errors.py", line 98, in _handle
20:30.46     raise ErrorMessage(msg)
20:30.46 mozpack.errors.ErrorMessage: Error: Error executing strip -x -S ../../dist/whitestar/Browser.app/Contents/MacOS/XUL
20:30.60 gmake[3]: *** [/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/mozapps/installer/packager.mk:41: stage-package] Error 1
20:30.60 gmake[3]: Leaving directory '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/whitestar/installer'
20:30.60 gmake[2]: *** [/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/mozapps/installer/packager.mk:82: make-package] Error 2
20:30.60 gmake[2]: Leaving directory '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/whitestar/installer'
20:30.60 gmake[1]: *** [/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/mozapps/installer/packager-uxp.mk:14: make-archive] Error 2
20:30.60 gmake[1]: Leaving directory '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/whitestar/installer'
20:30.60 gmake: *** [/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/../whitestar/build.mk:9: package] Error 2

This is with a regular strip, but as I recall, strip7 also failed for me. With TFF I just use nostrip configs.

@dbsoft
Copy link
Owner

dbsoft commented Jan 20, 2024

Possibly, it was added as a hack around a bug in GCC related to structure packing. The bug has been fixed in gcc13, as I recall. Which would explain why it did not fail for you with gcc12.

I was confused why I needed it... to get it to build with GCC 12.3 if it is in fact a packing bug that would explain it... just remove that one.

I thought I changed the Info.plist to be 10.5 in my White Star repository... but I guess it is something I didn't actually commit:

diff --git a/whitestar/app/macbuild/Contents/Info.plist.in b/whitestar/app/macbuild/Contents/Info.plist.in
index 34aefd4..829f4e8 100644
--- a/whitestar/app/macbuild/Contents/Info.plist.in
+++ b/whitestar/app/macbuild/Contents/Info.plist.in
@@ -213,13 +213,15 @@
                <string>0</string>
        </dict>
        <key>LSMinimumSystemVersion</key>
-       <string>10.7</string>
+       <string>10.5</string>
        <key>LSMinimumSystemVersionByArchitecture</key>
        <dict>
                <key>i386</key>
                <string>10.7.0</string>
                <key>x86_64</key>
                <string>10.7.0</string>
+               <key>ppc</key>
+               <string>10.5.0</string>
        </dict>
        <key>NSSupportsAutomaticGraphicsSwitching</key>
        <true/>

@barracuda156
Copy link
Author

@dbsoft For the reference: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110044 (I am not sure it is related, but it looks it may be).

@barracuda156
Copy link
Author

Rebuilt again, no errors during the build (two patches applies), strip fails with strip7:

20:28.90 /opt/local/bin/strip7: ignoring n_sect == 0 for symbol table entry 2799802 in: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/dist/whitestar/Browser.app/Contents/MacOS/XUL
20:36.63 Traceback (most recent call last):
20:36.64   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/mozapps/installer/packager.py", line 423, in <module>
20:36.64     main()
20:36.64   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/mozapps/installer/packager.py", line 419, in main
20:36.64     copier.copy(args.destination)
20:36.64   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/python/mozbuild/mozpack/copier.py", line 399, in copy
20:36.64     copy_results.append((destfile, f.copy(destfile, skip_if_older)))
20:36.64   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/python/mozbuild/mozpack/files.py", line 274, in copy
20:36.64     strip(dest)
20:36.64   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/python/mozbuild/mozpack/executables.py", line 99, in strip
20:36.64     errors.fatal('Error executing ' + ' '.join(cmd))
20:36.64   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/python/mozbuild/mozpack/errors.py", line 103, in fatal
20:36.64     self._handle(self.FATAL, msg)
20:36.65   File "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/python/mozbuild/mozpack/errors.py", line 98, in _handle
20:36.65     raise ErrorMessage(msg)
20:36.65 mozpack.errors.ErrorMessage: Error: Error executing /opt/local/bin/strip7 -x -S ../../dist/whitestar/Browser.app/Contents/MacOS/XUL
20:36.79 gmake[3]: *** [/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/mozapps/installer/packager.mk:41: stage-package] Error 1
20:36.79 gmake[3]: Leaving directory '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/whitestar/installer'
20:36.79 gmake[2]: *** [/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/mozapps/installer/packager.mk:82: make-package] Error 2
20:36.80 gmake[2]: Leaving directory '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/whitestar/installer'
20:36.80 gmake[1]: *** [/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/mozapps/installer/packager-uxp.mk:14: make-archive] Error 2
20:36.80 gmake[1]: Leaving directory '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/whitestar/installer'
20:36.80 gmake: *** [/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/../whitestar/build.mk:9: package] Error 2
20:36.80 gmake: Leaving directory '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin'
Command failed: ./mach package
Exit code: 2

@barracuda156
Copy link
Author

Okay, I got your result, I guess. It starts now after fixing plists, but freezes really badly:
browser

@dbsoft
Copy link
Owner

dbsoft commented Jan 21, 2024

Well yours might actually dong slightly better than mine, since mine aborts due to a missing AutoRelease pool....but we are clearly at a similar place... building but something isn't quite right.... going to need some debugging, but I have just been busy with other things. So this experiment has been on the back burner.... I'll try to build a GCC with the packing patch and see if I can get it to where yours is.... but this is going to be slow going on my end.

@barracuda156
Copy link
Author

Well yours might actually dong slightly better than mine, since mine aborts due to a missing AutoRelease pool....but we are clearly at a similar place... building but something isn't quite right.... going to need some debugging, but I have just been busy with other things. So this experiment has been on the back burner.... I'll try to build a GCC with the packing patch and see if I can get it to where yours is.... but this is going to be slow going on my end.

I can share portfiles if it makes life a bit easier.

A sensible thing to try would be building the browser for ppc64 (I briefly looked into the source, and ppc64 is not even accounted for, but after fixing some macros, it may help to avoid at least some failures. Or if It fails identically, then we know it is not 32-bitness breaking our browser.)
Unfortunately build FAT is defunct in Macports, and I need to rebuild everything for ppc64 on Leopard, and everything is quite a lot, LOL.

@dbsoft
Copy link
Owner

dbsoft commented Jan 21, 2024

Well I'd accept the port file, but I might just apply the patch to my tree so I don't have to wait for a full rebuild of GCC.

@barracuda156
Copy link
Author

@dbsoft Ah yeah, if it is set up this way, it certainly makes sense.

P. S. By the way, if you do not already, use Iain’s branches for PowerPC.

@barracuda156
Copy link
Author

warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
........................ done
Reading symbols for shared libraries . done
2024-01-21 10:22:06.816 whitestar[8288:c13] *** __NSAutoreleaseNoPool(): Object 0x60303f0 of class NSCFDictionary autoreleased with no pool in place - just leaking
2024-01-21 10:22:06.818 whitestar[8288:c13] *** __NSAutoreleaseNoPool(): Object 0x602fac0 of class NSCFArray autoreleased with no pool in place - just leaking
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
2024-01-21 10:22:08.580 whitestar[8288:c13] *** __NSAutoreleaseNoPool(): Object 0x176b55e0 of class NSCFString autoreleased with no pool in place - just leaking
2024-01-21 10:22:08.581 whitestar[8288:c13] *** __NSAutoreleaseNoPool(): Object 0x176f1720 of class NSURL autoreleased with no pool in place - just leaking
2024-01-21 10:22:08.584 whitestar[8288:c13] *** __NSAutoreleaseNoPool(): Object 0x6019a00 of class NSCFLocale autoreleased with no pool in place - just leaking
2024-01-21 10:22:08.585 whitestar[8288:c13] *** __NSAutoreleaseNoPool(): Object 0x176f8330 of class NSCFData autoreleased with no pool in place - just leaking
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Die: DW_TAG_unspecified_type (abbrev = 219, offset = 1661)
	has children: FALSE
	attributes:
		DW_AT_name (DW_FORM_string) string: "decltype(nullptr)"
warning: Got an error handling event: "Dwarf Error: Cannot find type of die [in module /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/toolkit/library/XUL]".

Looks like autorelease has just a wrong syntax.

Dwarf error is something which feels vaguely familiar, but I can't recall immediately where I saw it.

@barracuda156
Copy link
Author

strip7 crash (AFAIK did not work with TFF either):

Process:         strip7 [62683]
Path:            /opt/local/bin/strip7
Identifier:      strip7
Version:         ??? (???)
Code Type:       PPC (Native)
Parent Process:  python [58258]

Date/Time:       2024-01-21 09:21:19.092 +0800
OS Version:      Mac OS X 10.6 (10A190)
Report Version:  6

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000038
Crashed Thread:  0

Thread 0 Crashed:
0   strip7                        	0x000042bc strip_object + 3088
1   strip7                        	0x00008958 strip_file + 1476
2   strip7                        	0x00009748 main + 2504
3   strip7                        	0x00002488 start + 64
4   ???                           	0xbffff1c8 0 + 3221221832

Thread 0 crashed with PPC Thread State 32:
  srr0: 0x000042bc  srr1: 0x0000d030   dar: 0x00000038 dsisr: 0x40000000
    r0: 0x000042b0    r1: 0xbfffe8b0    r2: 0x005006a0    r3: 0x0000000a
    r4: 0x00000000    r5: 0x00000001    r6: 0x80808080    r7: 0x00000001
    r8: 0x0000000a    r9: 0x00000000   r10: 0x00425823   r11: 0x0041e6c4
   r12: 0x0029bcc8   r13: 0x000336b8   r14: 0x005006a0   r15: 0x00000a1b
   r16: 0x101512e4   r17: 0x00000000   r18: 0x02ab8ba0   r19: 0x00500580
   r20: 0x002ab8ba   r21: 0x00aae2e8   r22: 0x0200a8b8   r23: 0x00000000
   r24: 0x0000001e   r25: 0x02f7aa9d   r26: 0x00118085   r27: 0x0000000e
   r28: 0x00000000   r29: 0x00000000   r30: 0x0000000f   r31: 0x000036b8
    cr: 0x42244002   xer: 0x00000000    lr: 0x000042b0   ctr: 0x0029bcc8
vrsave: 0x00000000

Binary Images:
    0x1000 -    0x37fff +strip7 ??? (???) <d777618356ae6ecf24737b70842a09d8> /opt/local/bin/strip7
   0x42000 -    0x4dfff  libgcc_s.1.dylib ??? (???) <1eb48ae6b07dcb096bda0433409722c1> /usr/lib/libgcc_s.1.dylib
   0x52000 -    0x57ff6  libmathCommon.A.dylib ??? (???) <e166c8e59a80a82b4504b1dd43d1f50a> /usr/lib/system/libmathCommon.A.dylib
   0xb4000 -   0x11effb  libstdc++.6.dylib ??? (???) <5824de0c43054a01c556e9ef288f33c7> /usr/lib/libstdc++.6.dylib
  0x252000 -   0x41cfe7  libSystem.B.dylib ??? (???) <420b38fe0fa0944f6f5bc4840bf29a4e> /usr/lib/libSystem.B.dylib
0x8fe00000 - 0x8fe31143  dyld 113.0 (???) <ee555e655e1cf66cac80728801add419> /usr/lib/dyld
0xffff8000 - 0xffff9703  libSystem.B.dylib ??? (???) /usr/lib/libSystem.B.dylib

@dbsoft
Copy link
Owner

dbsoft commented Jan 21, 2024

Very strange, never seen that before...

If you are having issues with stripping... you can add these options: --disable-install-strip and --disable-strip

Probably will trigger a rebuild though. :(

@barracuda156
Copy link
Author

Yeah, I remembered about install-strip, after the second rebuild was complete, and quite pointlessly it indeed triggers the rebuild even if mozconfig is edited directly (and portfile untouched), so I left it at that until tomorrow. Anyway it is worth looking through the code to see what is going wrong and hopefully fix it for 10.6 SDK.

Could you confirm if AltiVec fix is at least harmless on your setup?

@barracuda156
Copy link
Author

I do not recall any issues with strip aside of Mozilla-based browsers, no idea what is so special about them which a) justifies having a dedicated hacked version of strip incompatible with anything else and b) causes stripping to fail on 10.6.
In any case, this is the least of our problems here :)

@dbsoft
Copy link
Owner

dbsoft commented Jan 21, 2024

Could you confirm if AltiVec fix is at least harmless on your setup?

Not sure what you mean by this?

@dbsoft
Copy link
Owner

dbsoft commented Jan 22, 2024

iains/darwin-toolchains-start-here#29 (reply in thread) iains/LLVM-7-branch@b9c5258#commitcomment-87572985

I think you are misunderstanding what he is talking about there. So... consider... the Mach-O loader, to support PPC (32bit)... there are various CPU subtypes... G3,G4,G5(running 32bit) .... however for PPC64 there is only G5... so there is no need for a subtype.

Does that make sense? There is no PPC64 G5 subtype because it is the only processor to support it... if you are on Mac running PPC64 it is a G5, end of story.

If you are on Mac running PPC(32) ...it could be one of many processors and thus you need the subtype to know which is which.

@barracuda156
Copy link
Author

iains/darwin-toolchains-start-here#29 (reply in thread) iains/LLVM-7-branch@b9c5258#commitcomment-87572985

I think you are misunderstanding what he is talking about there. So... consider... the Mach-O loader, to support PPC (32bit)... there are various CPU subtypes... G3,G4,G5(running 32bit) .... however for PPC64 there is only G5... so there is no need for a subtype.

Does that make sense? There is no PPC64 G5 subtype because it is the only processor to support it... if you are on Mac running PPC64 it is a G5, end of story.

If you are on Mac running PPC(32) ...it could be one of many processors and thus you need the subtype to know which is which.

I recall Iain saying explicitly elsewhere that when compiling for 64-bit only ppc64 should be used and not ppc970 (FWIW, my memory may fail), but anyway, this is perhaps more of a theoretical question for us at the moment :)

@dbsoft
Copy link
Owner

dbsoft commented Jan 22, 2024

I recall Iain saying explicitly elsewhere that when compiling for 64-bit only ppc64 should be used and not ppc970 (FWIW, my memory may fail), but anyway, this is perhaps more of a theoretical question for us at the moment :)

Again, that may be for the same reason I just explained. PPC64 on Darwin is implicitly ppc970 (G5) ... since it is the only processor supported in 64bit mode. the ppc970 would only matter in 32bit mode. Since that is the only mode where CPU variants exist.

@barracuda156
Copy link
Author

Dwarf error is something which feels vaguely familiar, but I can't recall immediately where I saw it.

After getting the same with folly tests now I remembered – it is the old GDB! Need to use gdb-apple from Macports instead of the native OS one.

@barracuda156
Copy link
Author

And now we got something more meaningful with GDB:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x41800004
0x08744bb0 in MacOSFontEntry::GetFontTable (this=0x41097400, aTag=1851878757) at gfxMacPlatformFontList.mm:513
513	                if(wtable[i] == aTagHE) {
(gdb) where
#0  0x08744bb0 in MacOSFontEntry::GetFontTable (this=0x41097400, aTag=1851878757) at gfxMacPlatformFontList.mm:513
#1  0x086d6678 in gfxFontEntry::AutoTable::AutoTable (this=0xbfffbfec, aFontEntry=0x41097400, aTag=1851878757) at gfxFontEntry.h:234
#2  0x086c9dc8 in gfxFontFamily::ReadOtherFamilyNames (this=0x1f82ca20, aPlatformFontList=0x410a9e00) at gfxFontEntry.cpp:1619
#3  0x0870a724 in gfxPlatformFontList::PreloadNamesList (this=0x410a9e00) at gfxPlatformFontList.cpp:438
#4  0x08746408 in gfxMacPlatformFontList::InitFontListForPlatform (this=0x410a9e00) at gfxMacPlatformFontList.mm:1078
#5  0x08709e74 in gfxPlatformFontList::InitFontList (this=0x410a9e00) at gfxPlatformFontList.cpp:282
#6  0x08657b24 in gfxPlatformMac::CreatePlatformFontList (this=0x1f1e8610) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/gfx/thebes/gfxPlatformMac.cpp:135
#7  0x08652e4c in gfxPlatformFontList::Init () at gfxPlatformFontList.h:102
#8  0x0864b930 in gfxPlatform::Init () at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/gfx/thebes/gfxPlatform.cpp:615
#9  0x0864b064 in gfxPlatform::GetPlatform () at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/gfx/thebes/gfxPlatform.cpp:471
#10 0x0af95090 in CreateVsyncRefreshTimer () at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/layout/base/nsRefreshDriver.cpp:898
#11 0x0af95700 in nsRefreshDriver::ChooseTimer (this=0x186ee000) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/layout/base/nsRefreshDriver.cpp:1023
#12 0x0af965a8 in nsRefreshDriver::EnsureTimerStarted (this=0x186ee000, aFlags=nsRefreshDriver::eNone) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/layout/base/nsRefreshDriver.cpp:1243
#13 0x0af96000 in nsRefreshDriver::MostRecentRefresh (this=0x186ee000) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/layout/base/nsRefreshDriver.cpp:1132
#14 0x0a831dc4 in nsSMILAnimationController::nsSMILAnimationController (this=0x1f1e8100, aDoc=0x186eda00) at nsSMILAnimationController.cpp:41
#15 0x08b336cc in nsDocument::GetAnimationController (this=0x186eda00) at nsDocument.cpp:6590
#16 0x0a4cced4 in mozilla::dom::SVGSVGElement::BindToTree (this=0x1f1e7fc0, aDocument=0x186eda00, aParent=0x1f1d8530, aBindingParent=0x0, aCompileEventHandlers=true) at SVGSVGElement.cpp:726
#17 0x08be249c in nsINode::doInsertChildAt (this=0x1f1d8530, aKid=0x1f1e7fc0, aIndex=5, aNotify=false, aChildArray=@0x1f1d8564) at nsINode.cpp:1664
#18 0x08a36ca0 in mozilla::dom::FragmentOrElement::InsertChildAt (this=0x1f1d8530, aKid=0x1f1e7fc0, aIndex=5, aNotify=false) at FragmentOrElement.cpp:1283
#19 0x0829e684 in nsINode::AppendChildTo (this=0x1f1d8530, aKid=0x1f1e7fc0, aNotify=false) at nsINode.h:751
#20 0x0a96f134 in mozilla::dom::XULDocument::ResumeWalk (this=0x186eda00) at XULDocument.cpp:2770
#21 0x0a971988 in mozilla::dom::XULDocument::OnScriptCompileComplete (this=0x186eda00, aScript=0x1f7910b0, aStatus=NS_OK) at XULDocument.cpp:3445
#22 0x0a98c7d4 in NotifyOffThreadScriptCompletedRunnable::Run (this=0x17c0fbc0) at nsXULElement.cpp:2798
#23 0x071ed6e8 in nsThread::ProcessNextEvent (this=0x179002d0, aMayWait=false, aResult=0xbfffcc00) at nsThread.cpp:1140
#24 0x07268a48 in NS_ProcessPendingEvents (aThread=0x179002d0, aTimeout=10) at nsThreadUtils.cpp:297
warning: .o file "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/toolkit/library/../../widget/Unified_cpp_widget1.o" more recent than executable timestamp in "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/toolkit/library/XUL"
warning: Couldn't open object file '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/toolkit/library/../../widget/Unified_cpp_widget1.o'
#25 0x0ab3af4c in nsBaseAppShell::NativeEventCallback ()
#26 0x0abc5f10 in nsAppShell::ProcessGeckoEvents (aInfo=0x179928e0) at nsAppShell.mm:400
#27 0x006cef58 in __CFRunLoopDoSources0 ()
#28 0x006cdb54 in __CFRunLoopRun ()
#29 0x0065a0b0 in CFRunLoopRunSpecific ()
#30 0x0224c134 in RunCurrentEventLoopInMode ()
#31 0x0224bee8 in ReceiveNextEventCommon ()
#32 0x0224bd54 in BlockUntilNextEventMatchingListInMode ()
#33 0x00d6ec50 in _DPSNextEvent ()
#34 0x00d6e430 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#35 0x0abc4c0c in -[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (self=0x601b390, _cmd=0x142e80c, mask=4294967295, expiration=0x1befb6f0, mode=0x775a94, flag=1 '\001') at nsAppShell.mm:136
#36 0x00d69a88 in -[NSApplication run] ()
#37 0x0abc6c04 in nsAppShell::Run (this=0x179928e0) at nsAppShell.mm:674
#38 0x0b9da814 in nsAppStartup::Run (this=0x17992890) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/components/startup/nsAppStartup.cpp:282
#39 0x0ba20968 in XREMain::XRE_mainRun (this=0xbfffef5c) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/xre/nsAppRunner.cpp:3811
#40 0x0ba20e88 in XREMain::XRE_main (this=0xbfffef5c, argc=1, argv=0xbffff614, aAppData=0xbffff0ec) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/xre/nsAppRunner.cpp:3921
#41 0x0ba211a4 in XRE_main (argc=1, argv=0xbffff614, aAppData=0xbffff0ec, aFlags=0) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/platform/toolkit/xre/nsAppRunner.cpp:4003
#42 0x00002bf4 in do_main (argc=1, argv=0xbffff614, envp=0xbffff61c, xreDirectory=0x60122b0) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/whitestar/app/nsBrowserApp.cpp:253
#43 0x00003038 in main (argc=1, argv=0xbffff614, envp=0xbffff61c) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/whitestar/app/nsBrowserApp.cpp:377

@barracuda156
Copy link
Author

So something broken here, it seems:

    // See if we already know how long the table is. This saves a potentially
    // expensive call to ATSGetFontTable() to simply get the length.
    // Essentially a hardcoded form of FindTagInTableDir; see below.
    if (MOZ_LIKELY(mFontTableDirSize > 0)) {
        uint32_t aTagHE = aTag;
#ifndef __ppc__
        aTagHE = __builtin_bswap32(aTag);
#endif

#ifdef DEBUG_X
        uint32_t j = 12;
        uint8_t *table = (reinterpret_cast<uint8_t *>(
                mFontTableDir.Elements()));
        fprintf(stderr, "fast fetch ");
#endif
        uint32_t i;
        uint32_t *wtable = (reinterpret_cast<uint32_t *>(
                mFontTableDir.Elements()));

        for (i=3; i<(mFontTableDirSize/4); i+=4) { // Skip header
#ifdef DEBUG_X
                char tag[5] = { table[j], table[j+1], table[j+2], table[j+3],
                        '\0' };
                fprintf(stderr, "%s ", tag); // remember: host endian
                j += 16;
#endif
                // ASSUME THAT aTag is in host endianness
                if(wtable[i] == aTagHE) {
                        dataLength = (ByteCount)wtable[i+3];
#ifndef __ppc__
                        dataLength = __builtin_bswap32(dataLength);
#endif
#ifdef DEBUG_X
                        fprintf(stderr, "FF MATCH: length %u\n", dataLength);
#endif
                        break;
                }
        }
    }

Endianness, ppc-specific hacks :)

@barracuda156
Copy link
Author

I see that chunk comes from TFF: https://github.com/classilla/tenfourfox/blob/656875dfebe724c31896e3073780638e2c213f81/gfx/thebes/gfxMacPlatformFontList.mm#L472-L523

And TFF is known to work fine.

But, do we know this works with 10.5 SDK? And do we know if specific code is compatible with related code in Palemoon?

@dbsoft
Copy link
Owner

dbsoft commented Jan 22, 2024

Dwarf error is something which feels vaguely familiar, but I can't recall immediately where I saw it.

After getting the same with folly tests now I remembered – it is the old GDB! Need to use gdb-apple from Macports instead of the native OS one.

Oh I'll give that a try, I was looking for an updated gdb.

So something broken here, it seems:

That is code I imported from TenFourFox with that big endian patch.... obviously all of that code is untested in UXP since I was crashing before I could get to it.

@barracuda156
Copy link
Author

barracuda156 commented Jan 22, 2024

Crash log from the OS:

Process:         whitestar-orig [69695]
Path:            /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/dist/Browser.app/Contents/MacOS/whitestar-orig
Identifier:      org.mozilla.browser
Version:         33.0.0 (3324.1.20)
Code Type:       PPC (Native)
Parent Process:  zsh [69693]

Date/Time:       2024-01-23 06:46:40.850 +0800
OS Version:      Mac OS X 10.6 (10A190)
Report Version:  6

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000000004172b004
Crashed Thread:  0

Thread 0 Crashed:
0   XUL                           	0x084aabb0 MacOSFontEntry::GetFontTable(unsigned int) + 272 (gfxMacPlatformFontList.mm:513)
1   XUL                           	0x0843c674 gfxFontEntry::AutoTable::AutoTable(gfxFontEntry*, unsigned int) + 52
2   XUL                           	0x0842fdc4 gfxFontFamily::ReadOtherFamilyNames(gfxPlatformFontList*) + 228 (gfxFontEntry.cpp:1619)
3   XUL                           	0x08470720 gfxPlatformFontList::PreloadNamesList() + 224 (gfxPlatformFontList.cpp:438)
4   XUL                           	0x084ac404 gfxMacPlatformFontList::InitFontListForPlatform() + 580 (gfxMacPlatformFontList.mm:1078)
5   XUL                           	0x0846fe70 gfxPlatformFontList::InitFontList() + 432 (gfxPlatformFontList.cpp:282)
6   XUL                           	0x083bdb20 gfxPlatformMac::CreatePlatformFontList() + 64 (gfxPlatformMac.cpp:135)
7   XUL                           	0x083b8e48 gfxPlatformFontList::Init() + 40 (gfxPlatformFontList.h:102)
8   XUL                           	0x083b192c gfxPlatform::Init() + 1260 (gfxPlatform.cpp:615)
9   XUL                           	0x083b1060 gfxPlatform::GetPlatform() + 32 (gfxPlatform.cpp:471)
10  XUL                           	0x0acfb08c __ZL23CreateVsyncRefreshTimerv + 76
11  XUL                           	0x0acfb6fc nsRefreshDriver::ChooseTimer() const + 252 (nsRefreshDriver.cpp:1023)
12  XUL                           	0x0acfc5a4 nsRefreshDriver::EnsureTimerStarted(nsRefreshDriver::EnsureTimerStartedFlags) + 516 (nsRefreshDriver.cpp:1243)
13  XUL                           	0x0acfbffc nsRefreshDriver::MostRecentRefresh() const + 28 (nsRefreshDriver.cpp:1132)
14  XUL                           	0x0a597dc0 nsSMILAnimationController::nsSMILAnimationController(nsIDocument*) + 320
15  XUL                           	0x088996c8 nsDocument::GetAnimationController() + 232 (nsDocument.cpp:6590)
16  XUL                           	0x0a232ed0 mozilla::dom::SVGSVGElement::BindToTree(nsIDocument*, nsIContent*, nsIContent*, bool) + 80 (SVGSVGElement.cpp:726)
17  XUL                           	0x08948498 nsINode::doInsertChildAt(nsIContent*, unsigned int, bool, nsAttrAndChildArray&) + 728 (nsINode.cpp:1664)
18  XUL                           	0x0879cc9c mozilla::dom::FragmentOrElement::InsertChildAt(nsIContent*, unsigned int, bool) + 60 (FragmentOrElement.cpp:1283)
19  XUL                           	0x08004680 nsINode::AppendChildTo(nsIContent*, bool) + 96 (nsINode.h:751)
20  XUL                           	0x0a6d5130 mozilla::dom::XULDocument::ResumeWalk() + 1328 (XULDocument.cpp:2770)
21  XUL                           	0x0a6d7984 mozilla::dom::XULDocument::OnScriptCompileComplete(JSScript*, nsresult) + 868 (XULDocument.cpp:3445)
22  XUL                           	0x0a6f27d0 NotifyOffThreadScriptCompletedRunnable::Run() + 784 (nsXULElement.cpp:2798)
23  XUL                           	0x06f536e4 nsThread::ProcessNextEvent(bool, bool*) + 1028 (nsThread.cpp:1140)
24  XUL                           	0x06fcea44 NS_ProcessPendingEvents(nsIThread*, unsigned int) + 164
25  XUL                           	0x0a8a0f48 nsBaseAppShell::NativeEventCallback() + 232
26  XUL                           	0x0a92bf0c nsAppShell::ProcessGeckoEvents(void*) + 556 (nsAppShell.mm:400)
27  com.apple.CoreFoundation      	0x006cef54 __CFRunLoopDoSources0 + 940
28  com.apple.CoreFoundation      	0x006cdb50 __CFRunLoopRun + 940
29  com.apple.CoreFoundation      	0x0065a0ac CFRunLoopRunSpecific + 668
30  com.apple.HIToolbox           	0x0224c130 RunCurrentEventLoopInMode + 356
31  com.apple.HIToolbox           	0x0224bee4 ReceiveNextEventCommon + 376
32  com.apple.HIToolbox           	0x0224bd50 BlockUntilNextEventMatchingListInMode + 100
33  com.apple.AppKit              	0x00d6ec4c _DPSNextEvent + 1076
34  com.apple.AppKit              	0x00d6e42c -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 124
35  XUL                           	0x0a92ac08 -[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 136 (nsAppShell.mm:136)
36  com.apple.AppKit              	0x00d69a84 -[NSApplication run] + 628
37  XUL                           	0x0a92cc00 nsAppShell::Run() + 384 (nsAppShell.mm:674)
38  XUL                           	0x0b740810 nsAppStartup::Run() + 112 (nsAppStartup.cpp:282)
39  XUL                           	0x0b786964 XREMain::XRE_mainRun() + 4836 (nsAppRunner.cpp:3811)
40  XUL                           	0x0b786e84 XREMain::XRE_main(int, char**, nsXREAppData const*) + 1092 (nsAppRunner.cpp:3921)
41  XUL                           	0x0b7871a0 XRE_main + 64 (nsAppRunner.cpp:4003)
42  whitestar-orig                	0x00002bf0 __ZL7do_mainiPPcS0_P7nsIFile + 1904
43  whitestar-orig                	0x00003034 main + 180 (nsBrowserApp.cpp:377)
44  whitestar-orig                	0x00002300 start + 64

Thread 1:
0   libSystem.B.dylib             	0x00405874 kevent + 8
1   XUL                           	0x077133b4 event_base_loop + 756 (event.c:1607)
2   XUL                           	0x076d52ec base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) + 428 (message_pump_libevent.cc:374)
3   XUL                           	0x076d2740 MessageLoop::RunInternal() + 64 (message_loop.cc:228)
4   XUL                           	0x076d26d4 MessageLoop::RunHandler() + 20 (message_loop.cc:221)
5   XUL                           	0x076d2684 MessageLoop::Run() + 36 (message_loop.cc:201)
6   XUL                           	0x076f2928 base::Thread::ThreadMain() + 296 (thread.cc:179)
7   XUL                           	0x076d71b0 __ZL10ThreadFuncPv + 48
8   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 2:
0   libSystem.B.dylib             	0x00405878 kevent + 12
1   libSystem.B.dylib             	0x0053da38 dispatch_wake_from_pthreads + 256

Thread 3:
0   libSystem.B.dylib             	0x00426974 select$DARWIN_EXTSN + 12
1   libnss3.dylib                 	0x068145b8 poll + 984
2   libnss3.dylib                 	0x0683e3d0 _pr_poll_with_poll + 2384
3   libnss3.dylib                 	0x0683e864 PR_Poll + 36
4   XUL                           	0x0710bdb0 mozilla::net::nsSocketTransportService::Poll(unsigned int) + 432 (nsSocketTransportService2.cpp:505)
5   XUL                           	0x0710e020 mozilla::net::nsSocketTransportService::DoPollIteration() + 768 (nsSocketTransportService2.cpp:1029)
6   XUL                           	0x0710d684 mozilla::net::nsSocketTransportService::Run() + 548 (nsSocketTransportService2.cpp:868)
7   XUL                           	0x06f536e4 nsThread::ProcessNextEvent(bool, bool*) + 1028 (nsThread.cpp:1140)
8   XUL                           	0x06fcec64 NS_ProcessNextEvent(nsIThread*, bool) + 100
9   XUL                           	0x07743234 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) + 692 (MessagePump.cpp:337)
10  XUL                           	0x076d2740 MessageLoop::RunInternal() + 64 (message_loop.cc:228)
11  XUL                           	0x076d26d4 MessageLoop::RunHandler() + 20 (message_loop.cc:221)
12  XUL                           	0x076d2684 MessageLoop::Run() + 36 (message_loop.cc:201)
13  XUL                           	0x06f51130 nsThread::ThreadFunc(void*) + 432 (nsThread.cpp:458)
14  libnss3.dylib                 	0x068431c8 _pt_root + 424
15  libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 4:
0   libSystem.B.dylib             	0x003c9e0c __semwait_signal + 8
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   libnss3.dylib                 	0x068411a4 pt_TimedWait + 260
3   libnss3.dylib                 	0x0684173c PR_WaitCondVar + 284
4   XUL                           	0x07dd0f64 Watchdog::Sleep(unsigned int) + 36 (XPCJSContext.cpp:979)
5   XUL                           	0x07da6d1c __ZL12WatchdogMainPv + 284
6   libnss3.dylib                 	0x068431c8 _pt_root + 424
7   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 5:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x0c37d144 js::ConditionVariable::wait(js::LockGuard<js::Mutex>&) + 68
3   XUL                           	0x0c37d2c8 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
4   XUL                           	0x0cb9a7a4 js::GlobalHelperThreadState::wait(js::AutoLockHelperThreadState&, js::GlobalHelperThreadState::CondVar, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator>) + 68
5   XUL                           	0x0cb9f3d4 js::HelperThread::threadLoop() + 564
6   XUL                           	0x0cb9cec4 js::HelperThread::ThreadMain(void*) + 36
7   XUL                           	0x0cbac6e0 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE8callMainIJLm0EEEEvN7mozilla13IndexSequenceIJXspT_EEEE + 64
8   XUL                           	0x0cba9260 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE5StartES2_ + 32
9   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 6:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x0c37d144 js::ConditionVariable::wait(js::LockGuard<js::Mutex>&) + 68
3   XUL                           	0x0c37d2c8 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
4   XUL                           	0x0cb9a7a4 js::GlobalHelperThreadState::wait(js::AutoLockHelperThreadState&, js::GlobalHelperThreadState::CondVar, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator>) + 68
5   XUL                           	0x0cb9f3d4 js::HelperThread::threadLoop() + 564
6   XUL                           	0x0cb9cec4 js::HelperThread::ThreadMain(void*) + 36
7   XUL                           	0x0cbac6e0 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE8callMainIJLm0EEEEvN7mozilla13IndexSequenceIJXspT_EEEE + 64
8   XUL                           	0x0cba9260 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE5StartES2_ + 32
9   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 7:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x0c37d144 js::ConditionVariable::wait(js::LockGuard<js::Mutex>&) + 68
3   XUL                           	0x0c37d2c8 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
4   XUL                           	0x0cb9a7a4 js::GlobalHelperThreadState::wait(js::AutoLockHelperThreadState&, js::GlobalHelperThreadState::CondVar, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator>) + 68
5   XUL                           	0x0cb9f3d4 js::HelperThread::threadLoop() + 564
6   XUL                           	0x0cb9cec4 js::HelperThread::ThreadMain(void*) + 36
7   XUL                           	0x0cbac6e0 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE8callMainIJLm0EEEEvN7mozilla13IndexSequenceIJXspT_EEEE + 64
8   XUL                           	0x0cba9260 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE5StartES2_ + 32
9   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 8:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x0c37d144 js::ConditionVariable::wait(js::LockGuard<js::Mutex>&) + 68
3   XUL                           	0x0c37d2c8 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
4   XUL                           	0x0cb9a7a4 js::GlobalHelperThreadState::wait(js::AutoLockHelperThreadState&, js::GlobalHelperThreadState::CondVar, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator>) + 68
5   XUL                           	0x0cb9f3d4 js::HelperThread::threadLoop() + 564
6   XUL                           	0x0cb9cec4 js::HelperThread::ThreadMain(void*) + 36
7   XUL                           	0x0cbac6e0 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE8callMainIJLm0EEEEvN7mozilla13IndexSequenceIJXspT_EEEE + 64
8   XUL                           	0x0cba9260 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE5StartES2_ + 32
9   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 9:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x0c37d144 js::ConditionVariable::wait(js::LockGuard<js::Mutex>&) + 68
3   XUL                           	0x0c37d2c8 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
4   XUL                           	0x0cb9a7a4 js::GlobalHelperThreadState::wait(js::AutoLockHelperThreadState&, js::GlobalHelperThreadState::CondVar, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator>) + 68
5   XUL                           	0x0cb9f3d4 js::HelperThread::threadLoop() + 564
6   XUL                           	0x0cb9cec4 js::HelperThread::ThreadMain(void*) + 36
7   XUL                           	0x0cbac6e0 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE8callMainIJLm0EEEEvN7mozilla13IndexSequenceIJXspT_EEEE + 64
8   XUL                           	0x0cba9260 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE5StartES2_ + 32
9   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 10:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x0c37d144 js::ConditionVariable::wait(js::LockGuard<js::Mutex>&) + 68
3   XUL                           	0x0c37d2c8 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
4   XUL                           	0x0cb9a7a4 js::GlobalHelperThreadState::wait(js::AutoLockHelperThreadState&, js::GlobalHelperThreadState::CondVar, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator>) + 68
5   XUL                           	0x0cb9f3d4 js::HelperThread::threadLoop() + 564
6   XUL                           	0x0cb9cec4 js::HelperThread::ThreadMain(void*) + 36
7   XUL                           	0x0cbac6e0 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE8callMainIJLm0EEEEvN7mozilla13IndexSequenceIJXspT_EEEE + 64
8   XUL                           	0x0cba9260 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE5StartES2_ + 32
9   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 11:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x0c37d144 js::ConditionVariable::wait(js::LockGuard<js::Mutex>&) + 68
3   XUL                           	0x0c37d2c8 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
4   XUL                           	0x0cb9a7a4 js::GlobalHelperThreadState::wait(js::AutoLockHelperThreadState&, js::GlobalHelperThreadState::CondVar, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator>) + 68
5   XUL                           	0x0cb9f3d4 js::HelperThread::threadLoop() + 564
6   XUL                           	0x0cb9cec4 js::HelperThread::ThreadMain(void*) + 36
7   XUL                           	0x0cbac6e0 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE8callMainIJLm0EEEEvN7mozilla13IndexSequenceIJXspT_EEEE + 64
8   XUL                           	0x0cba9260 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE5StartES2_ + 32
9   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 12:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x0c37d144 js::ConditionVariable::wait(js::LockGuard<js::Mutex>&) + 68
3   XUL                           	0x0c37d2c8 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
4   XUL                           	0x0cb9a7a4 js::GlobalHelperThreadState::wait(js::AutoLockHelperThreadState&, js::GlobalHelperThreadState::CondVar, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator>) + 68
5   XUL                           	0x0cb9f3d4 js::HelperThread::threadLoop() + 564
6   XUL                           	0x0cb9cec4 js::HelperThread::ThreadMain(void*) + 36
7   XUL                           	0x0cbac6e0 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE8callMainIJLm0EEEEvN7mozilla13IndexSequenceIJXspT_EEEE + 64
8   XUL                           	0x0cba9260 __ZN2js6detail16ThreadTrampolineIRFvPvEJPNS_12HelperThreadEEE5StartES2_ + 32
9   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 13:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x06f09ab4 mozilla::CondVar::Wait(unsigned int) + 52 (CondVar.h:78)
3   XUL                           	0x06f09d04 mozilla::Monitor::Wait(unsigned int) + 36 (Monitor.h:39)
4   XUL                           	0x06f09e24 mozilla::MonitorAutoLock::Wait(unsigned int) + 36 (Monitor.h:87)
5   XUL                           	0x06f469ec mozilla::HangMonitor::ThreadMain(void*) + 556
6   libnss3.dylib                 	0x068431c8 _pt_root + 424
7   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 14:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x06f09ab4 mozilla::CondVar::Wait(unsigned int) + 52 (CondVar.h:78)
3   XUL                           	0x06f09d04 mozilla::Monitor::Wait(unsigned int) + 36 (Monitor.h:39)
4   XUL                           	0x06f09e24 mozilla::MonitorAutoLock::Wait(unsigned int) + 36 (Monitor.h:87)
5   XUL                           	0x06f44814 mozilla::BackgroundHangManager::RunMonitorThread() + 116 (BackgroundHangMonitor.cpp:264)
6   XUL                           	0x06f591a0 mozilla::BackgroundHangManager::MonitorThread(void*) + 32 (BackgroundHangMonitor.cpp:60)
7   libnss3.dylib                 	0x068431c8 _pt_root + 424
8   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 15:
0   libSystem.B.dylib             	0x003c9e0c __semwait_signal + 8
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   libnss3.dylib                 	0x068411a4 pt_TimedWait + 260
3   libnss3.dylib                 	0x0684173c PR_WaitCondVar + 284
4   XUL                           	0x06f09ab4 mozilla::CondVar::Wait(unsigned int) + 52 (CondVar.h:78)
5   XUL                           	0x06f09d04 mozilla::Monitor::Wait(unsigned int) + 36 (Monitor.h:39)
6   XUL                           	0x06f4cd08 TimerThread::Run() + 1352 (TimerThread.cpp:542)
7   XUL                           	0x06f536e4 nsThread::ProcessNextEvent(bool, bool*) + 1028 (nsThread.cpp:1140)
8   XUL                           	0x06fcec64 NS_ProcessNextEvent(nsIThread*, bool) + 100
9   XUL                           	0x07743234 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) + 692 (MessagePump.cpp:337)
10  XUL                           	0x076d2740 MessageLoop::RunInternal() + 64 (message_loop.cc:228)
11  XUL                           	0x076d26d4 MessageLoop::RunHandler() + 20 (message_loop.cc:221)
12  XUL                           	0x076d2684 MessageLoop::Run() + 36 (message_loop.cc:201)
13  XUL                           	0x06f51130 nsThread::ThreadFunc(void*) + 432 (nsThread.cpp:458)
14  libnss3.dylib                 	0x068431c8 _pt_root + 424
15  libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 16:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x06f09ab4 mozilla::CondVar::Wait(unsigned int) + 52 (CondVar.h:78)
3   XUL                           	0x06f09d04 mozilla::Monitor::Wait(unsigned int) + 36 (Monitor.h:39)
4   XUL                           	0x06f09e24 mozilla::MonitorAutoLock::Wait(unsigned int) + 36 (Monitor.h:87)
5   XUL                           	0x074b9a40 mozilla::net::CacheIOThread::ThreadFunc() + 928 (CacheIOThread.cpp:469)
6   XUL                           	0x074b9668 mozilla::net::CacheIOThread::ThreadFunc(void*) + 104 (CacheIOThread.cpp:398)
7   libnss3.dylib                 	0x068431c8 _pt_root + 424
8   libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 17:
0   libSystem.B.dylib             	0x0043e9a4 __workq_ops + 12

Thread 18:
0   libSystem.B.dylib             	0x003c9e0c __semwait_signal + 8
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   libnss3.dylib                 	0x068411a4 pt_TimedWait + 260
3   libnss3.dylib                 	0x0684173c PR_WaitCondVar + 284
4   XUL                           	0x06f09ab4 mozilla::CondVar::Wait(unsigned int) + 52 (CondVar.h:78)
5   XUL                           	0x06f7d184 nsEventQueue::Wait(unsigned int) + 36 (nsEventQueue.h:113)
6   XUL                           	0x06f7a948 nsThreadPool::Run() + 936 (nsThreadPool.cpp:216)
7   XUL                           	0x06f536e4 nsThread::ProcessNextEvent(bool, bool*) + 1028 (nsThread.cpp:1140)
8   XUL                           	0x06fcec64 NS_ProcessNextEvent(nsIThread*, bool) + 100
9   XUL                           	0x07743234 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) + 692 (MessagePump.cpp:337)
10  XUL                           	0x076d2740 MessageLoop::RunInternal() + 64 (message_loop.cc:228)
11  XUL                           	0x076d26d4 MessageLoop::RunHandler() + 20 (message_loop.cc:221)
12  XUL                           	0x076d2684 MessageLoop::Run() + 36 (message_loop.cc:201)
13  XUL                           	0x06f51130 nsThread::ThreadFunc(void*) + 432 (nsThread.cpp:458)
14  libnss3.dylib                 	0x068431c8 _pt_root + 424
15  libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 19:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x06f09ab4 mozilla::CondVar::Wait(unsigned int) + 52 (CondVar.h:78)
3   XUL                           	0x06f4e210 nsEventQueue::GetEvent(bool, nsIRunnable**, mozilla::BaseAutoLock<mozilla::Mutex>&) + 112 (nsEventQueue.cpp:56)
4   XUL                           	0x06f52268 nsThread::nsChainedEventQueue::GetEvent(bool, nsIRunnable**, mozilla::BaseAutoLock<mozilla::Mutex>&) + 328 (nsThread.cpp:713)
5   XUL                           	0x06f532a4 nsThread::GetEvent(bool, nsIRunnable**, mozilla::BaseAutoLock<mozilla::Mutex>&) + 196 (nsThread.cpp:1071)
6   XUL                           	0x06f53644 nsThread::ProcessNextEvent(bool, bool*) + 868 (nsThread.cpp:1130)
7   XUL                           	0x06fcec64 NS_ProcessNextEvent(nsIThread*, bool) + 100
8   XUL                           	0x077433c8 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) + 1096 (MessagePump.cpp:367)
9   XUL                           	0x076d2740 MessageLoop::RunInternal() + 64 (message_loop.cc:228)
10  XUL                           	0x076d26d4 MessageLoop::RunHandler() + 20 (message_loop.cc:221)
11  XUL                           	0x076d2684 MessageLoop::Run() + 36 (message_loop.cc:201)
12  XUL                           	0x06f51130 nsThread::ThreadFunc(void*) + 432 (nsThread.cpp:458)
13  libnss3.dylib                 	0x068431c8 _pt_root + 424
14  libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 20:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   libSystem.B.dylib             	0x004073b0 _pthread_cond_wait + 1524
2   XUL                           	0x0a53e9bc mozilla::dom::workers::WorkerPrivate::WaitForWorkerEvents(unsigned int) + 60 (WorkerPrivate.cpp:5260)
3   XUL                           	0x0a53d448 mozilla::dom::workers::WorkerPrivate::DoRunLoop(JSContext*) + 296 (WorkerPrivate.cpp:4796)
4   XUL                           	0x0a4a07e0 (anonymous namespace)::WorkerThreadPrimaryRunnable::Run() + 512 (RuntimeService.cpp:2814)
5   XUL                           	0x06f536e4 nsThread::ProcessNextEvent(bool, bool*) + 1028 (nsThread.cpp:1140)
6   XUL                           	0x06fcec64 NS_ProcessNextEvent(nsIThread*, bool) + 100
7   XUL                           	0x07743234 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) + 692 (MessagePump.cpp:337)
8   XUL                           	0x076d2740 MessageLoop::RunInternal() + 64 (message_loop.cc:228)
9   XUL                           	0x076d26d4 MessageLoop::RunHandler() + 20 (message_loop.cc:221)
10  XUL                           	0x076d2684 MessageLoop::Run() + 36 (message_loop.cc:201)
11  XUL                           	0x06f51130 nsThread::ThreadFunc(void*) + 432 (nsThread.cpp:458)
12  libnss3.dylib                 	0x068431c8 _pt_root + 424
13  libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 21:
0   libSystem.B.dylib             	0x003c9e10 __semwait_signal + 12
1   XUL                           	0x076d0784 ConditionVariable::Wait() + 36 (condition_variable_posix.cc:50)
2   XUL                           	0x076f78c8 base::WaitableEvent::TimedWait(base::TimeDelta const&) + 840 (waitable_event_posix.cc:196)
3   XUL                           	0x076f7930 base::WaitableEvent::Wait() + 48 (waitable_event_posix.cc:202)
4   XUL                           	0x076d3ec0 base::MessagePumpDefault::Run(base::MessagePump::Delegate*) + 576 (message_pump_default.cc:61)
5   XUL                           	0x076d2740 MessageLoop::RunInternal() + 64 (message_loop.cc:228)
6   XUL                           	0x076d26d4 MessageLoop::RunHandler() + 20 (message_loop.cc:221)
7   XUL                           	0x076d2684 MessageLoop::Run() + 36 (message_loop.cc:201)
8   XUL                           	0x076f2928 base::Thread::ThreadMain() + 296 (thread.cc:179)
9   XUL                           	0x076d71b0 __ZL10ThreadFuncPv + 48
10  libSystem.B.dylib             	0x00406060 _pthread_start + 320

Thread 0 crashed with PPC Thread State 32:
  srr0: 0x084aabb0  srr1: 0x0000d930   dar: 0x4172b004 dsisr: 0x40000000
    r0: 0x084aab90    r1: 0xbfffbef0    r2: 0x4172b004    r3: 0x408e06c8
    r4: 0x00000000    r5: 0x033ab440    r6: 0x0000023c    r7: 0x00000001
    r8: 0x1936bab8    r9: 0x408e06c8   r10: 0x1bf03fe0   r11: 0x04391918
   r12: 0x003cddb8   r13: 0x00773664   r14: 0x10004004   r15: 0x7fffffff
   r16: 0x00000001   r17: 0x00780650   r18: 0x0078064e   r19: 0xbfffd14c
   r20: 0x005928e0   r21: 0x0073081c   r22: 0x007801b8   r23: 0x00775a94
   r24: 0x05f09240   r25: 0x05f09248   r26: 0x05f09148   r27: 0x05f09140
   r28: 0x05f09148   r29: 0x1fe8f0b0   r30: 0x1f9e4950   r31: 0x4012e7c0
    cr: 0x84222448   xer: 0x20000000    lr: 0x084aab90   ctr: 0x003cddb8
vrsave: 0x00000000

Binary Images:
    0x1000 -     0x5feb +whitestar-orig ??? (???) <998b46846c82a86a70db120caabeffa4> /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/dist/Browser.app/Contents/MacOS/whitestar-orig
    0xc000 -     0xcfff  com.apple.Cocoa 6.6 (???) <3d310c77126add0d1a36ed96b5790648> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
   0x10000 -    0x12fff  com.apple.ExceptionHandling 1.5 (10) <6bfa09d393852235d625ed2b8c83fcb1> /System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling
   0x18000 -    0x1dff7 +libgcc_s.1.1.dylib ??? (???) <e9df52164a9f3356bf03e9a2f259d499> /opt/local/lib/libgcc/libgcc_s.1.1.dylib
   0x20000 -    0x20fff +libgcc_s.1.dylib ??? (???) <52f8e6b93cfbb9fa40f44e2651069377> /opt/local/lib/libgcc/libgcc_s.1.dylib
   0x23000 -    0x25fff +libatomic.1.dylib ??? (???) <b0eb6f0240cac4fa47b52b97f0382169> /opt/local/lib/libgcc/libatomic.1.dylib
   0x29000 -    0x2afff  com.apple.audio.units.AudioUnit 1.6 (1.6) <686082ea0ec42b7f009e99a571ceec81> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
   0x47000 -    0x76fec +libmozglue.dylib ??? (???) <8a3d4119e1e31f8375b8c8808dd4cbc6> /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/dist/Browser.app/Contents/MacOS/libmozglue.dylib
   0x8e000 -    0x93ff6  libmathCommon.A.dylib ??? (???) <e166c8e59a80a82b4504b1dd43d1f50a> /usr/lib/system/libmathCommon.A.dylib
   0x97000 -    0x9cfff +libgcc_ehs.1.1.dylib ??? (???) <09caa332743feca0988e493f2fb3c503> /opt/local/lib/libgcc/libgcc_ehs.1.1.dylib
   0x9f000 -    0xa0ff8  com.apple.ApplicationServices 36 (36) <8d5530987cce48c3375a350c7f134b9c> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
   0xb6000 -    0xc1fff  com.apple.speech.recognition.framework 3.8.2 (3.8.2) <42de060582f36d5185c23e60beb8dab8> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
   0xcb000 -    0xcbfff  com.apple.Accelerate 1.4.2 (Accelerate 1.4.2) <e8c929e9ed651c210e5238b66b947e6e> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
   0xd0000 -    0xdefff  libz.1.dylib ??? (???) <c296d00fd65aa7271f3d5592c25c0f96> /usr/lib/libz.1.dylib
   0xe3000 -    0xe4ffa  liblangid.dylib ??? (???) <01ec0f0bdf13f73d8e0334a2e39e75b4> /usr/lib/liblangid.dylib
   0xe8000 -    0xeafff  libRadiance.dylib ??? (???) <8c97d9ae80dd2661573bb62db798e710> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
   0xf6000 -    0xffffc  libkxld.dylib ??? (???) <725cd6e644549962b0110493f4bb7c08> /usr/lib/system/libkxld.dylib
  0x114000 -   0x116ffd  IOSurface ??? (???) <5433ef600fe03d1fce7564db343d71a7> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
  0x123000 -   0x12cfff  com.apple.DiskArbitration 2.2.1 (2.2.1) <daa422fc5a934366c8f0a12204b46cb1> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
  0x14c000 -   0x150ffc  libGIF.dylib ??? (???) <ebdc74ca8b923dc8281d8644db5bf855> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
  0x1e1000 -   0x337ff7 +libstdc++.6.dylib ??? (???) <e1e245b4b3ffb0ce8df288fcaae5b6e2> /opt/local/lib/libgcc/libstdc++.6.dylib
  0x3c2000 -   0x58cfe7  libSystem.B.dylib ??? (???) <420b38fe0fa0944f6f5bc4840bf29a4e> /usr/lib/libSystem.B.dylib
  0x614000 -   0x76cff7  com.apple.CoreFoundation 6.6 (511.1) <b82d52070a5949f92c5001e06d67044b> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
  0x876000 -   0x97bfff +libiconv.2.dylib ??? (???) <71dfab8f77eb71baebdb38550a0ed408> /opt/local/lib/libiconv.2.dylib
  0x98a000 -   0x9bdff1  libauto.dylib ??? (???) <2848423526fb9c0f381c6ceacc4f2c27> /usr/lib/libauto.dylib
  0x9c9000 -   0x9c9ffa  com.apple.CoreServices 41 (41) <97bf3903384c706ba0f7d19577f0ef8c> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
  0x9df000 -   0x9e1ff4  libCoreVMClient.dylib ??? (???) <b2ea0d8b9bf3ec7a35c64bb23091fb71> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
  0xd35000 -  0x152bffc  com.apple.AppKit 6.6 (988.3) <41788f85dd3bb1a0c36efa11aea7d01a> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
 0x1a6a000 -  0x1b59ffb  com.apple.CoreData 100.1 (205) <6712b8051aee2ff6ba2cf2cf025a7fab> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
 0x1bd6000 -  0x1d0affb  com.apple.audio.toolbox.AudioToolbox 1.6 (1.6) <838258abe5efe516c46f29eaefb99b79> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
 0x1d71000 -  0x1e24fff  com.apple.DesktopServices 1.5.0 (1.5.0) <8fda370f06c5c6ddb4e054ccf5ccb815> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
 0x1e82000 -  0x20dafff  com.apple.Foundation 6.6 (711.1) <42ee053ddba592040925af9eb9542462> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
 0x2224000 -  0x2569fe3  com.apple.HIToolbox 1.6.0 (???) <1a4693b0eff8ed8d6fe18c37f5440f61> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
 0x26d4000 -  0x272aff3  com.apple.framework.IOKit 1.5.1 (???) <21f9b751b7578a33306804af2c6ded8d> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
 0x2743000 -  0x2a31ff3  com.apple.QuartzCore 1.6.0 (184.0) <61638f8b16dace924c2738e8d4025e49> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
 0x2b19000 -  0x2d47ff7  com.apple.security 6.0 (34772) <df4f0710dfee6e04e7fdba557064977b> /System/Library/Frameworks/Security.framework/Versions/A/Security
 0x2e5e000 -  0x2fe7fff  libicucore.A.dylib ??? (???) <28f339176d9e26b663f19c1cad91784e> /usr/lib/libicucore.A.dylib
 0x3037000 -  0x3152fff  libxml2.2.dylib ??? (???) <2bdb2ca8d4aabba550ba9f2111ebf46a> /usr/lib/libxml2.2.dylib
 0x3175000 -  0x31a9ffb  com.apple.coreui 0.2 (89) <be964ae9fad2620345b04aec50268e6e> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
 0x31c8000 -  0x323dfff  com.apple.audio.CoreAudio 3.2.0 (3.2) <8476a77d790570f688f95d47f0d77fb7> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
 0x327a000 -  0x32fbfe7  libobjc.A.dylib ??? (???) <bb09ce82013fa9c4a4010c58fe6c1e10> /usr/lib/libobjc.A.dylib
 0x330d000 -  0x33a8fff  com.apple.ApplicationServices.ATS 4.0 (???) <4210dabffcc1cafdf05b6a22996a4eb6> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
 0x33cf000 -  0x34a3ff7  com.apple.ColorSync 4.6.0 (4.6.0) <c4746bb1c5e21b1ff1ee9e23150dae91> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
 0x34e2000 -  0x3b49ff7  com.apple.CoreGraphics 1.507.2 (???) <dc83caa82d24f470958a99ca6e198a2f> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
 0x3c10000 -  0x3c73fff  com.apple.CoreText 3.0.0 (???) <367767da30e7fda6ac4302fc54116f29> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText
 0x3cac000 -  0x3d05fff  com.apple.HIServices 1.7.0 (???) <4e20ca5a0f021908e274610eab85af23> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
 0x3d31000 -  0x3edcffb  com.apple.ImageIO.framework 3.0.0 (3.0.0) <840a13dc20c1c1a1ed50edef6d706239> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
 0x3f49000 -  0x3f5cfff  com.apple.LangAnalysis 1.6.5 (1.6.5) <e7713c1bde76548000a0a0e7b9f27324> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
 0x3f69000 -  0x4019ffb  com.apple.QD 3.18 (???) <f6b3db0d330e0268a24dc5e3fdb820a5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
 0x4048000 -  0x405bffb  com.apple.speech.synthesis.framework 3.10.1 (3.10.1) <67907b42aecf8e5cef273ce5085f19b5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
 0x406a000 -  0x4390ff7  com.apple.CoreServices.CarbonCore 818 (818) <3e631022aef7f9d15373e1f56e74ff00> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
 0x4419000 -  0x44d9ffb  com.apple.CFNetwork 417.1 (417.1) <911e0fa87591b77e8bb8ec4759941216> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
 0x4541000 -  0x4581fff  com.apple.Metadata 10.6.0 (429.1) <d8b50a8ca605800f8f36caf448daed42> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
 0x459a000 -  0x4672fff  com.apple.CoreServices.OSServices 310 (310) <633ea4081155a516c80bf948f004d235> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
 0x46dd000 -  0x475affb  com.apple.SearchKit 1.3.0 (1.3.0) <4c7ffa79c1cd48d28eb165768fbfc2f4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
 0x4799000 -  0x47d1fff  com.apple.AE 464 (464) <492b7cdb81e64fca5af300b0c231ebec> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
 0x47e9000 -  0x4880ff7  com.apple.LaunchServices 318.1 (318.1) <5ee43f629f636d1863e73dc312c736c2> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
 0x48c6000 -  0x48e9fff  com.apple.DictionaryServices 1.0.0 (1.0.0) <f2f1f85469f3036ec9890bfa888edbe2> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
 0x48ff000 -  0x4911fff  libbsm.0.dylib ??? (???) <c43c47af4211639e8828d3e8ff93a019> /usr/lib/libbsm.0.dylib
 0x4917000 -  0x4924ffe  NetFS ??? (???) <5125b2c825637b243afa1ea942ba8220> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
 0x492b000 -  0x49dcff7  libsqlite3.0.dylib ??? (???) <cc6135a5433e43988bf825e149e47483> /usr/lib/libsqlite3.0.dylib
 0x49e8000 -  0x4a23fff  com.apple.SystemConfiguration 1.10 (1.10) <2daf422a1a7ca90ba32720000e56b3aa> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
 0x4a3f000 -  0x4a6bfff  libxslt.1.dylib ??? (???) <da4552da93bf856897f6b399bb10806d> /usr/lib/libxslt.1.dylib
 0x4a74000 -  0x4aabfff  libFontParser.dylib ??? (???) <e83c633b4e6ac7de6acfa5edbe925f7a> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
 0x4ad9000 -  0x4bbcff3  libcrypto.0.9.8.dylib ??? (???) <90068ab1dc24a941bdd01726024c515d> /usr/lib/libcrypto.0.9.8.dylib
 0x4c0d000 -  0x4c2cfff  com.apple.vecLib 3.4.2 (vecLib 3.4.2) <9e27768a4224789f73942ddb2e03e729> /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib
 0x4c89000 -  0x4da9ffa  com.apple.vImage 4.0 (4.0) <40c9ff1a236e54afc0af0dbe01d59ae0> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
 0x4db8000 -  0x4dd7fff  com.apple.Accelerate.vecLib 3.4.2 (vecLib 3.4.2) <c56e0d707296e54bceac01b6944e99e3> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
 0x4e34000 -  0x4eaefff  libvMisc.dylib ??? (???) <2607b58a270aca106281054e078194d1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
 0x4eb8000 -  0x4f55fe3  libvDSP.dylib ??? (???) <18d61ac588914626b88c2c2babb2ac25> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
 0x4f6f000 -  0x55dcff7  libBLAS.dylib ??? (???) <b09754bb15f771807655be04f5200efd> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
 0x561a000 -  0x59b2ff7  libLAPACK.dylib ??? (???) <7f1ccd1f986607cb24ada410c3548482> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
 0x5b2b000 -  0x5b6fff3  libTIFF.dylib ??? (???) <7b0f8b579d3fd66175f0e695370c2232> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
 0x5b7a000 -  0x5b95fff  libPng.dylib ??? (???) <ce17de27142c8af8406c282b45de241a> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
 0x5b9c000 -  0x5bbeff2  libJPEG.dylib ??? (???) <df09b8c643d8325deae52adf5818b338> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
 0x5bc5000 -  0x5bf3fff  libcups.2.dylib ??? (???) <dfcb272c0281e5d2ec0f89f1f75f6d88> /usr/lib/libcups.2.dylib
 0x5bfe000 -  0x5c1efff  libresolv.9.dylib ??? (???) <2b57f734cfd1eb7ebf2eb9a4bbbc5a23> /usr/lib/libresolv.9.dylib
 0x5c27000 -  0x5c33ffb  com.apple.audio.SoundManager 3.9.3 (3.9.3) <3c277575e7182f3c3130f2f634eb9920> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound
 0x5c3b000 -  0x5c54fff  com.apple.CoreVideo 1.5.0 (18.0) <5cf2b5140975287f2ec3a7feaf8683b0> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
 0x5c68000 -  0x5c77ffb  com.apple.opengl 1.6.2 (1.6.2) <7057304e586007ad73491c1f466cf20c> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
 0x5c7e000 -  0x5cc3ffd  libGLImage.dylib ??? (???) <9d4b12b3ed2eaae2c34569be29e4b6d7> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
 0x5cca000 -  0x5d20ff7  libGLU.dylib ??? (???) <0d58cf5be12c0800774385b0dab6061a> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
 0x5d34000 -  0x5d5cffb  libGL.dylib ??? (???) <62c15417340866d11848068acfbceba9> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
 0x5d6b000 -  0x5e89fff  libGLProgrammability.dylib ??? (???) <9773d0426f2831c71a8baafed455acf6> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
 0x5eda000 -  0x5ee3fe1 +liblgpllibs.dylib ??? (???) <51294c97fa0fde8a3b2462a50812e0f0> /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/dist/Browser.app/Contents/MacOS/liblgpllibs.dylib
 0x5ef0000 -  0x5ef6ff3 +libffi.8.dylib ??? (???) <4ca6606ae05c42d9e7b171cb771ee34a> /opt/local/lib/libffi.8.dylib
 0x5ef9000 -  0x5ef9fff  com.apple.Carbon 150 (150) <3b7010e4c30d70a36820a71e4b69d5ea> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
 0x6800000 -  0x69e6fe4 +libnss3.dylib ??? (???) <69300c763df2f5cacb59ac5629f48dad> /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/dist/Browser.app/Contents/MacOS/libnss3.dylib
 0x6acc000 -  0x6c56fe5 +libmozsqlite3.dylib ??? (???) <3292ad8762947636f3c95db4d1477192> /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/dist/Browser.app/Contents/MacOS/libmozsqlite3.dylib
 0x6cbf000 -  0x6d18fe7 +libhunspell.dylib ??? (???) <4f504306575fb45c5c57b38953a0a2cc> /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/dist/Browser.app/Contents/MacOS/libhunspell.dylib
 0x6d66000 -  0xd52c371 +XUL ??? (???) <d41d8cd98f00b204e9800998ecf8427e> /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/dist/Browser.app/Contents/MacOS/XUL
0x15e2b000 - 0x15fd8ffb  com.apple.AddressBook.framework 5.0 (818) <0880509f6dc470f5f16ede2435d56695> /System/Library/Frameworks/AddressBook.framework/Versions/A/AddressBook
0x160c7000 - 0x160ceffb  com.apple.CommonPanels 1.2.4 (90) <247a78c9697bb0952e13d93cdf8075fd> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
0x160d7000 - 0x160dafff  com.apple.help 1.3 (38) <51844a2a550a3ca237eba9f71fcea97a> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
0x160df000 - 0x16145fff  com.apple.htmlrendering 72 (1.1.4) <19253ea53b000a20db907e85a7e828c1> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering
0x16172000 - 0x16189ffb  com.apple.ImageCapture 6.0 (6.0) <edce933d8c785d8ee3e95991b566cce4> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
0x161a3000 - 0x16256fff  com.apple.ink.framework 102.0.0 (94) <3e33ec5816e209e893a1733af95da58a> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
0x1627e000 - 0x162c3ffb  com.apple.NavigationServices 3.5.1 (178) <24c5c5db4d59f34d4f49bbd1bbcd5810> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/NavigationServices.framework/Versions/A/NavigationServices
0x162ed000 - 0x16308fff  com.apple.openscripting 1.3 (???) <c89980d6aa74f76f7ed65f021827d373> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
0x16318000 - 0x1631bfff  com.apple.securityhi 4.0 (33640) <b90db4686164760a3ec642135e38447b> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
0x16321000 - 0x1633dfff  com.apple.DirectoryService.Framework 3.6 (547.1) <e1f912381df39636ee08a9d70e411226> /System/Library/Frameworks/DirectoryService.framework/Versions/A/DirectoryService
0x16347000 - 0x16381ffb  com.apple.LDAPFramework 2.0 (120.1) <8b09e70d25b44b6f46dea23f4c12e9c8> /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
0x1638b000 - 0x1639affc  com.apple.DSObjCWrappers.Framework 1.2.1 (1.2.1) <d01d58281795201550a2f87a6d9418bc> /System/Library/PrivateFrameworks/DSObjCWrappers.framework/Versions/A/DSObjCWrappers
0x163a6000 - 0x163abffb  com.apple.backup.framework 1.1 (1.0) <3aa5e506e600f75c153e689fe0a3b4e4> /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
0x163b4000 - 0x163ecffb  com.apple.securityinterface 4.0 (35186) <fca74497829c8f67409368f1d688bf3f> /System/Library/Frameworks/SecurityInterface.framework/Versions/A/SecurityInterface
0x16416000 - 0x1641bfff  com.apple.OpenDirectory 10.6 (10.6) <24d67ad22ae3c74107abe5c3871a4682> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
0x16424000 - 0x16435fff  libsasl2.2.dylib ??? (???) <be62788ec3ee17ad4c81ef4f0e830ce9> /usr/lib/libsasl2.2.dylib
0x1643b000 - 0x1646fffb  libssl.0.9.8.dylib ??? (???) <2affc28d4873aec905cfc0202ffbc20a> /usr/lib/libssl.0.9.8.dylib
0x16481000 - 0x16500ff7  com.apple.securityfoundation 4.0 (35187) <92c71f964ad375d4316bbb28eee67c3d> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
0x16540000 - 0x16559fff  com.apple.CFOpenDirectory 10.6 (10.6) <0e21135c584c94520f15738357ca5ff2> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
0x16569000 - 0x165b2fff  com.apple.DirectoryService.PasswordServerFramework 3.1 (3.1) <b42c45cd806b2a997a45be5648fe462c> /System/Library/PrivateFrameworks/PasswordServer.framework/Versions/A/PasswordServer
0x165cd000 - 0x165ceffc  dns.so ??? (???) <d61372b816f011ea19a6b524c61f14a7> /usr/lib/info/dns.so
0x17376000 - 0x17386ffc +libbrowsercomps.dylib ??? (???) <70fbe9a7098e361feebfc35929655415> /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_white-star/white-star/work/White-Star-c293f6082e0b39a55cd66784a4aa4aea7de0bcac/obj-powerpc-apple-darwin/dist/Browser.app/Contents/Resources/browser/components/libbrowsercomps.dylib
0x173a3000 - 0x173b0fff  libCSync.A.dylib ??? (???) <db4005ec21d7c938ca16718df2083ecb> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCSync.A.dylib
0x17422000 - 0x1742afff  libCGATS.A.dylib ??? (???) <36c52775fc81014246e155e4d5d8a092> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGATS.A.dylib
0x19387000 - 0x193b9fff  libTrueTypeScaler.dylib ??? (???) <d574414767e9ce7524029fb1ce9091c3> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libTrueTypeScaler.dylib
0x1e200000 - 0x1e3e3fff  libType1Scaler.dylib ??? (???) <96283c19a7166c699a257fc8365b0045> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libType1Scaler.dylib
0x20000000 - 0x2009efff  edu.mit.Kerberos 6.5.3 (6.5.3) <af8fd279b2ec6f91e99e82352f2541c9> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
0x64b00000 - 0x64b07fff  com.apple.print.framework.Print 6.0 (230) <f116d72ba9b2107cf79942409f8863d9> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
0x8fe00000 - 0x8fe31143  dyld 113.0 (???) <ee555e655e1cf66cac80728801add419> /usr/lib/dyld
0xfa100000 - 0xfa189ffb  com.apple.print.framework.PrintCore 6.0 (276) <049c93926212fa9408e9e56186970e4b> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
0xffff8000 - 0xffff9703  libSystem.B.dylib ??? (???) /usr/lib/libSystem.B.dylib

(P. S. Just in case, it says whitestar-orig in the log, that is because I tried to use a wrapper alike to what legacy-support does to isolate a binary from a wrong libstdc++, but here it does not seem to change anything.)

@dbsoft
Copy link
Owner

dbsoft commented Jan 22, 2024

If I can get the debugger you referenced working, I will be able to get some serious work done on this soon.

@barracuda156
Copy link
Author

@dbsoft I think the current version of gdb-apple works on 10.5.8, but just in case, a previous one should be good either: macports/macports-ports@c835964 (I still use that one on 10.6, since it lacked some framework which the latest version wanted and I had no time to deal with that).

@dbsoft
Copy link
Owner

dbsoft commented Jan 23, 2024

gdb-apple failed to build....

:info:build ./macosx/macosx-nat-dyld.c:2069: error: ▒@XMH_KEXT_BUNDLE▒@Y undeclared (first use in this function)
:info:build ./macosx/macosx-nat-dyld.c:2069: error: (Each undeclared identifier is reported only once
:info:build ./macosx/macosx-nat-dyld.c:2069: error: for each function it appears in.)

Will have to look at it tomorrow.

Edit: Well I just commented out all references to MH_KEXT_BUNDLE in the 3 switches... then it successfully compiled:

GNU gdb 6.3.50.20050815-cvs (Tue Jan 23 02:58:48 UTC 2024)
Copyright 2004 Free Software Foundation, Inc.

Attempting to run the binary gives this:

Unable to find Mach task port for process-id 73273: (os/kern) failure (0x5).

Edit 2: Scratch that I think I got it working, while I got a privilege escalation dialog, it seems to have failed to elevate it... I did "sudo gdb-apple" instead and it seems to be working.

@barracuda156
Copy link
Author

@evanmiller Evan, could you please take a look? We really need this working now.

@wicknix
Copy link

wicknix commented Jan 23, 2024

do we know this works with 10.5 SDK?

TFF (and InterWebPPC) will not build with the 10.5 SDK. It can be built on 10.5, but it must use the 10.4 SDK.

But that is not the config to be used on G4 and G5.

It will work fine. It just builds a “generic” binary that will run on G3/G4/G5 machines. I’ve built all 3 versions multiple times, and to be honest the G3 version feels more responsive than the “optimized” G4 and G5 builds. The only reason i mentioned it was to see if you’d have better luck with it as it disables altivec and any 64bit code. If you can get the generic G3 version running it might help narrow down any G4/G5 specific issues if there indeed happens to be any.

@dbsoft
Copy link
Owner

dbsoft commented Jan 23, 2024

Well gdb-apple is kind of hobbled, it errors out with any commands that control the program: next, step, cont .... however it is giving me enough information to get an idea of what is going on so... probably will be able to make some progress.

@barracuda156
Copy link
Author

@dbsoft Which version did you install? While I have current one installed on 10.5 and 10.6.8, I think I never used it; on 10a190 I have the previous version which I do use, and it seems pretty functional. Having said that, I am a very beginner with GDB and only did some basic stuff.

@barracuda156
Copy link
Author

@wicknix What I meant is whether the specific portion of code is compatible with 10.5 SDK, because for us here it matters, and if TFF hacks are specific to either Tiger or archaic GCC, they must be dropped.

My suggestion is to restrict testing and work to 10.5 mostly (and I can do 10.6 ppc part on my end to supplement that), to the modern GCC (drop 4.8 and even 7.5.0) and to G4/G5. If anything, this minimizes the work a bit, and we got limited resources. It will likely result in a better outcome too, since bugs have been fixed in new GCCs and 10.5 SDK as compared to 10.4.

@barracuda156
Copy link
Author

@dbsoft By the way, there was a discussion about ppc64, may be of interest for us if we consider supporting it: classilla/tenfourfox#655

@dbsoft
Copy link
Owner

dbsoft commented Jan 23, 2024

Okay, so the failure is because the MacSurface library requires and will abort if it isn't able to load a few libraries. TenFourFox uses the old "CoreGraphics" back-end... (although the name is a bit of a misnomer, since it isn't the "CoreGraphics.framework" that the MacSurface library uses) So to get things working again I'll probably have to resurrect the old backend.

https://bugzilla.mozilla.org/show_bug.cgi?id=1258751

Also need to put this code back in conditionally so popups/panels still work:

https://bugzilla.mozilla.org/show_bug.cgi?id=1274720

This was removed right before the UXP fork point, so it should be trivial to readd support.

@dbsoft By the way, there was a discussion about ppc64, may be of interest for us if we consider supporting it:

Doesn't seem particularly helpful, I really don't think 64bit mode for this is going to be in my scope. If you want to separately work on it that is great.... I'd love to have. a 64bit version... but too much work for too little reward for me.

@dbsoft Which version did you install? While I have current one installed on 10.5 and 10.6.8,

Whatever MacPorts tried to install, I pasted the version banner it posts when starting up in that earlier comment.

@barracuda156
Copy link
Author

This was removed right before the UXP fork point, so it should be trivial to readd support.

Great that you tracked the problem. Will rebuild once you commit the fix.

I'd love to have. a 64bit version... but too much work for too little reward for me.

This is not in priority list at all. I may try some time, provided we get 32-bit versions actually working first.

Whatever MacPorts tried to install, I pasted the version banner it posts when starting up in that earlier comment.

Ah, it was in edit, so GitHub mobile did not show me it. Got it.
Relating to that, I also run GDB under sudo, seems to be required (I never bothered to investigate though).

@dbsoft
Copy link
Owner

dbsoft commented Jan 24, 2024

Just wanted to let you know that I had a death in the family, and I may not have time to put into this for a few weeks. I had planned on spending my spare time on it this week, but with the death that will be consumed with funeral arrangements. Will post an update here after I get the changes done.

@barracuda156
Copy link
Author

Just wanted to let you know that I had a death in the family, and I may not have time to put into this for a few weeks. I had planned on spending my spare time on it this week, but with the death that will be consumed with funeral arrangements. Will post an update here after I get the changes done.

Sorry for your loss. Will wait until you are able to get back to this.

@dbsoft
Copy link
Owner

dbsoft commented Jan 31, 2024

Created a new branch for the fixes... part 1 removes the structure packing work-around, adds the altivec fix and restores the old 10.5 compatible GFX backend.

https://repo.palemoon.org/dbsoft/UXP/src/branch/macppc-fixes

Getting a null pointer de-reference in the font code which I'll fix in part 2 coming soon.

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
gfxFontGroup::AddFamilyToFontList (this=0x1626eca0, aFamily=0x0) at gfxTextRun.cpp:1675
1675          aFamily->FindAllFontsForStyle(mStyle, fontEntryList, needsBold);

https://gist.github.com/dbsoft/fdeb748d99c5ca0a9286080a87e06c23

Edit: Just an observation, after the changes... I landed at the same font crash you did ( which kind of appears to be overrunning the font directory cache buffer). So it looks kind of like PPC 10.6 has what is needed to run the Skia backend.... but not 10.5, it requires the CoreGraphics backend. I do not have 10.6 PPC installed.. so I can't verify that, but if 10.6 has all the frameworks required for the Skia backend it would explain why yours got to the font crash before mine did.

The question is why would TenFourFox/InterWeb not crash with the same code while this does? The only answer I have is different compilers... I am working on putting better checks in. The TenFourFox code is only using one set of limits while there are two... So I am going to check against both limits.

@barracuda156
Copy link
Author

@dbsoft Awesome, thank you for working on this!

@kngkeeper
Copy link

@dbsoft how is this going? I'm interested in banging my head against it a bit, and will probably try building it tomorrow. Anything I should know?

My boss used to contribute to Mozilla, and knows a ton about the particular problems and solutions of the Solaris SPARC version of Firefox, so I'll definitely consult him as well if I run into anything I think he'd have insight on.

@dbsoft
Copy link
Owner

dbsoft commented Feb 15, 2024

I think I have the font crashes fixed in my local tree but then I hit a crash in the CoreGraphics backend I just restored. I have been spending the week working on getting my relative's estate in order.. and haven't had time to look into the new crash I ran into... won't be able to look into it further until this weekend.

@barracuda156
Copy link
Author

@dbsoft Brian, any update on this?

I am away from my PowerMacs until middle of next week, but once back I am very much interested to follow up with fixing this.

@dbsoft
Copy link
Owner

dbsoft commented Mar 31, 2024

@barracuda156 The estate issues basically have been consuming my time, but I am getting back into things this week. Sorry for the delay.

@barracuda156
Copy link
Author

Sounds good.

I am sorting out the build of gcc13 on Leopard now – right now trying to get ppc64 building (that is broken, as of now).

For ppc it should be working already (on my 10.6 ppc it is), but I will make some technical adjustments.

https://github.com/barracuda156/macports-ports/tree/gcc_move
https://github.com/barracuda156/macports-base-10A190/tree/gcc-powerpc

gcc-powerpc port has some cherry picked patches from upstream on top of a recent snapshot plus the following:

  1. Initial implementation of IEEE module in gfortran (mostly passing tests, but not reference quality and may have bugs).
  2. Experimental support for libc++.

It is usable now via configure.compiler=macports-gcc-powerpc on command line (assuming you use MacPorts environment).
I build it like sudo port -v install gcc-powerpc +G5 +stdlib_flag. It gonna take a while to complete, since it needs:
– gcc10bootstrap
– cmake-bootstrap
– libgcc
– gcc
But it should get the modern toolchain working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants