help compiling Chromium for macOS arm64

259 views
Skip to first unread message

Codrut Popescu

unread,
Dec 2, 2021, 5:35:04 PM12/2/21
to Chromium-dev
I tried to compile chromium myself on macOS M1 using these steps:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=/Users/codrut/depot_tools:$PATH
mkdir chromium && cd chromium
fetch --nohooks --no-history chromium 
cd src
gclient sync
gclient runhooks
gn gen out/Chromium

Edit chromium/src/out/Chromium/args.gn
symbol_level=0
is_debug=false
enable_nacl=false
is_component_build=true
blink_symbol_level=0
autoninja -C out/Chromium chrome
out/Chromium/Chromium.app/Contents/MacOS/Chromium

git rebase-update
gclient sync

but launching the app is crashing:

./out/Chromium/Chromium.app/Contents/MacOS/Chromium 
[69064:259:1130/140150.936048:ERROR:native_widget_mac.mm(410)] Not implemented reached in virtual const gfx::ImageSkia *views::NativeWidgetMac::GetWindowIcon()
[69064:259:1130/140150.936063:ERROR:native_widget_mac.mm(414)] Not implemented reached in virtual const gfx::ImageSkia *views::NativeWidgetMac::GetWindowAppIcon()
[69064:259:1130/140151.679548:FATAL:template_url_service.cc(1890)] Check failed: default_search_provider_. Add() to repair the DSE must never fail.
0 libbase.dylib 0x0000000104dc8e98 base::debug::CollectStackTrace(void**, unsigned long) + 12
1 libbase.dylib 0x0000000104cd26f8 base::debug::StackTrace::StackTrace() + 24
2 libbase.dylib 0x0000000104cf3540 logging::LogMessage::~LogMessage() + 188
3 libbase.dylib 0x0000000104cf426c logging::LogMessage::~LogMessage() + 12
4 libbase.dylib 0x0000000104cc01a0 logging::CheckError::~CheckError() + 36
5 libchrome_dll.dylib 0x000000010ad9c478 TemplateURLService::ApplyDefaultSearchChangeNoMetrics(TemplateURLData const*, DefaultSearchManager::Source) + 972
6 libchrome_dll.dylib 0x000000010ad974b8 TemplateURLService::ChangeToLoadedState() + 112
7 libchrome_dll.dylib 0x000000010ad97788 TemplateURLService::OnWebDataServiceRequestDone(int, std::__Cr::unique_ptr<WDTypedResult, std::__Cr::default_delete<WDTypedResult> >) + 196
8 libwebdata_common.dylib 0x0000000108d3cdc8 WebDataRequestManager::RequestCompletedOnThread(std::__Cr::unique_ptr<WebDataRequest, std::__Cr::default_delete<WebDataRequest> >, std::__Cr::unique_ptr<WDTypedResult, std::__Cr::default_delete<WDTypedResult> >) + 80
9 libwebdata_common.dylib 0x0000000108d3da64 base::internal::Invoker<base::internal::BindState<void (WebDataRequestManager::*)(std::__Cr::unique_ptr<WebDataRequest, std::__Cr::default_delete<WebDataRequest> >, std::__Cr::unique_ptr<WDTypedResult, std::__Cr::default_delete<WDTypedResult> >), scoped_refptr<WebDataRequestManager>, std::__Cr::unique_ptr<WebDataRequest, std::__Cr::default_delete<WebDataRequest> >, std::__Cr::unique_ptr<WDTypedResult, std::__Cr::default_delete<WDTypedResult> > >, void ()>::RunOnce(base::internal::BindStateBase*) + 64
10 libbase.dylib 0x0000000104d5f6bc base::TaskAnnotator::RunTaskImpl(base::PendingTask&) + 320
11 libbase.dylib 0x0000000104d80fe8 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow*) + 784
12 libbase.dylib 0x0000000104d808fc base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() + 92
13 libbase.dylib 0x0000000104de9e50 base::MessagePumpCFRunLoopBase::RunWork() + 92
14 libbase.dylib 0x0000000104dde470 base::mac::CallWithEHFrame(void () block_pointer) + 16
15 libbase.dylib 0x0000000104de9894 base::MessagePumpCFRunLoopBase::RunWorkSource(void*) + 68
16 CoreFoundation 0x00000001b3320bbc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
17 CoreFoundation 0x00000001b3320b08 __CFRunLoopDoSource0 + 208
18 CoreFoundation 0x00000001b33207f4 __CFRunLoopDoSources0 + 268
19 CoreFoundation 0x00000001b331f168 __CFRunLoopRun + 820
20 CoreFoundation 0x00000001b331e694 CFRunLoopRunSpecific + 600
21 HIToolbox 0x00000001bbe94990 RunCurrentEventLoopInMode + 292
22 HIToolbox 0x00000001bbe94704 ReceiveNextEventCommon + 552
23 HIToolbox 0x00000001bbe944c4 _BlockUntilNextEventMatchingListInModeWithFilter + 72
24 AppKit 0x00000001b5e73aec _DPSNextEvent + 844
25 AppKit 0x00000001b5e72390 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1332
26 libchrome_dll.dylib 0x000000010a420300 __71-[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]_block_invoke + 64
27 libbase.dylib 0x0000000104dde470 base::mac::CallWithEHFrame(void () block_pointer) + 16
28 libchrome_dll.dylib 0x000000010a420264 -[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
29 AppKit 0x00000001b5e643b0 -[NSApplication run] + 596
30 libbase.dylib 0x0000000104deace8 base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + 312
31 libbase.dylib 0x0000000104de91e8 base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 140
32 libbase.dylib 0x0000000104d81aa8 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) + 584
33 libbase.dylib 0x0000000104d380a4 base::RunLoop::Run(base::Location const&) + 752
34 libbase.dylib 0x0000000104d38b24 base::RunLoop::RunUntilIdle() + 88
35 libcontent.dylib 0x0000000111dc6564 content::BrowserMainLoop::RunMainMessageLoop() + 80
36 libcontent.dylib 0x0000000111dc7e9c content::BrowserMainRunnerImpl::Run() + 88
37 libcontent.dylib 0x0000000111dc4010 content::BrowserMain(content::MainFunctionParams) + 300
38 libcontent.dylib 0x00000001127a9630 content::RunBrowserProcessMain(content::MainFunctionParams, content::ContentMainDelegate*) + 264
39 libcontent.dylib 0x00000001127aabb8 content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams, bool) + 1132
40 libcontent.dylib 0x00000001127aa664 content::ContentMainRunnerImpl::Run() + 540
41 libcontent.dylib 0x00000001127a86a8 content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*) + 580
42 libcontent.dylib 0x00000001127a9098 content::ContentMain(content::ContentMainParams) + 68
43 libchrome_dll.dylib 0x000000010987f26c ChromeMain + 276
44 Chromium 0x00000001044707ac main + 284
45 dyld 0x000000010464d0f4 start + 520
Task trace:
0 libwebdata_common.dylib 0x0000000108d3ccc8 WebDataRequestManager::RequestCompleted(std::__Cr::unique_ptr<WebDataRequest, std::__Cr::default_delete<WebDataRequest> >, std::__Cr::unique_ptr<WDTypedResult, std::__Cr::default_delete<WDTypedResult> >) + 256
1 libchrome_dll.dylib 0x000000010ad92e04 KeywordWebDataService::GetKeywords(WebDataServiceConsumer*) + 116
Crash keys:
"ui_scheduler_async_stack" = "0x108D3CCC8 0x10AD92E04"
"extension-1" = "nkbihfbeogaeaoehlefnkodbefgpgknn"
"num-extensions" = "1"
"switch-1" = "--enable-features=PdfXfaSupport"
"io_scheduler_async_stack" = "0x105E0D908 0x10AB164E4"
"num-switches" = "3"
"osarch" = "arm64"
"pid" = "69064"
"ptype" = "browser"

[1130/140151.964227:WARNING:crash_report_exception_handler.cc(235)] UniversalExceptionRaise: (os/kern) failure (5)
[69085:259:1130/140151.966932:FATAL:field_trial.cc(777)] Check failed: result. 
0 libbase.dylib 0x0000000104e24e98 base::debug::CollectStackTrace(void**, unsigned long) + 12
1 libbase.dylib 0x0000000104d2e6f8 base::debug::StackTrace::StackTrace() + 24
2 libbase.dylib 0x0000000104d4f540 logging::LogMessage::~LogMessage() + 188
3 libbase.dylib 0x0000000104d5026c logging::LogMessage::~LogMessage() + 12
4 libbase.dylib 0x0000000104d1c1a0 logging::CheckError::~CheckError() + 36
5 libbase.dylib 0x0000000104d61448 base::FieldTrialList::CreateTrialsFromCommandLine(base::CommandLine const&, int) + 324
6 libcontent.dylib 0x00000001118ea984 content::InitializeFieldTrialAndFeatureList() + 52
7 libcontent.dylib 0x0000000112706584 content::ContentMainRunnerImpl::Run() + 316
8 libcontent.dylib 0x00000001127046a8 content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*) + 580
9 libcontent.dylib 0x0000000112705098 content::ContentMain(content::ContentMainParams) + 68
10 libchrome_dll.dylib 0x00000001097db26c ChromeMain + 276
11 Chromium Helper (Renderer) 0x00000001043fc8e0 main + 360
12 dyld 0x00000001047a50f4 start + 520
Crash keys:
"switch-13" = "--seatbelt-client=71"
"switch-12" = "--enable-features=PdfXfaSupport"
"switch-11" = "--field-trial-handle=1718379636,16656628431460894750,10653102558"
"switch-10" = "--shared-files"
"switch-9" = "--launch-time-ticks=120651666250"
"switch-8" = "--renderer-client-id=6"
"switch-7" = "--enable-main-frame-before-activation"
"switch-6" = "--enable-gpu-memory-buffer-compositor-resources"
"switch-5" = "--enable-zero-copy"
"switch-4" = "--num-raster-threads=4"
"switch-3" = "--lang=en-GB"
"switch-2" = "--display-capture-permissions-policy-allowed"
"switch-1" = "--extension-process"
"num-switches" = "14"
"osarch" = "arm64"
"pid" = "69085"
"ptype" = "renderer"

[69076:12035:1130/140151.973754:ERROR:ssl_client_socket_impl.cc(995)] handshake failed; returned -1, SSL error code 1, net_error -3
zsh: trace trap ./out/Chromium/Chromium.app/Contents/MacOS/Chromium

Nico Weber

unread,
Dec 2, 2021, 5:38:14 PM12/2/21
to codrut_...@icloud.com, Chromium-dev
Does it also crash if you run `out/Chromium/Chromium.app/Contents/MacOS/Chromium --user-data-dir /tmp/foo`?

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/f44f389b-69a7-4f87-9c7c-194debfb368dn%40chromium.org.

Dave Tapuska

unread,
Dec 2, 2021, 5:39:24 PM12/2/21
to codrut_...@icloud.com, Chromium-dev
Looks like you are hitting a dcheck. You could try dcheck_always_on = false in your gn config.

On Thu, Dec 2, 2021 at 5:34 PM 'Codrut Popescu' via Chromium-dev <chromi...@chromium.org> wrote:
--

Haiyang Pan

unread,
Dec 2, 2021, 5:42:43 PM12/2/21
to dtap...@chromium.org, codrut_...@icloud.com, Chromium-dev

Nico Weber

unread,
Dec 2, 2021, 5:50:14 PM12/2/21
to hy...@google.com, dtap...@chromium.org, codrut_...@icloud.com, Chromium-dev
On Thu, Dec 2, 2021 at 5:41 PM 'Haiyang Pan' via Chromium-dev <chromi...@chromium.org> wrote:
Also you would need target_cpu = "arm64"

They said they're running on an M1 mac. target_cpu defaults to host_cpu, so that shouldn't be necessary -- on an arm mac, we'll build for an arm mac (https://source.chromium.org/chromium/chromium/src/+/main:third_party/perfetto/gn/standalone/BUILDCONFIG.gn;l=49?q=%5Cbtarget_cpu%5C%20%3D%5C%20%20file:%5C.gn).
 
Reply all
Reply to author
Forward
0 new messages