ungoogled-chromium-portablelinux icon indicating copy to clipboard operation
ungoogled-chromium-portablelinux copied to clipboard

[99.0.4844.51-1] Error: make_top_domain_list_variables failed with exit code -4

Open Aufschlauer opened this issue 2 years ago • 4 comments

Hi,

when I try to build 99.0.4844.51-1 I get

[26027/49984] ACTION //components/url_formatter/spoof_checks/top_domains:generate_top_domain_list_variables_file(//build/toolchain/linux/unbundle:default)
FAILED: gen/components/url_formatter/spoof_checks/top_domains/top500-domains-inc.cc 
python3 ../../build/gn_run_binary.py make_top_domain_list_variables ../../components/url_formatter/spoof_checks/top_domains/domains.list top500_domains gen/components/url_formatter/spoof_checks/top_domains/top500-domains-inc.cc
make_top_domain_list_variables failed with exit code -4
[26036/49984] CXX obj/content/common/mojo_bindings_shared_cpp_sources/renderer.mojom-shared.o
ninja: build stopped: subcommand failed.

The last successful ungoogled build in my case was 98.0.4758.102.

Anyone ever saw this error? Any idea what this error raised and how to fix it?

Thanks.

Aufschlauer avatar Mar 28 '22 14:03 Aufschlauer

Was having the same issue, applied the following patch:

--- components/url_formatter/spoof_checks/top_domains/make_top_domain_list_variables.cc.orig	2022-04-06 14:01:36.134367421 +0200
+++ components/url_formatter/spoof_checks/top_domains/make_top_domain_list_variables.cc	2022-04-06 14:01:41.957748921 +0200
@@ -74,7 +74,7 @@
 }
 
 bool ContainsOnlyDigits(const std::string& text) {
-  return base::ranges::all_of(text.begin(), text.end(), ::isdigit);
+  return false;
 }
 
 }  // namespace

and it worked.

It's probably coincidence and this is by far not a proper fix, but I couldn't care less about this file being generated correctly, honestly.

mid-kid avatar Apr 06 '22 12:04 mid-kid

Apparently the patch above wasn't enough to get the actual chrome binary to work on my machine. It fails with a:

zsh: illegal hardware instruction  ./chrome

Just like what the make_top_domain_list_variables fails with.

I wonder what compiler flag is causing it to generate instructions that don't work on my machine. From what I can tell everything is built with -march=x86-64 -msse3, which my machine supports just fine.

mid-kid avatar Apr 06 '22 13:04 mid-kid

Since I still can not build, I tried to get closer:

$ file make_top_domain_list_variables
make_top_domain_list_variables: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=bf59a0d7b462aa5c6cfbe98048865283169c52e4, not stripped
$ ldd make_top_domain_list_variables
	linux-vdso.so.1 (0x00007ffcff3d8000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbb95a6f000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbb9592b000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbb95911000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbb9574c000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fbb95ee7000)
$ gdb ./make_top_domain_list_variables
GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 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 "x86_64-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 ./make_top_domain_list_variables...
(No debugging symbols found in ./make_top_domain_list_variables)
"/root/ungoogled-chromium-portablelinux/build/src/out/Default/../../components/url_formatter/spoof_checks/top_domains/domains.list" is not a core dump: file format not recognized
(gdb) run ../../components/url_formatter/spoof_checks/top_domains/domains.list top500_domains gen/components/url_formatter/spoof_checks/top_domains/top500-domains-inc.cc
Starting program: /root/ungoogled-chromium-portablelinux/build/src/out/Default/make_top_domain_list_variables ../../components/url_formatter/spoof_checks/top_domains/domains.list top500_domains gen/components/url_formatter/spoof_checks/top_domains/top500-domains-inc.cc
warning: Error disabling address space randomization: Operation not permitted
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0x000055569593febb in (anonymous namespace)::ContainsOnlyDigits(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ()
(gdb) bt
#0  0x000055569593febb in (anonymous namespace)::ContainsOnlyDigits(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ()
#1  0x000055569593f5a6 in main ()
(gdb) q
A debugging session is active.

	Inferior 1 [process 84890] will be killed.

Quit anyway? (y or n) y

Not clear to me yet what causes the problem... :(

Aufschlauer avatar Apr 27 '22 07:04 Aufschlauer

Same issue on 101.0.4951.64. gdb output is similar. Gentoo with llvm/clang 13.0.1.

mid-kid avatar May 21 '22 13:05 mid-kid

@Aufschlauer is this issue still relevant or may i close it?

clickot avatar Dec 11 '23 00:12 clickot

@Aufschlauer is this issue still relevant or may i close it?

@clickot No, just go ahead and close this one.

Aufschlauer avatar Dec 11 '23 10:12 Aufschlauer