Re: firefox broken on arm64

From: Jesper Schmitz Mouridsen <jsm_at_FreeBSD.org>
Date: Sat, 16 Dec 2023 22:07:46 UTC

On 10.12.2023 14.08, Jesper Schmitz Mouridsen wrote:
> 
> 
> On 03.12.2023 11.59, Jesper Schmitz Mouridsen wrote:
>>
>>
>> On 03.12.2023 09.38, void wrote:
>>> On Sun, Dec 03, 2023 at 08:34:21AM +0100, Jesper Schmitz Mouridsen 
>>> wrote:
>>>>
>>>> Just build firefox-esr-115.5.0_1,1  and firefox-116.0.3_1,2 the 
>>>> first runs with aslr disabled, the latter signals 4.
>>>>
>>>> Any suggestions on what is going on are appreciated.
>>>
>>> What's the uname -aKU ?
>>
>> FreeBSD generic 14.0-RELEASE FreeBSD 14.0-RELEASE #0 
>> releng/14.0-n265380-f9716eee8ab4: Fri Nov 10 09:12:14 UTC 2023 
>> root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64 1400097 1400097
>>
>>   did you build from ports or poudriere?
>>  From ports.
>>
>> If the
>>> latter, what's the /etc/make.conf contain?
>>>
>>> Please post sysctl -a | grep aslr
>>>
>>
>> kern.elf32.aslr.shared_page: 0
>> kern.elf32.aslr.stack: 1
>> kern.elf32.aslr.honor_sbrk: 0
>> kern.elf32.aslr.pie_enable: 0
>> kern.elf32.aslr.enable: 0
>> kern.elf64.aslr.shared_page: 1
>> kern.elf64.aslr.stack: 1
>> kern.elf64.aslr.honor_sbrk: 0
>> kern.elf64.aslr.pie_enable: 1
>> kern.elf64.aslr.enable: 1
>> vm.aslr_restarts: 256
>>
>> I did the esr build to test the build setup, since also the pkg in the 
>> official pkg repo behaves the same i.e the one before 115.5 since 
>> 115.5 did not hit the pkg repo yet, which works without aslr (set by 
>> proccontrol) So unless 116 introduces something which requires sysctl 
>> changes for the building tool chain while building my test should be 
>> valid.
>>
>> Thanks
>>
>> /jsm
>>
>>
> Hi
> Just FYI
> I have managed to cross-compile firefox115-esr on amd64 to aaarhc64 so 
> that takes me ~20 min compute time to compile as opposed to 5-7 hours on 
> my arm boards... I think it broke somewhere between 115 and 116, but now 
> bisecting is doable to the extend the port patches allows. Can someone 
> btw tell me hove the libwebrtc patches are generated..?
> 
I build and bisected with --disable-webrtc so I did not need the patches 
for that..
It breaks here:
changeset:   743155:5c5cf716aa0b
user:        Jan de Mooij <jdemooij@mozilla.com>
date:        Wed Jun 07 16:34:51 2023 +0000
summary:     Bug 1835876 part 2 - Disable code write protection in 
content processes. r=nbp

[root@freebsd2 /tmp3/bisect/mozilla-unified]# hg log -r 743154
changeset:   743154:028f981600d7
user:        Jan de Mooij <jdemooij@mozilla.com>
date:        Wed Jun 07 16:34:51 2023 +0000
summary:     Bug 1835876 part 1 - Remove unused 
ProtectionSetting::Protected. r=nbp

Related to w^x.. I can only make it work by reverting the whole of the 
two above commits... 
(https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271081#c7) Still 
disabling aslr is required
/Jsm