Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: What are the current available browser options for debian-ppc64?

1 view
Skip to first unread message

DistroHopper39B Business

unread,
Nov 19, 2023, 7:50:05 PM11/19/23
to
SeaLion (https://github.com/wicknix/SeaLion) is the best choice for PowerPC. 

On Sun, Nov 19, 2023 at 7:46 PM Ken Cunningham <ken.cunnin...@gmail.com> wrote:
I am aware of a few projects out there working to try to keep a repackaged TenFourFox going that have *.deb archives available, and I think there are some official channels for a few different browsers inside debian (Firefox, Epiphany).

Does anyone have or know about a browser they use on debian ppc64 they would feel comfortable to recommend?

Does it involve any installation trickery? If so, some short notes on how to get it installed would be appreciated.

Thanks,

Ken


Ken Cunningham

unread,
Nov 19, 2023, 7:50:05 PM11/19/23
to

Ken Cunningham

unread,
Nov 19, 2023, 9:00:05 PM11/19/23
to
Yes, that one works pretty well, better than I expected it would.

Thank you!


To get it to launch, I had to make a symlink, as it’s built against libffi6 but that version is not available any more on any of my apt sources it appears.… 

ie in: 

/usr/lib/powerpc64-linux-gnu

I did this, which is no doubt sinful:

ln -s libffi.so.8 libffi.so.6



Ken

Jeroen Diederen

unread,
Nov 19, 2023, 10:50:04 PM11/19/23
to
Hi Ken,

I have it in the MintPPC64 repo for you if you like. There is also
arcticfox for you.
In /etc/apt/sources.list add the following line:
deb http://u58733p55594.web0093.zxcs-klant.nl/xeno74 ./

Do the following:
wget http://u58733p55594.web0093.zxcs-klant.nl/repo/key/public.gpg.key
gpg --no-default-keyring --keyring ./temp-keyring.gpg --import
public.gpg.key
gpg --keyring ./temp-keyring.gpg --no-default-keyring --export -a >
mintppc.asc
rm temp-keyring.gpg
sudo mv mintppc.asc /etc/apt/keyrings

Regards,
Jeroen

Ken Cunningham schreef op 2023-11-20 08:58:

Riccardo Mottola

unread,
Nov 20, 2023, 3:00:04 AM11/20/23
to
Hi Ken,


Ken Cunningham wrote:
> I am aware of a few projects out there working to try to keep a repackaged TenFourFox going that have *.deb archives available, and I think there are some official channels for a few different browsers inside debian (Firefox, Epiphany).

I don't know what the situation of TFF on Linux is. From what I remember
it had some pretty advanced areas, but when I check its code others were
left behind. It is very well tweaked for big-endian though.

SeaLion is from what I know a pretty straight Firefox port, I don't know
if it has specific PPC fixes, one should ask Matt/wicknix.

Firefox recently compiles and is available again, but did not work for
me or, in the case it did, was excruciatingly slow even drawing its own
interface and had glitches. THe issue is that skia explicitely does not
support BigEndian anymore and was not interested in patches.
Also, there are some graphic things which were broken since Firefox 45
and never fixed on big-endian.
The proposed patch (by Cameron) was not accepted back then. TenFourFox
and ArcticFox incorporate it though.

Contributors are always well accepted :) There are issues to work on. :)


> Does anyone have or know about a browser they use on debian ppc64 they would feel comfortable to recommend?

Of course I use ArcticFox on PPC. Since version 43.0 it works again on PPC.
It is "only" AF though, don't expect Firefox 118 compatibility. No
github or facebook...
But e.g. Wikipedia works well with the new theme and I hope 43.1 will
bring some nice things with.

> Does it involve any installation trickery? If so, some short notes on how to get it installed would be appreciated.

ArcticFox does involve no trickery, neither building nor installing. It
builds with a current GCC and binaries can just be untarred and loaded.
I do not provide deb packages, they were contributed in the past though.

Riccardo

Jeroen Diederen

unread,
Nov 20, 2023, 5:00:04 AM11/20/23
to
Hi Adrian,

Firefox does not work.

Regards,
Jeroen

John Paul Adrian Glaubitz schreef op 2023-11-20 13:01:
> On Sun, 2023-11-19 at 16:46 -0800, Ken Cunningham wrote:
>> Does anyone have or know about a browser they use on debian
>> ppc64 they would feel comfortable to recommend?
>
> Firefox is available and up to date for ppc64.
>
>> https://buildd.debian.org/status/package.php?p=firefox&suite=sid
>
> Did you try to install and run it?
>
> Adrian

John Paul Adrian Glaubitz

unread,
Nov 20, 2023, 5:10:05 AM11/20/23
to
Hello!

> On Nov 20, 2023, at 10:56 AM, Jeroen Diederen <jjhdi...@zonnet.nl> wrote:
>
> Firefox does not work.

Did you try the latest version 119?

If there is a patch which fixes the crash on big-endian targets, we could include it in the Debian package or I could try to get it merged upstream.

Adrian

Ken Cunningham

unread,
Nov 20, 2023, 2:00:05 PM11/20/23
to
The one I have installed is:

firefox/unstable,now 119.0.1-1 ppc64

and it has a segmentation fault when you launch it.

It would be really great if that worked. Perhaps I will skill up and see if I can do something to help fix it. I worked on TenFourFox for a few months with Riccardo and Cameron a few years ago and we made progress there, so I'm slightly familiar with the old code base, at least.

Ken

Jeffrey Walton

unread,
Nov 20, 2023, 3:40:04 PM11/20/23
to
On Mon, Nov 20, 2023 at 1:56 PM Ken Cunningham
<ken.cunnin...@gmail.com> wrote:
>
> On 2023-11-20, at 2:06 AM, John Paul Adrian Glaubitz wrote:
>
> >> On Nov 20, 2023, at 10:56 AM, Jeroen Diederen <jjhdi...@zonnet.nl> wrote:
> >>
> >> Firefox does not work.
> >
> > Did you try the latest version 119?
> >
> > If there is a patch which fixes the crash on big-endian targets, we could include it in the Debian package or I could try to get it merged upstream.
> >
> The one I have installed is:
>
> firefox/unstable,now 119.0.1-1 ppc64
>
> and it has a segmentation fault when you launch it.

Out of curiosity... would that happen to be a G4 or a non-Altivec machine?

Jeff

Ken Cunningham

unread,
Nov 20, 2023, 6:40:04 PM11/20/23
to

On 2023-11-20, at 3:21 PM, John Paul Adrian Glaubitz wrote:

> On Mon, 2023-11-20 at 22:32 +0100, John Paul Adrian Glaubitz wrote:
>> Anyways, this particular crash a known upstream bug in Firefox [2]. I wonder whether
>> it might be fixed by this particular patch [3].
>
> I have rebuild the Firefox package for ppc64 with this patch included:
>
>> https://people.debian.org/~glaubitz/firefox-ppc64/
>
> Could anyone test this and report back, please?
>
> Adrian
>
> --
> .''`. John Paul Adrian Glaubitz
> : :' : Debian Developer
> `. `' Physicist
> `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913

on my system I had another segfault, in libxul.

hopefully others had more luck. sure be nice to get a current browser!

Ken

Ken Cunningham

unread,
Nov 21, 2023, 1:50:04 AM11/21/23
to
A Dual-G5 with 3.5G ram, designator PowerMac7,3

Ken

Ken Cunningham

unread,
Nov 21, 2023, 8:50:04 AM11/21/23
to
To be honest, I did run it under gdb, and ran the backtrace, but the backtrace was mostly uninterpretable without the debug symbols of course.

So somewhere in libxul was all I could offer.

I’ll see if adding the debug symbols narrows it down a bit.

Ken

> On Nov 21, 2023, at 02:13, John Paul Adrian Glaubitz <glau...@physik.fu-berlin.de> wrote:
>
> Hello!
>
>> On Mon, 2023-11-20 at 15:39 -0800, Ken Cunningham wrote:
>> on my system I had another segfault, in libxul.
>
> A more detailed backtrace would be useful. libxul is basically all of
> Firefox, so referring to a crash in libxul is not saying much.
>
> Try installing the debug package from here:
>
>> https://box.fu-berlin.de/s/oLNPG2EoPtyC8tb
>
> and then run firefox from gdb.
>
>> hopefully others had more luck. sure be nice to get a current browser!
>
> It would be nice if more people could step forward and help me resolve these
> issues. Running gdb and testing patches isn't that difficult, for example,
> and would help me a lot in the process in shaping Debian Ports architectures.

Ken Cunningham

unread,
Nov 21, 2023, 11:00:04 AM11/21/23
to
Trying to run firefox under gdb with the debug symbols installed appears to result in an out-of-memory situation on my DualG5 with 3.5GB ram, I’m afraid.

Perhaps someone else has a system with more memory, or set up better than mine, that could help.

Ken

-

$ gdb firefox
GNU gdb (Debian 13.2-1) 13.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "powerpc64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from firefox...
Reading symbols from /usr/lib/debug/.build-id/4b/b6e1779513b3b7402680ba3c0652341bfc3155.debug...
(gdb) run
Starting program: /usr/bin/firefox
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/powerpc64-linux-gnu/libthread_db.so.1".
Killed
-


tail of dmesg:

[ 858.582364] [ 1641] 1000 1641 56530 44030 493568 9100 0 gdb
[ 858.582372] [ 1645] 1000 1645 3750 64 49152 192 0 firefox
[ 858.582379] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/session-2.scope,task=gdb,pid=1641,uid=1000
[ 858.582447] Out of memory: Killed process 1641 (gdb) total-vm:3617920kB, anon-rss:2817920kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:482kB oom_score_adj:0

Ken Cunningham

unread,
Nov 21, 2023, 11:40:05 AM11/21/23
to
I added an 8GB swapfile, and (slowly) got this backtrace:

# cat error.txt
Thread 1 "firefox" received signal SIGSEGV, Segmentation fault.
i32_load8_u (addr=2014643200, mem=<optimized out>) at rlbox.wasm.c:146
146 rlbox.wasm.c: No such file or directory.
(gdb) bt
#0 i32_load8_u (addr=2014643200, mem=<optimized out>) at rlbox.wasm.c:146
#1 w2c_rlbox_streqci
(var_p0=var_p0@entry=262000, var_p1=2014643200, instance=<optimized out>)
at rlbox.wasm.c:774
#2 0x00007fffe9195c48 in w2c_rlbox_getEncodingIndex
(var_p0=<optimized out>, instance=<optimized out>) at rlbox.wasm.c:66243
#3 w2c_rlbox_getEncodingIndex (var_p0=262000, instance=0x7fffd992c000)
at rlbox.wasm.c:690
#4 w2c_rlbox_MOZ_XmlInitEncodingNS_0
(instance=0x7fffd992c000, var_p0=438820, var_p1=438816, var_p2=262000)
at rlbox.wasm.c:2316
#5 0x00007fffe91e305c in w2c_rlbox_initializeEncoding
(instance=instance@entry=0x7fffd992c000, var_p0=var_p0@entry=438672)
at rlbox.wasm.c:48270
#6 0x00007fffe92a77a8 in w2c_rlbox_prologInitProcessor
(instance=0x7fffd992c000, var_p0=438672, var_p1=445856, var_p2=511392, var_p3=262140) at rlbox.wasm.c:45278
#7 0x00007fffe92b82e4 in w2c_rlbox_MOZ_XML_Parse_0
(var_p3=0, var_p2=65536, var_p1=445856, var_p0=438672, instance=0x7fffd992c000) at rlbox.wasm.c:49293
#8 w2c_rlbox_MOZ_XML_Parse
(instance=0x7fffd992c000, var_p0=438672, var_p1=445856, var_p2=65536, var_p3=0) at rlbox.wasm.c:20709
--Type <RET> for more, q to quit, c to continue without paging--
#9 0x00007fffea00fd50 in rlbox::rlbox_wasm2c_sandbox::impl_invoke_with_func_ptr<XML_Status (XML_ParserStruct*, char const*, int, int), XML_Status (unsigned int, unsigned int, int, int), unsigned int, unsigned int, unsigned int, bool>(XML_Status (*)(unsigned int, unsigned int, int, int), unsigned int&&, unsigned int&&, unsigned int&&, bool&&) (func_ptr=<optimized out>, this=0x7fffd992c000)
at ./build-browser/dist/include/mozilla/rlbox/rlbox_wasm2c_sandbox.hpp:763
#10 rlbox::rlbox_sandbox<rlbox::rlbox_wasm2c_sandbox>::INTERNAL_invoke_with_func_ptr<XML_Status (XML_ParserStruct*, char const*, int, int), rlbox::tainted<XML_ParserStruct*, rlbox::rlbox_wasm2c_sandbox>&, rlbox::tainted<char const*, rlbox::rlbox_wasm2c_sandbox>, unsigned long, bool>(char const*, void*, rlbox::tainted<XML_ParserStruct*, rlbox::rlbox_wasm2c_sandbox>&, rlbox::tainted<char const*, rlbox::rlbox_wasm2c_sandbox>&&, unsigned long&&, bool&&) (func_name=<optimized out>, func_ptr=<optimized out>, this=<optimized out>)
at ./build-browser/dist/include/mozilla/rlbox/rlbox_sandbox.hpp:790
#11 nsExpatDriver::ParseChunk(char16_t const*, unsigned int, nsExpatDriver::ChunkOrBufferIsFinal, unsigned int*, unsigned long*)
(this=0x7ffff4856400, aBuffer=<optimized out>, aLength=aLength@entry=32768, aIsFinal=aIsFinal@entry=nsExpatDriver::ChunkOrBufferIsFinal::FinalChunk, aConsumed=0x7fffffffc50c, aLastLineLength=0x7fffffffc510) at ./parser/htmlparser/nsExpatDriver.cpp:1248
#12 0x00007fffea01015c in nsExpatDriver::ChunkAndParseBuffer(char16_t const*, unsigned int, bool, unsigned int*, unsigned int*, unsigned long*)
(this=this@entry=0x7ffff4856400, aBuffer=aBuffer@entry=0x7fffd8f90020 u"<?xml version=\"1.0\"?>\n\n<!-- The \"global.css\" stylesheet is imported first to allow other stylesheets to\n override rules using selectors with the same specificity. This applies to\n both \"conten"..., aLength=aLength@entry=32768, aIsFinal=aIsFinal@entry=false, aPassedToExpat=aPassedToExpat@entry=0x7fffffffc508, aConsumed=aConsumed@entry=0x7fffffffc50c, aLastLineLength=aLastLineLength@entry=0x7fffffffc510) at ./parser/htmlparser/nsExpatDriver.cpp:1204
#13 0x00007fffea0105a0 in nsExpatDriver::ResumeParse(nsScanner&, bool)
(this=0x7ffff4856400, aScanner=..., aIsFinalChunk=aIsFinalChunk@entry=false) at ./parser/htmlparser/nsExpatDriver.cpp:1352
#14 0x00007fffea016e3c in nsParser::ResumeParse(bool, bool, bool)
(this=this@entry=0x7fffd99a2260, allowIteration=allowIteration@entry=true, aIsFinalChunk=aIsFinalChunk@entry=false, aCanInterrupt=aCanInterrupt@entry=true) at ./parser/htmlparser/nsParser.cpp:715
#15 0x00007fffea017d20 in nsParser::OnDataAvailable(nsIRequest*, nsIInputStream*, unsigned long, unsigned int)
(sourceOffset=<optimized out>, aLength=<optimized out>, pIStream=<optimized out>, request=<optimized out>, this=0x7fffd99a2260)
at ./parser/htmlparser/nsParser.cpp:1027
#16 nsParser::OnDataAvailable(nsIRequest*, nsIInputStream*, unsigned long, unsigned int)
(this=0x7fffd99a2260, request=<optimized out>, pIStream=<optimized out>, sourceOffset=<optimized out>, aLength=<optimized out>)
at ./parser/htmlparser/nsParser.cpp:978
#17 0x00007fffe9fd90a8 in .non-virtual thunk to mozilla::parser::PrototypeDocumentParser::OnDataAvailable(nsIRequest*, nsIInputStream*, unsigned long, unsigned int) () at ./parser/prototype/PrototypeDocumentParser.h:42
#18 0x00007fffe9f4bf30 in nsDocumentOpenInfo::OnDataAvailable(nsIRequest*, nsIInputStream*, unsigned long, unsigned int)
--Type <RET> for more, q to quit, c to continue without paging--c
(this=<optimized out>, request=<optimized out>, inStr=<optimized out>, sourceOffset=<optimized out>, count=<optimized out>)
at ./uriloader/base/nsURILoader.cpp:202
#19 0x00007fffe9c18610 in mozilla::net::ParentChannelWrapper::OnDataAvailable(nsIRequest*, nsIInputStream*, unsigned long, unsigned int)
(this=<optimized out>, aRequest=<optimized out>, aInputStream=<optimized out>, aOffset=<optimized out>, aCount=<optimized out>)
at ./netwerk/ipc/ParentChannelWrapper.h:27
#20 0x00007fffe9ab4550 in mozilla::net::ParentChannelListener::OnDataAvailable(nsIRequest*, nsIInputStream*, unsigned long, unsigned int)
(this=0x7fffdfce9d00, aRequest=0x7ffff48b4dc0, aInputStream=0x7ffff73c93e0, aOffset=0, aCount=<optimized out>)
at ./netwerk/protocol/http/ParentChannelListener.cpp:115
#21 0x00007fffe9f4bf30 in nsDocumentOpenInfo::OnDataAvailable(nsIRequest*, nsIInputStream*, unsigned long, unsigned int)
(this=<optimized out>, request=<optimized out>, inStr=<optimized out>, sourceOffset=<optimized out>, count=<optimized out>)
at ./uriloader/base/nsURILoader.cpp:202
#22 0x00007fffe9ed83d4 in nsJARChannel::OnDataAvailable(nsIRequest*, nsIInputStream*, unsigned long, unsigned int)
(this=0x7ffff48b4dc0, req=<optimized out>, stream=0x7ffff73c93e0, offset=0, count=288947) at ./modules/libjar/nsJARChannel.cpp:1312
#23 0x00007fffe958f858 in nsInputStreamPump::OnStateTransfer() (this=this@entry=0x7ffff4852080) at ./netwerk/base/nsInputStreamPump.cpp:584
#24 0x00007fffe958fde8 in nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) (this=0x7ffff4852080, stream=<optimized out>)
at ./netwerk/base/nsInputStreamPump.cpp:411
#25 0x00007fffe9377314 in CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}::operator()() const (__closure=<optimized out>) at ./xpcom/io/nsPipe3.cpp:73
#26 NS_NewCancelableRunnableFunction<CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}>(char const*, CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}&&)::FuncCancelableRunnable::Run() (this=<optimized out>) at ./build-browser/dist/include/nsThreadUtils.h:667
#27 NS_NewCancelableRunnableFunction<CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}>(char const*, CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}&&)::FuncCancelableRunnable::Run() (this=<optimized out>) at ./build-browser/dist/include/nsThreadUtils.h:665
#28 0x00007fffe93d8440 in mozilla::RunnableTask::Run() (this=0x7fffe6925000) at ./xpcom/threads/TaskController.cpp:559
#29 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&)
(this=this@entry=0x7ffff4841a00, aProofOfLock=...) at ./xpcom/threads/TaskController.cpp:886
#30 0x00007fffe93d9144 in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) (this=this@entry=0x7ffff4841a00, aProofOfLock=...) at ./xpcom/threads/TaskController.cpp:709
#31 0x00007fffe93d9614 in mozilla::TaskController::ProcessPendingMTTask(bool) (aMayWait=false, this=0x7ffff4841a00)
at ./xpcom/threads/TaskController.cpp:495
#32 operator() (__closure=<optimized out>) at ./xpcom/threads/TaskController.cpp:218
#33 mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::<lambda()> >::Run(void) (this=<optimized out>)
at ./xpcom/threads/nsThreadUtils.h:548
#34 0x00007fffe93f284c in nsThread::ProcessNextEvent(bool, bool*) (this=0x7ffff48b0300, aMayWait=<optimized out>, aResult=0x7fffffffd1b7)
at ./xpcom/threads/nsThread.cpp:1199
#35 0x00007fffe93f5954 in NS_ProcessNextEvent(nsIThread*, bool) (aThread=<optimized out>, aMayWait=<optimized out>)
at ./xpcom/threads/nsThreadUtils.cpp:480
#36 0x00007fffe9d6736c in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (this=0x7fffe8554700, aDelegate=0x7ffff7381c80)
at ./ipc/glue/MessagePump.cpp:85
#37 0x00007fffe9d070e4 in MessageLoop::RunInternal() (this=<optimized out>) at ./build-browser/dist/include/mozilla/RefPtr.h:319
#38 MessageLoop::RunHandler() (this=<optimized out>) at ./ipc/chromium/src/base/message_loop.cc:363
#39 MessageLoop::Run() (this=<optimized out>) at ./ipc/chromium/src/base/message_loop.cc:345
#40 0x00007fffececdfa8 in nsBaseAppShell::Run() (this=0x7fffe85db780) at ./widget/nsBaseAppShell.cpp:148
#41 0x00007fffee34a918 in nsAppStartup::Run() (this=0x7fffe8584840) at ./build-browser/dist/include/nsCOMPtr.h:747
#42 0x00007fffee491114 in XREMain::XRE_mainRun() (this=this@entry=0x7fffffffd798) at ./toolkit/xre/nsAppRunner.cpp:5683
#43 0x00007fffee491fa8 in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&)
(this=this@entry=0x7fffffffd798, argc=argc@entry=1, argv=argv@entry=0x7fffffffefa8, aConfig=...) at ./toolkit/xre/nsAppRunner.cpp:5884
#44 0x00007fffee4927ec in XRE_main(int, char**, mozilla::BootstrapConfig const&) (argc=1, argv=0x7fffffffefa8, aConfig=...)
at ./toolkit/xre/nsAppRunner.cpp:5940
#45 0x00007fffee4942cc in mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&)
(this=<optimized out>, argc=<optimized out>, argv=<optimized out>, aConfig=<optimized out>) at ./toolkit/xre/Bootstrap.cpp:45
#46 0x00000001000092b0 in do_main(int, char**, char**) (argc=<optimized out>, argv=<optimized out>, envp=envp@entry=0x7fffffffefb8)
at ./browser/app/nsBrowserApp.cpp:227
#47 0x000000010000814c in main(int, char**, char**) (argc=<optimized out>, argv=<optimized out>, envp=0x7fffffffefb8)
at ./browser/app/nsBrowserApp.cpp:445
(gdb)

Johannes Brakensiek

unread,
Nov 21, 2023, 4:20:03 PM11/21/23
to
Hi Adrian,

Am Dienstag, dem 21.11.2023 um 21:20 +0100 schrieb John Paul Adrian
Glaubitz:
>
> Please test this build which include the image decoder big-endian fix
> from VoidPPC:
>
> > https://people.debian.org/~glaubitz/firefox-ppc64/test002/
>
> Adrian
>

thanks for providing the binary. It still segfaults. Could you provide
debug symbols as well, please? I'd send a backtrace.

Johannes

kristo...@tuta.io

unread,
Nov 22, 2023, 4:20:05 AM11/22/23
to
Hi,
I caught this today thru gdb and Firefox 120.0-1 on my dual G5:

Thread 1 "firefox" received signal SIGSEGV, Segmentation fault.
i32_load8_u (addr=2016478208, mem=<optimized out>) at rlbox.wasm.c:146
146 rlbox.wasm.c: No such file or directory.

Regards,
Kris

--
Wysyłano z Tuta, ciesz się bezpiecznymi i wolnymi od reklam wiadomościami e-mail:


21 lis 2023, 23:57 od glau...@physik.fu-berlin.de:
Hi!

I am starting to fear that we're seeing a new bug here on ppc64 for which
there is no patch yet.

FWIW, if we manage to fix Firefox on ppc64, I do actually have some sort of
commit access for Firefox to get patches landed.

Johannes Brakensiek

unread,
Nov 23, 2023, 3:10:04 AM11/23/23
to
Hi,

Am Mittwoch, dem 22.11.2023 um 10:18 +0100 schrieb
kristo...@tuta.io:
> I caught this today thru gdb and Firefox 120.0-1 on my dual G5:
>
> Thread 1 "firefox" received signal SIGSEGV, Segmentation fault.
> i32_load8_u (addr=2016478208, mem=<optimized out>) at
> rlbox.wasm.c:146
> 146 rlbox.wasm.c: No such file or directory.

I did not retest it yet. But if that's still the issue, it's the same I
reported on 23-09-11 to this list for the regular ports package.
Crashdump was attached.

Johannes

Johannes Brakensiek

unread,
Nov 23, 2023, 3:10:04 AM11/23/23
to
Am Donnerstag, dem 23.11.2023 um 09:01 +0100 schrieb Johannes
Brakensiek:
> Crashdump was attached.

Backtrace, to be more precise.

Johannes

kristo...@tuta.io

unread,
Nov 23, 2023, 5:50:04 PM11/23/23
to
Deeper debugging is beyond my skills. I don't know if this helps but the "bt" command gave me this:

(gdb) bt
#0  i32_load8_u (addr=2016478208, mem=<optimized out>) at rlbox.wasm.c:146
#1  w2c_rlbox_streqci (var_p0=var_p0@entry=262000, var_p1=2016478208, instance=<optimized out>) at rlbox.wasm.c:1499
#2  0x00007fffe91969a8 in w2c_rlbox_getEncodingIndex (var_p0=<optimized out>, instance=<optimized out>) at rlbox.wasm.c:66968
#3  w2c_rlbox_getEncodingIndex (var_p0=262000, instance=0x7fffcaf62000) at rlbox.wasm.c:1415
#4  w2c_rlbox_MOZ_XmlInitEncodingNS_0 (instance=0x7fffcaf62000, var_p0=445988, var_p1=445984, var_p2=262000) at rlbox.wasm.c:3041
#5  0x00007fffe91e3d1c in w2c_rlbox_initializeEncoding (instance=instance@entry=0x7fffcaf62000, var_p0=var_p0@entry=445840) at rlbox.wasm.c:48995
#6  0x00007fffe92a8468 in w2c_rlbox_prologInitProcessor (instance=0x7fffcaf62000, var_p0=445840, var_p1=453024, var_p2=518560, var_p3=262140) at rlbox.wasm.c:46003
#7  0x00007fffe92b9144 in w2c_rlbox_MOZ_XML_Parse_0 (var_p3=0, var_p2=65536, var_p1=453024, var_p0=445840, instance=0x7fffcaf62000) at rlbox.wasm.c:50018
#8  w2c_rlbox_MOZ_XML_Parse (instance=0x7fffcaf62000, var_p0=445840, var_p1=453024, var_p2=65536, var_p3=0) at rlbox.wasm.c:21307
#9  0x00007fffea016ab0 in rlbox::rlbox_wasm2c_sandbox::impl_invoke_with_func_ptr<XML_Status (XML_ParserStruct*, char const*, int, int), XML_Status (unsigned int, unsigned int, int, int), unsigned int, unsigned int, unsigned int, bool>(XML_Status (*)(unsigned int, unsigned int, int, int), unsigned int&&, unsigned int&&, unsigned int&&, bool&&) (func_ptr=<optimized out>, this=0x7fffcaf62000) at ./build-browser/dist/include/mozilla/rlbox/rlbox_wasm2c_sandbox.hpp:763
#10 rlbox::rlbox_sandbox<rlbox::rlbox_wasm2c_sandbox>::INTERNAL_invoke_with_func_ptr<XML_Status (XML_ParserStruct*, char const*, int, int), rlbox::tainted<XML_ParserStruct*, rlbox::rlbox_wasm2c_sandbox>&, rlbox::tainted<char const*, rlbox::rlbox_wasm2c_sandbox>, unsigned long, bool>(char const*, void*, rlbox::tainted<XML_ParserStruct*, rlbox::rlbox_wasm2c_sandbox>&, rlbox::tainted<char const*, rlbox::rlbox_wasm2c_sandbox>&&, unsigned long&&, bool&&) (func_name=<optimized out>, 
    func_ptr=<optimized out>, this=<optimized out>) at ./build-browser/dist/include/mozilla/rlbox/rlbox_sandbox.hpp:790
#11 nsExpatDriver::ParseChunk (this=0x7fffdaee1d80, aBuffer=<optimized out>, aLength=aLength@entry=32768, aIsFinal=aIsFinal@entry=nsExpatDriver::ChunkOrBufferIsFinal::FinalChunk, aConsumed=0x7fffffffc58c, aLastLineLength=0x7fffffffc590)
    at ./parser/htmlparser/nsExpatDriver.cpp:1248
#12 0x00007fffea016ebc in nsExpatDriver::ChunkAndParseBuffer (this=this@entry=0x7fffdaee1d80, 
    aBuffer=aBuffer@entry=0x7fffdfc80020 u"<?xml version=\"1.0\"?>\n\n<html id=\"main-window\"\n        xmlns:html=\"http://www.w3.org/1999/xhtml\"\n        xmlns:xul=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n        xmlns=\"http://"..., aLength=aLength@entry=32768, aIsFinal=aIsFinal@entry=false, aPassedToExpat=aPassedToExpat@entry=0x7fffffffc588, aConsumed=aConsumed@entry=0x7fffffffc58c, aLastLineLength=aLastLineLength@entry=0x7fffffffc590)
    at ./parser/htmlparser/nsExpatDriver.cpp:1204
#13 0x00007fffea017300 in nsExpatDriver::ResumeParse (this=0x7fffdaee1d80, aScanner=..., aIsFinalChunk=aIsFinalChunk@entry=false) at ./parser/htmlparser/nsExpatDriver.cpp:1352
#14 0x00007fffea01db8c in nsParser::ResumeParse (this=this@entry=0x7fffcaa218d0, allowIteration=allowIteration@entry=true, aIsFinalChunk=aIsFinalChunk@entry=false, aCanInterrupt=aCanInterrupt@entry=true) at ./parser/htmlparser/nsParser.cpp:715
#15 0x00007fffea01ea70 in nsParser::OnDataAvailable (sourceOffset=<optimized out>, aLength=<optimized out>, pIStream=<optimized out>, request=<optimized out>, this=0x7fffcaa218d0) at ./parser/htmlparser/nsParser.cpp:1027
#16 nsParser::OnDataAvailable (this=0x7fffcaa218d0, request=<optimized out>, pIStream=<optimized out>, sourceOffset=<optimized out>, aLength=<optimized out>) at ./parser/htmlparser/nsParser.cpp:978
#17 0x00007fffe9fdfec8 in .non-virtual thunk to mozilla::parser::PrototypeDocumentParser::OnDataAvailable(nsIRequest*, nsIInputStream*, unsigned long, unsigned int) () at ./parser/prototype/PrototypeDocumentParser.h:42
#18 0x00007fffe9f52f60 in nsDocumentOpenInfo::OnDataAvailable (this=<optimized out>, request=<optimized out>, inStr=<optimized out>, sourceOffset=<optimized out>, count=<optimized out>) at ./uriloader/base/nsURILoader.cpp:202
#19 0x00007fffe9c1d950 in mozilla::net::ParentChannelWrapper::OnDataAvailable (this=<optimized out>, aRequest=<optimized out>, aInputStream=<optimized out>, aOffset=<optimized out>, aCount=<optimized out>) at ./netwerk/ipc/ParentChannelWrapper.h:27
#20 0x00007fffe9ab8450 in mozilla::net::ParentChannelListener::OnDataAvailable (this=0x7fffdf550e80, aRequest=0x7ffff7654520, aInputStream=0x7ffff73d68c0, aOffset=0, aCount=<optimized out>) at ./netwerk/protocol/http/ParentChannelListener.cpp:115
#21 0x00007fffe9f52f60 in nsDocumentOpenInfo::OnDataAvailable (this=<optimized out>, request=<optimized out>, inStr=<optimized out>, sourceOffset=<optimized out>, count=<optimized out>) at ./uriloader/base/nsURILoader.cpp:202
#22 0x00007fffe9edf4e4 in nsJARChannel::OnDataAvailable (this=0x7ffff7654520, req=<optimized out>, stream=0x7ffff73d68c0, offset=0, count=290768) at ./modules/libjar/nsJARChannel.cpp:1312
#23 0x00007fffe958eb28 in nsInputStreamPump::OnStateTransfer (this=this@entry=0x7fffdaee2140) at ./netwerk/base/nsInputStreamPump.cpp:584
#24 0x00007fffe958f0b8 in nsInputStreamPump::OnInputStreamReady (this=0x7fffdaee2140, stream=<optimized out>) at ./netwerk/base/nsInputStreamPump.cpp:411
#25 0x00007fffe93782f4 in CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}::operator()() const (__closure=<optimized out>) at ./xpcom/io/nsPipe3.cpp:73
#26 NS_NewCancelableRunnableFunction<CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}>(char const*, CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}&&)::FuncCancelableRunnable::Run() (this=<optimized out>) at ./build-browser/dist/include/nsThreadUtils.h:667
#27 NS_NewCancelableRunnableFunction<CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}>(char const*, CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}&&)::FuncCancelableRunnable::Run() (this=<optimized out>) at ./build-browser/dist/include/nsThreadUtils.h:665
#28 0x00007fffe93d9610 in mozilla::RunnableTask::Run (this=0x7fffcaac8e80) at ./xpcom/threads/TaskController.cpp:549
#29 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal (this=this@entry=0x7ffff4843000, aProofOfLock=...) at ./xpcom/threads/TaskController.cpp:876
#30 0x00007fffe93da324 in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal (this=this@entry=0x7ffff4843000, aProofOfLock=...) at ./xpcom/threads/TaskController.cpp:699
#31 0x00007fffe93da7f4 in mozilla::TaskController::ProcessPendingMTTask (aMayWait=false, this=0x7ffff4843000) at ./xpcom/threads/TaskController.cpp:485
#32 operator() (__closure=<optimized out>) at ./xpcom/threads/TaskController.cpp:211
#33 mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::<lambda()> >::Run(void) (this=<optimized out>) at ./xpcom/threads/nsThreadUtils.h:548
#34 0x00007fffe93f365c in nsThread::ProcessNextEvent (this=0x7ffff76508c0, aMayWait=<optimized out>, aResult=0x7fffffffd247) at ./xpcom/threads/nsThread.cpp:1198
#35 0x00007fffe93f5614 in NS_ProcessNextEvent (aThread=<optimized out>, aMayWait=<optimized out>) at ./xpcom/threads/nsThreadUtils.cpp:480
#36 0x00007fffe9d6c2cc in mozilla::ipc::MessagePump::Run (this=0x7ffff73a7300, aDelegate=0x7ffff7393500) at ./ipc/glue/MessagePump.cpp:85
#37 0x00007fffe9d0b964 in MessageLoop::RunInternal (this=<optimized out>) at ./build-browser/dist/include/mozilla/RefPtr.h:319
#38 MessageLoop::RunHandler (this=<optimized out>) at ./ipc/chromium/src/base/message_loop.cc:363
#39 MessageLoop::Run (this=<optimized out>) at ./ipc/chromium/src/base/message_loop.cc:345
#40 0x00007fffecec36f8 in nsBaseAppShell::Run (this=0x7ffff76e6b80) at ./widget/nsBaseAppShell.cpp:148
#41 0x00007fffee334928 in nsAppStartup::Run (this=0x7fffe6160a60) at ./build-browser/dist/include/nsCOMPtr.h:751
#42 0x00007fffee47d244 in XREMain::XRE_mainRun (this=this@entry=0x7fffffffd828) at ./toolkit/xre/nsAppRunner.cpp:5675
#43 0x00007fffee47e0d8 in XREMain::XRE_main (this=this@entry=0x7fffffffd828, argc=argc@entry=1, argv=argv@entry=0x7ffffffff038, aConfig=...) at ./toolkit/xre/nsAppRunner.cpp:5884
#44 0x00007fffee47e91c in XRE_main (argc=1, argv=0x7ffffffff038, aConfig=...) at ./toolkit/xre/nsAppRunner.cpp:5940
#45 0x00007fffee4803fc in mozilla::BootstrapImpl::XRE_main (this=<optimized out>, argc=<optimized out>, argv=<optimized out>, aConfig=...) at ./toolkit/xre/Bootstrap.cpp:45
#46 0x00000001000092b0 in do_main (argc=<optimized out>, argv=<optimized out>, envp=envp@entry=0x7ffffffff048) at ./browser/app/nsBrowserApp.cpp:227
#47 0x000000010000814c in main (argc=<optimized out>, argv=<optimized out>, envp=0x7ffffffff048) at ./browser/app/nsBrowserApp.cpp:445

Regards,
Kris


23 lis 2023, 10:03 od deb...@devbeejohn.de:

Ken Cunningham

unread,
Nov 26, 2023, 8:00:05 PM11/26/23
to
Hi Adrian,

I’m getting stuck building firefox, and as you’re building it already, how do we get past this?

thanks,

Ken



I did this:

$ apt-get build-dep firefox
$ apt source firefox
$ apt install python-is-python3
$ cd firefox-120.0
$ dpkg-buildpackage -us -uc

but I keep getting this:

——

make[1]: Entering directory '/home/cunningh/firefox/firefox-120.0'
MOZ_OBJDIR=debian/objdir MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none PYTHONDONTWRITEBYTECODE=y python3 ./mach python python/mozbuild/mozbuild/preprocessor.py --marker % -Fsubstitution -DGRE_VERSION="120" -DPRODUCT_DOWNLOAD_NAME="firefox" -Dbrowser="firefox" -DBROWSER="FIREFOX" -DBrowser="Firefox" -DMOZ_APP_REMOTINGNAME="Firefox" -DUSE_SYSTEM_FFI="1" -DUSE_SYSTEM_LIBEVENT="1" -DUSE_SYSTEM_NSPR="1" -DUSE_SYSTEM_NSS="1" -DUSE_SYSTEM_VPX="1" -DUSE_SYSTEM_ZLIB="1" -DSHORT_SOURCE_CHANNEL="release" -DDIST="trixie" -DTRANSITION="" -DMOZ_FFVPX="" -DMOZ_ENABLE_VAAPI="" -DMOZ_ENABLE_V4L2="" -DCRASH_REPORTER="" -DDEB_HOST_ARCH="ppc64" debian/browser.mozconfig.in -o debian/firefox.mozconfig
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none ./mach python --virtualenv build < /dev/null
Creating global state directory from environment variable: /home/cunningh/firefox/firefox-120.0/debian/.mozbuild
Creating global state directory from environment variable: /home/cunningh/firefox/firefox-120.0/debian/.mozbuild
Creating local state directory: /home/cunningh/firefox/firefox-120.0/debian/.mozbuild/srcdirs/firefox-120.0-576c6d4c4ec6
Site not up-to-date reason: "/home/cunningh/firefox/firefox-120.0/debian/.mozbuild/srcdirs/firefox-120.0-576c6d4c4ec6/_virtualenvs/common" does not exist
Site not up-to-date reason: "/home/cunningh/firefox/firefox-120.0/debian/.mozbuild/srcdirs/firefox-120.0-576c6d4c4ec6/_virtualenvs/common" does not exist
Traceback (most recent call last):
File "/home/cunningh/firefox/firefox-120.0/./mach", line 125, in <module>
main(sys.argv[1:])
File "/home/cunningh/firefox/firefox-120.0/./mach", line 117, in main
mach = check_and_get_mach(os.path.dirname(os.path.realpath(__file__)), args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/cunningh/firefox/firefox-120.0/./mach", line 37, in check_and_get_mach
return load_mach(dir_path, mach_path, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/cunningh/firefox/firefox-120.0/./mach", line 23, in load_mach
return mach_initialize.initialize(dir_path, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/cunningh/firefox/firefox-120.0/build/mach_initialize.py", line 199, in initialize
command_site_manager.activate()
File "/home/cunningh/firefox/firefox-120.0/python/mach/mach/site.py", line 603, in activate
self.ensure()
File "/home/cunningh/firefox/firefox-120.0/python/mach/mach/site.py", line 575, in ensure
_create_venv_with_pthfile(
File "/home/cunningh/firefox/firefox-120.0/python/mach/mach/site.py", line 1277, in _create_venv_with_pthfile
os.makedirs(virtualenv_root)
File "<frozen os>", line 225, in makedirs
FileExistsError: [Errno 17] File exists: '/home/cunningh/firefox/firefox-120.0/debian/.mozbuild/srcdirs/firefox-120.0-576c6d4c4ec6/_virtualenvs/common'
make[1]: *** [debian/rules:228: stamps/virtualenv] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/cunningh/firefox/firefox-120.0'
make: *** [debian/rules:343: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

-----------
0 new messages