Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] icu rebuild of firefox failure
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20542

PostPosted: Fri Dec 20, 2024 7:45 am    Post subject: [solved] icu rebuild of firefox failure Reply with quote

EDIT: The second rebuild succeeded, so probably hardware related.

This is on a build host in a chroot for a laptop.

I first did a rebuild of whatever icu wanted with firefox deselected from world (to avoid rebuilding it and nodejs at the same time).

After that, I then rebuilt nodejs using --oneshot. That went fine. To rebuild firefox, I used my normal update @world command.

This seemed notable:
Code:
847:35.85 x86_64-pc-linux-gnu-clang++-19: error: clang frontend command failed with exit code 139 (use -v to see invocation)
847:35.85 clang version 19.1.4
847:35.85 Target: x86_64-pc-linux-gnu
847:35.85 Thread model: posix
847:35.86 InstalledDir: /usr/lib/llvm/19/bin
847:35.86 Configuration file: /etc/clang/x86_64-pc-linux-gnu-clang++.cfg
847:36.57 x86_64-pc-linux-gnu-clang++-19: note: diagnostic msg:
847:36.57 ********************
847:36.57 PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
847:36.57 Preprocessed source(s) and associated run script(s) are located at:
847:36.58 x86_64-pc-linux-gnu-clang++-19: note: diagnostic msg: /var/tmp/notmpfs/portage/www-client/firefox-128.5.0/temp/Unified_cpp_dom_ipc5-9cd37e.cpp
847:36.58 x86_64-pc-linux-gnu-clang++-19: note: diagnostic msg: /var/tmp/notmpfs/portage/www-client/firefox-128.5.0/temp/Unified_cpp_dom_ipc5-9cd37e.sh
847:36.58 x86_64-pc-linux-gnu-clang++-19: note: diagnostic msg:
847:36.59 ********************
emerge-info-firefox.out
Your paste can be seen here: https://bpa.st/XLRQ

emerge-pqv-firefox.out
Your paste can be seen here: https://bpa.st/TPNA

Unified_cpp_dom_ipc5-9cd37e.sh
Your paste can be seen here: https://bpa.st/VOQA

firefox-build.log ~20MB
Your paste can be seen here: http://0x0.st/XCwj.log

Unified_cpp_dom_ipc5-9cd37e.cpp ~41MB
Your paste can be seen here: http://0x0.st/XCw2.cpp
_________________
Quis separabit? Quo animo?


Last edited by pjp on Fri Dec 20, 2024 9:06 pm; edited 1 time in total
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9848
Location: almost Mile High in the USA

PostPosted: Fri Dec 20, 2024 8:21 am    Post subject: Reply with quote

Well, assuming the fact other people were able to build the same firefox and looks like clang crashed with a stack trace, something going on with your clang. Does it crash in the same place each time if you just rerun it (save your old build for reference) - checked for hardware issues?

Is there a specific reason why you compiled icu and nodejs separately, though it shouldn't matter, they may pick up older deps that weren't absolutely necessary. Agreed it should be safe. I don't think I've had issues building nodejs with anything else at the same time, it's the qtwebengine thing that needs to run by itself...
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20542

PostPosted: Fri Dec 20, 2024 6:18 pm    Post subject: Reply with quote

I'm trying to rebuild it again now. I'm not sure how long it took before failure.

It indeed could be hardware. I have suspected possible heat issues in the past, but haven't ruled out memory. In the past, I've only seen "internal compiler error", but maybe that was only from gcc and not clang.

Reducing from -j3 to -j1 for bigger packages has helped. gcc, clang, firefox and nodejs off the top of my head. I've been using -j2 for firefox for a while without issues, so it seemed odd that it happened on a rebuild due to icu change and not a new firefox version.

The possible heat issue is why I try to limit how many large packages get built at any given time. From the output of which packages icu was causing a rebuild, they've all been rebuilt except firefox. I only mentioned just in case.

I'll update when it fails or completes. I'll see about scheduling a memtest. I guess I could do that overnight sometime.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9848
Location: almost Mile High in the USA

PostPosted: Fri Dec 20, 2024 6:40 pm    Post subject: Reply with quote

Since you're chrooting, I assume the machine you're using to build is a desktop or larger system? If so it's worth to resolve overheating issues...I'd be kind of upset if I can't use all cores on a cpu full tilt on a desktop -- Your X4 has 16GB RAM and that would make me mad if I couldn't run all 4 cores at the same time. My i7-2700k is actually on the borderline, it reaches 90°C when running on all 4 cores 8 threads but that's fine, at least it doesn't crash or give ICEs.

Yeah Internal Compiler Error is a gcc thing. Clang gives a more useful stack trace it appears, but I can't make heads or tails out of it.
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2541

PostPosted: Fri Dec 20, 2024 7:39 pm    Post subject: Reply with quote

I just compiled Firefox-133.03 today, but I'm using the binhost for the most of my packages, so I believe clnag/llvm were compiled on the binhost. Can you try those?

Best Regards,
Georgi

p.s. out there some say 139 might be concurrent access to a file or null pointer. IDK if those statements have merit. Did you check your dmesg for segfaults?
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20542

PostPosted: Fri Dec 20, 2024 8:12 pm    Post subject: Reply with quote

eccerr0r wrote:
Since you're chrooting, I assume the machine you're using to build is a desktop or larger system? If so it's worth to resolve overheating issues...I'd be kind of upset if I can't use all cores on a cpu full tilt on a desktop -- Your X4 has 16GB RAM and that would make me mad if I couldn't run all 4 cores at the same time. My i7-2700k is actually on the borderline, it reaches 90°C when running on all 4 cores 8 threads but that's fine, at least it doesn't crash or give ICEs.

Yeah Internal Compiler Error is a gcc thing. Clang gives a more useful stack trace it appears, but I can't make heads or tails out of it.
Well, the heat thing was a "maybe it's not memory" theory from a few years ago.

The systems were in a room where it got pretty warm during the summer. At some point a case fan had died (replaced). I think I also replaced the CPU cooler from whatever I had bought to the stock cooler. I don't think it was at the same time, but probably within months. I also thought I was going to replace the system years ago too.

At any rate, different location and room temps, and the problem has been rare, but that includes having reduced -j. And now that I'm thinking about it, that prior location also included "too many" brown-out situations, so maybe that caused an issue with memory.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20542

PostPosted: Fri Dec 20, 2024 8:22 pm    Post subject: Reply with quote

logrusx wrote:
I just compiled Firefox-133.03 today, but I'm using the binhost for the most of my packages, so I believe clnag/llvm were compiled on the binhost. Can you try those?

Best Regards,
Georgi

p.s. out there some say 139 might be concurrent access to a file or null pointer. IDK if those statements have merit. Did you check your dmesg for segfaults?
I didn't think about dmesg, but nothing there. I didn't find anything in either /var/log/messages or /var/log/system, so maybe that's a good sign as far as hardware is concerned.

I haven't switched to profile 23 yet because of the issue described in my previous post. Although I am planning to do that later in the month. Which reminds me I need to review the process. My main delay is not wanting to do the emptytree rebuild. As long as I can use binaries for the big packages, it shouldn't be too big of a deal. I think I can switch to the few "core" packages, then try a "use / fetch only binary packages" emerge to see where that leaves me.

As for the 139 error, I'm not sure what to make of that. I would have thought a concurrent access issue would have been found by now.


EDIT: As an aside, I believe this compile attempt has been running longer than when it failed.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2541

PostPosted: Fri Dec 20, 2024 8:37 pm    Post subject: Reply with quote

pjp wrote:

EDIT: As an aside, I believe this compile attempt has been running longer than when it failed.


You can never be sure about the order. Sure there are files that will compile before others, but among the others, you cannot determine any particular order. However if it succeeds this time, I would think of replacing that hardware. You can test the memory but that's it. And you better do it on another motherboard.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22892

PostPosted: Fri Dec 20, 2024 8:37 pm    Post subject: Reply with quote

The emptytree rebuild is recommended for various good reasons (discussed back when this was new), but it's not required if you don't mind not getting the benefits it was meant to bring. As with so many things, it depends on what you value most. I migrated one special purpose system to 23.0 without an emptytree rebuild, because I decided that the savings in write cycles and install time mattered more to me than the technical improvements the new profile brought. The system was sufficiently isolated that the security improvements in 23.0 did not seem immediately necessary for it. That system has gradually picked up the 23.0 improvements as ordinary maintenance prompted package builds to get newer versions of things. I didn't actively disable anything that 23.0 brings; I only deferred picking up its improvements until they were "free" as part of other work. I may have encountered some problems that an emptytree would have avoided, but if so, I fixed them readily enough that they do not come to mind now.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20542

PostPosted: Fri Dec 20, 2024 8:58 pm    Post subject: Reply with quote

logrusx wrote:
pjp wrote:

EDIT: As an aside, I believe this compile attempt has been running longer than when it failed.


You can never be sure about the order. Sure there are files that will compile before others, but among the others, you cannot determine any particular order. However if it succeeds this time, I would think of replacing that hardware. You can test the memory but that's it. And you better do it on another motherboard.

Best Regards,
Georgi
The compile did complete. The motherboard is what it is. On different hardware I found a memory problem that was associated with the second memory channel and seemingly not the actual memory (the error remained with the slot and didn't move with the memory).

Yes, I wanted to replace the hardware years ago. Last year (?) when I looked, I decided to wait for the next Zen to see if it would drop prices on older models. The time I looked after that, inflation seemed to have different ideas on price decreases. I need to visit a used store. If nothing else, it's prices may convince me to just buy something. But after the first time or two, part picking and building systems lost it's charm.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20542

PostPosted: Fri Dec 20, 2024 9:05 pm    Post subject: Reply with quote

Hu wrote:
The emptytree rebuild is recommended for various good reasons (discussed back when this was new), but it's not required if you don't mind not getting the benefits it was meant to bring. As with so many things, it depends on what you value most. I migrated one special purpose system to 23.0 without an emptytree rebuild, because I decided that the savings in write cycles and install time mattered more to me than the technical improvements the new profile brought. The system was sufficiently isolated that the security improvements in 23.0 did not seem immediately necessary for it. That system has gradually picked up the 23.0 improvements as ordinary maintenance prompted package builds to get newer versions of things. I didn't actively disable anything that 23.0 brings; I only deferred picking up its improvements until they were "free" as part of other work. I may have encountered some problems that an emptytree would have avoided, but if so, I fixed them readily enough that they do not come to mind now.
Thanks. I have seen posts about not strictly needing to rebuild. My concern has been with the potential for problems. I don't recall the specific comments, but I believe it was something sam_ had written. The part where you may have experienced problems... not knowing what problems might happen, I have to presume they're not something I'd be able to fix.

My idea for a "manual emptytree" rebuild was to keep a list of what hadn't yet been rebuilt, then pick something and use --with-bdeps --oneshot to re-emerge. But I don't know how good or bad of an idea that is (regarding previously mentioned potential problems).
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 2047

PostPosted: Fri Dec 20, 2024 9:10 pm    Post subject: Reply with quote

FWIW, I did write that up in the end on the wiki at https://wiki.gentoo.org/wiki/On_occasional_emptytree. We also had a few real bug reports (IIRC initially manifesting as users seeking support) where they immediately showed up because of the -e and the changes in the profile, and it was then obvious what the problem/cause was, so I feel a bit vindicated.

(It was BIND_NOW-related breakage, for the interested.)
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20542

PostPosted: Fri Dec 20, 2024 9:32 pm    Post subject: Reply with quote

Yes, that's what I was remembering.

In retrospect, an occasional emptytree makes sense, it's just unfortunate for old hardware.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2541

PostPosted: Fri Dec 20, 2024 9:45 pm    Post subject: Reply with quote

pjp wrote:
it's just unfortunate for old hardware.


I can't stress enough on the binhost. Only a few years back i would have been so happy to have it, that i would have jumped to Mars and taken away all the steam from Musk's whistle.

Best Regards,
Georgi
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9848
Location: almost Mile High in the USA

PostPosted: Sat Dec 21, 2024 1:04 am    Post subject: Reply with quote

I would not emptytree just yet. Since it worked the second time around, the binary on disk is intact and you should be good - the corruption occurred in RAM/CPU.

However once you get verified good hardware or fix your hardware, then emptytree would be suggested just to make sure there are no bad binaries around that haven't been checked.

I've not had too many issues with corruption recently, knock on wood. Had to clear this out of my system when I was overclocking and bought unknown and bad RAM that I assumed was good, so each time now I have to go ahead and do validation cycles on any hardware I acquire before committing it to production, even if it's for home use. The recent fubar with intel probably would have counted towards more corruption cases...

I do not have end-to-end ECC/parity hardware so there's a nonzero chance I still have SDC...
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?


Last edited by eccerr0r on Sat Dec 21, 2024 1:10 am; edited 1 time in total
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20542

PostPosted: Sat Dec 21, 2024 1:09 am    Post subject: Reply with quote

@logrusx,

I tried early on, but there were issues with some security based gcc flags. I removed those back then. I've been wanting to do it for a while, but I have to be prepared to deal ONLY with that if anything happens. I'll get ready this weekend and may start early next week. I'll probably run memtest first and see what replacement RAM would cost (if I can even get it locally). Assuming that's the underlying problem.


@eccerr0r,

emptytree is only for the migration to the 23 profile. I may not be able to do anything about the hardware, depending on what the issue is.

I haven't seen anything about Intel's latest issues.
_________________
Quis separabit? Quo animo?


Last edited by pjp on Sat Dec 21, 2024 1:14 am; edited 1 time in total
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9848
Location: almost Mile High in the USA

PostPosted: Sat Dec 21, 2024 1:13 am    Post subject: Reply with quote

If you're overclocking or even not, you can also try slowing down timing of your components in BIOS if the option is available.

Granted yes most big box computers don't have these options so that's out of the question, sometimes I feel glad with my self-assembled machines that do have these options just so I could tweak them to see if I can edge out marginal hardware and get some use out of them.

(And if it's some known bad RAM locations, it's possible to tell Linux to not use them, so that's also an option. I've been using this frequently though recently I didn't need it anymore and memtest86+ tests fine now...)

Oh... and I didn't emptytree the 23 profile migration on any of my boxes (yet or ever)... so far so good, haven't seen any weird behavior.
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20542

PostPosted: Sat Dec 21, 2024 1:17 am    Post subject: Reply with quote

It's a custom build, but I don't overclock. The presumably marginal gains never seemed worth the potential downside for a mainstay system.

I thought about marking the bad RAM locations when I mentioned memtest earlier, so if that's the issue, hopefully that helps. I should have thought of that years ago.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum