-
Notifications
You must be signed in to change notification settings - Fork 20
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
www-client/ungoogled-chromium: system-ffmpeg
Build Failure (4 Errors)
#381
Comments
If only every bug report was prepared as thorough as you did… Ah dreams :) Unfortunately you haven't noticed a crucial warning in your logs: gentoo-overlay/www-client/ungoogled-chromium/ungoogled-chromium-129.0.6668.89_p1.ebuild Lines 554 to 556 in bf8bae4
You could then search through existing issues and find the solution :) And since you're new here, this comment and that issue in particular might be of interest to you. |
Ah! I did miss that, oops. That aside though, I did try building again without ../../gpu/command_buffer/service/program_manager.cc:610:10: error: no matching function for call to 'Consume'
610 | while (RE2::Consume(&input,
| ^~~~~~~~~~~~
/usr/include/re2/re2.h:432:15: note: candidate function template not viable: no known conversion from 'std::string_view *' (aka 'basic_string_view<char> *') to 'StringPiece *' for 1st argument
432 | static bool Consume(StringPiece* input, const RE2& re, A&&... a) {
| ^ ~~~~~~~~~~~~~~~~~~ |
re2 was always problematic and I would advise you to try default USE flags to begin with. What's disabled by default might not work — FYI. |
Isn't that glibcxx flag only applicable for |
Correct. Without |
I have the |
I managed to build it but got a segfault immediately (and I collected a backtrace), so I'm going to try building again overnight with |
Alright, I confirmed that the crash happens even if using Thread 1 "chrome" received signal SIGSEGV, Segmentation fault.
0x000055555ee1bf76 in renderer_preferences_util::UpdateFromSystemSettings(blink::RendererPreferences*, Profile*) () |
You don't seem to be using GTK, would you be able to build again, but this time revert https://github.com/PF4Public/gentoo-overlay/blob/master/www-client/ungoogled-chromium/files/gtk-fix-prefers-color-scheme-query.diff? Perhaps I should make it a conditional. |
Is there another patch it's dependent upon? 🤔
|
I didn't understand what you were trying to do. What I would do is to start emerge as usual, wait until it starts to actually compile the thing, stop it, revert the patch and then continue the build with |
Ah, what I was doing was this: But was going to get the diff from before the patch was applied (with
How would I know how to revert the patch this way...? |
If you attempt to apply the patch if it was already applied, patch asks if you'd like to revert it instead, you agree and voilà — patch reverted. |
So, I tried to rever the patch (
But then it decided to unpack the source and reapply all the patches again when using
|
So, did it work in the end? |
I had halted the build right there because it looked like it re-applied the patch... |
Sooo?
|
Was it supposed to re-apply the patch I just reverted by following those instructions...? |
Well I see :) patch applied the patch with a fuzz and cannot therefore revert it automatically. You can manually revert it then. Just edit the files and remove the code added by it. |
Hmmm, even after rebuilding it without the patch it still segfaults on the same spot...
|
Is the backtrace exactly the same? |
Yeah: ungoogled-chromium-backtrace.log |
Please try
|
Used env platform=wayland gdb --args /usr/lib64/chromium-browser/chrome --extra-plugin-dir=/usr/lib64/nsbrowser/plugins --ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations --password-store=basic --user-data-dir="$(mktemp -d)" Still reproduces the crash, and I can confirm the directory does at least get populated.
I don't know what this means...
|
Those are gdb commands |
I'm waiting on Meant to do EDIT: ...Now that it's finished spamming my terminal, I tried
for some reason? 🤔 |
Well, that's not helpful :(
|
Just in case I made a mistake, I rebuilt the package and lowered my compilation threads to 7, then added Includes:
|
It is trying to call I would also try omitting every commandline argument except |
To be honest, I'm not particularly familiar with GDB to know how to set breakpoints for it like that... |
? |
I understand that part (I can do that), it's this I was referring to:
Which I interpreted as a suggestion, since I have the affected build... Which was why I said what I did (#381 (comment)) |
I'm eager to see if it would make any difference :)
That is absolutely correct, but if you're not familiar with gdb I cannot expect you to magically get familiar with it, so that further tinkering with gdb is ruled out. |
I reduced it to:
(Although, I'll note that I only originally included This one is slightly different because it says it still crashes in |
Try |
I think we won't understand anything without debugging, as we're encountering the error when accessing nullptr, returning nullptr itself is not an error I'll try to build it |
I've already hinted that above ;) Unfortunately I'm very limited with my Internet access, computing power and I don't use wayland.
returning nullptr is not that bad, but dereferencing it (via |
Well.. I couldn't repeat the error, everything works :\ |
Trying to figure out how to do this but I'm struggling a bit. Specifically with |
Okay, so I set the breakpoint at: renderer_preferences_util::UpdateFromSystemSettings(blink::RendererPreferences*, Profile*) then, I stepped through the whole thing with |
I think you just went through the steps of the function itself, since I only see how the parameters inside UpdateFromSystemSettings change, but you need to go inside the functions that are called by UpdateFromSystemSettings, I think I can give some instructions, I'll write it out (or a script?) |
If you have instructions, I can try it |
Well.. tried working with rr, it doesn't support ipc, worked with gdb replay, but it couldn't collect information for two lines in 6 hours, suggest a compromise cat <<EOF > script.gdb
set pagination off
define next_it_all
set logging enabled on
set logging file log.txt
while 1
thread 1
next
backtrace 3
info locals
end
end
EOF
gdb /usr/lib64/chromium-browser/chrome
(gdb) source script.gdb
(gdb) break GetServiceForContext
(gdb) run > /dev/null 2>&1
(gdb) next_it_all
(gdb) continue The entire log will be saved in log.txt |
Something related to components/keyed_service/core/keyed_service_templated_factory.cc a function with nullptr comes out here auto iterator = FindOrCreateMapping(context);
CHECK(iterator != mapping_.end());
MappingInfo& info = iterator->second;
...
if constexpr (std::same_as<ServicePtr, OwnedServicePtr>) {
return info.service;
} else {
--> return info.service.get();
} It would be nice to see cat <<EOF > script.gdb
set pagination off
define next_it_all
set logging enabled on
set logging file log.txt
while 1
thread 1
next
backtrace 3
info locals
end
end
EOF
gdb /usr/lib64/chromium-browser/chrome
(gdb) source script.gdb
(gdb) break FindOrCreateMapping
(gdb) run > /dev/null 2>&1
(gdb) next_it_all
(gdb) continue |
G-zipped Build Log
Summary:
There were 4 errors in
media/filters/ffmpeg_demuxer.cc
when building using thesystem-ffmpeg
USE flag.(For reference, my system's ffmpeg version is
media-video/ffmpeg-6.1.1-r8
)Gentoo Profile:
default/linux/amd64/23.0/split-usr/llvm (stable)
Package USE Flags:
Note: I had actually added
-fuse-ld=mold
to myLDFLAGS
for this package (because usingld.lld
was causing "undefined symbol" build failures for some reason) but it isn't showing in theemerge info
I've attatched for some reason even though it isn recognized once the build starts (albiet not as anLDFLAG
for some reason?).The emerge info also says I'm using
-gddb3
, which is also false, because I actually removed it for Ungoogled Chromium because it was causing early build failures... Again, not sure why. Also noticed that-custom-cflags
altersMAKEOPTS
, which makes the build take ages when it really doesn't have to be that way.Emerge Info:
The text was updated successfully, but these errors were encountered: