Chromium returning SIGILL in specific site after recent updates

Hello,

Since a recent upgrade (probably in the current version 118), the Chromium downloaded from the official Manjaro repository gives an error specifically on the globo [dot] g1 [ dot] com website (brazilian news website). I’ve tried deleting the installation and configurations, opening it in an incognito tab, and so on. The site opens without any issues in Brave or Firefox.

The error code is: “Error code: SIGILL.”

I’ve researched this, and it seems like it could be a programming error on the website itself. However, I noticed that Chromium works fine on other operating systems (I tested it on Mac). It’s the same error on my son’s laptop, which also runs an updated Manjaro.

Since this error is limited to this particular website, I wanted to check here before reporting a possible bug to see if anyone else is experiencing this issue and has any ideas about what it might be.

Not sure it it is helpfull, but here is the Chromium console log when I try to open the page in a private tab. The site briefly opens and then gives the error (which leads me to believe it may be some JavaScript script causing the problem).

GET https://recomendacao.globo.com/rec/v2/user/g1/FEED?type=bastian&page=1&limit=10&photo_size=540x304/top/smart,810x456/top/smart,1080x608/top/smart&callback=bstn.cb.recommendationFirstFetch net::ERR_ABORTED 404 (Not Found)
(anonymous) @ (index):600
j @ (index):600
(anonymous) @ (index):600
(anonymous) @ (index):600
(anonymous) @ (index):600
n @ (index):600
(anonymous) @ (index):600
(anonymous) @ (index):600
(index):600 [bastian] Recommendation failed to load at initialization. Need to fall back... Error: Network error
    at Object.f [as recommendationFetchError] ((index):600:39028)
    at HTMLScriptElement.onerror ((index):600:521963)
j @ (index):600
await in j (async)
(anonymous) @ (index):600
(anonymous) @ (index):600
(anonymous) @ (index):600
n @ (index):600
(anonymous) @ (index):600
(anonymous) @ (index):600
45b99712fff76a76376f2040a22ace64.js:27 [TrendingVideos][AB] Failed to load GloboAB client
error @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
u @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
n @ 45b99712fff76a76376f2040a22ace64.js:27
c @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
u @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
n @ 45b99712fff76a76376f2040a22ace64.js:27
c @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
u @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
n @ 45b99712fff76a76376f2040a22ace64.js:27
c @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
z @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
n @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
45b99712fff76a76376f2040a22ace64.js:27 [TrendingVideos][AB] Trying again in 2 seconds...
error @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
u @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
n @ 45b99712fff76a76376f2040a22ace64.js:27
c @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
u @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
n @ 45b99712fff76a76376f2040a22ace64.js:27
c @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
u @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
n @ 45b99712fff76a76376f2040a22ace64.js:27
c @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
z @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
n @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
(anonymous) @ 45b99712fff76a76376f2040a22ace64.js:27
lib-pub-core-g1-latest.js:2 ⚠️ document.browsingTopics() not supported.
api.min.js?loading-agent=global-webdeps:1 Player API loaded twice! Aborting.
(anonymous) @ api.min.js?loading-agent=global-webdeps:1
n @ api.min.js?loading-agent=global-webdeps:1
(anonymous) @ api.min.js?loading-agent=global-webdeps:1
n @ api.min.js?loading-agent=global-webdeps:1
(anonymous) @ api.min.js?loading-agent=global-webdeps:1
(anonymous) @ api.min.js?loading-agent=global-webdeps:1
api.min.js?loading-agent=global-webdeps:1 Uncaught Error: Player API loaded twice! Aborting.
    at Object.<anonymous> (api.min.js?loading-agent=global-webdeps:1:35052)
    at n (api.min.js?loading-agent=global-webdeps:1:119)
    at Object.<anonymous> (api.min.js?loading-agent=global-webdeps:1:34280)
    at n (api.min.js?loading-agent=global-webdeps:1:119)
    at api.min.js?loading-agent=global-webdeps:1:925
    at api.min.js?loading-agent=global-webdeps:1:935
(anonymous) @ api.min.js?loading-agent=global-webdeps:1
n @ api.min.js?loading-agent=global-webdeps:1
(anonymous) @ api.min.js?loading-agent=global-webdeps:1
n @ api.min.js?loading-agent=global-webdeps:1
(anonymous) @ api.min.js?loading-agent=global-webdeps:1
(anonymous) @ api.min.js?loading-agent=global-webdeps:1
api.min.js:1 [Player API] //s3.glbimg.com/v1/AUTH_e1b09a2d222b4900a437a46914be81e5/web/settings/stable/settings.min.js embedded!
lib-topics-0.0.3.js:2 topics not supported
pubads_impl.js:10 [GPT] Using deprecated googletag.encryptedSignalProviders. Please use googletag.secureSignalProviders instead.
OJ.log @ pubads_impl.js:10
Q @ pubads_impl.js:10
(anonymous) @ pubads_impl.js:10
Oj.push @ pubads_impl.js:10
Pj.push @ pubads_impl.js:10
(anonymous) @ esp.js:7
i @ esp.js:7
(anonymous) @ esp.js:7
(anonymous) @ esp.js:7
pubads_impl.js:10 [GPT] Using deprecated googletag.encryptedSignalProviders. Please use googletag.secureSignalProviders instead.
OJ.log @ pubads_impl.js:10
Q @ pubads_impl.js:10
(anonymous) @ pubads_impl.js:10
Oj.push @ pubads_impl.js:10
Pj.push @ pubads_impl.js:10
(anonymous) @ index.js:46
(anonymous) @ pubcid.min.js:1
pubads_impl.js:10 [GPT] Using deprecated googletag.encryptedSignalProviders. Please use googletag.secureSignalProviders instead.
OJ.log @ pubads_impl.js:10
Q @ pubads_impl.js:10
(anonymous) @ pubads_impl.js:10
Oj.push @ pubads_impl.js:10
Pj.push @ pubads_impl.js:10
(anonymous) @ esp.js:1
r @ esp.js:1
(anonymous) @ esp.js:1
(anonymous) @ esp.js:1
api.min.js:1 [Player API] player experiments alternatives: {player-isolated-experiment-02: {…}}
cadun.js:10 Uncaught (in promise) unauthorized
t.default @ cadun.js:10
t.GlbLocal @ glb.local.js:59
(anonymous) @ browser.js:10
o @ bootstrap:19
(anonymous) @ bootstrap:68
(anonymous) @ bootstrap:68
api.min.js:1 [Player API] version: stable
api.min.js:1 [Player API] bundle: player
api.min.js:1 [Player API] embedding: //s3.glbimg.com/v1/AUTH_e1b09a2d222b4900a437a46914be81e5/web/player/stable/player.min.js
pubads_impl.js:10 [GPT] Using deprecated googletag.encryptedSignalProviders. Please use googletag.secureSignalProviders instead.
OJ.log @ pubads_impl.js:10
Q @ pubads_impl.js:10
(anonymous) @ pubads_impl.js:10
Oj.push @ pubads_impl.js:10
Pj.push @ pubads_impl.js:10
send_signal @ encrypted-tag-g.js:6
(anonymous) @ encrypted-tag-g.js:6
(anonymous) @ encrypted-tag-g.js:6
player.min.js:1 [warn][Loader] unsupported plugin seek_time: Clappr version 0.6.1 does not match required range [0.4.20,0.5.20)
player.min.js:1 [warn][Loader] unsupported plugin clappr_stats: Clappr version 0.6.1 does not match required range [0.4.2,0.5.2)
player.min.js:1 [warn][Loader] unsupported plugin click_to_pause: Clappr version 0.6.1 does not match required range [0.4.20,0.5.20)
player.min.js:1 [warn][Loader] unsupported plugin hls: Clappr version 0.6.1 does not match required range [0.4.27,0.5.27)

Indeed. It is https://g1.globo.com/ by the way. It is some stupid script there that crashes the tab, because the first seconds and the first about 15 domains/scripts load fine and then the tab crashes. FYI i tried Opera, which is chromium based but maybe slightly older and it works fine.

As for reporting…you have to report to chromium developers, not manjaro. Althought the web site is also not innocent…stuffing so much tracking and convoluted scripting there.
p.s. Seams like the thing that hangs are the google video advertisements…

1 Like

Additionally, if you have any Chrome extensions installed, I suggest you remove each extension one by one, each time restarting Chromium, and again trying to load that site.

If suddenly you find the problem has disappeared then the last extension removed was likely causing the problem. Yes, this might take a few minutes, but will be worth the time spent if it solves the problem.

Cheers.

Given the suspicion that advertisements, tracking, or media related to them are the source of the problems …

On the contrary, use ublock:origin, properly set up blocking, and see if that helps.
(lesser approaches like disabling autoplay may be similarly effective if the culprit is the video ads)

Also, it’s poorly designed, pooly maintained, with little attention given to standards compliance; still, that’s typical of a major percentage of existing websites. :man_shrugging:

With systemd-coredumpd one can retrieve a stack trace:

Core was generated by `/usr/lib/chromium/chromium --type=renderer --crashpad-handler-pid=435170 --enab'.
Program terminated with signal SIGILL, Illegal instruction.
#0  0x000055a8d902ab43 in media::FFmpegGlue::OpenContext(bool) ()
[Current thread is 1 (Thread 0x7f56c41fe6c0 (LWP 3))]
(gdb) bt
#0  0x000055a8d902ab43 in media::FFmpegGlue::OpenContext(bool) ()
#1  0x000055a8d803768f in void base::internal::ReturnAsParamAdapter<bool>(base::OnceCallback<bool ()>, std::unique_ptr<bool, std::default_delete<bool> >*) ()
#2  0x000055a8dce7cf6e in base::internal::PostTaskAndReplyRelay::RunTaskAndPostReply(base::internal::PostTaskAndReplyRelay) ()
#3  0x000055a8dce7d0db in base::internal::Invoker<base::internal::BindState<void (*)(base::internal::PostTaskAndReplyRelay), base::internal::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) [clone .cfi] ()
#4  0x000055a8dce58423 in base::TaskAnnotator::RunTaskImpl(base::PendingTask&) ()
#5  0x000055a8dce80295 in base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::SequenceToken const&) ()
#6  0x000055a8dce7fe12 in base::internal::TaskTracker::RunTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&) ()
#7  0x000055a8dce7f9db in base::internal::TaskTracker::RunAndPopNextTask(base::internal::RegisteredTaskSource) ()
#8  0x000055a8dce923ef in base::internal::WorkerThread::RunWorker() ()
#9  0x000055a8dce9201a in base::internal::WorkerThread::RunPooledWorker() ()
#10 0x000055a8dce91e63 in base::internal::WorkerThread::ThreadMain() ()
#11 0x000055a8dceaed7b in base::(anonymous namespace)::ThreadFunc(void*) [clone .a67435033112019129ad5c28ddc47327] [clone .cfi] ()
#12 0x00007f56d97bd9eb in start_thread (arg=<optimized out>) at pthread_create.c:444
#13 0x00007f56d9841654 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

The instruction is

(gdb) disas
Dump of assembler code for function _ZN5media10FFmpegGlue11OpenContextEb:
[...]
   0x000055a8d902ab3c <+620>:	jne    0x55a8d902abdb <_ZN5media10FFmpegGlue11OpenContextEb+779>
   0x000055a8d902ab42 <+626>:	int3
=> 0x000055a8d902ab43 <+627>:	ud2
   0x000055a8d902ab45 <+629>:	xor    r15d,r15d
   0x000055a8d902ab48 <+632>:	jmp    0x55a8d902ac02 <_ZN5media10FFmpegGlue11OpenContextEb+818>
[...]

ud2 is an instruction for generating an “invalid opcode” exception in x86 processors. This is sometimes generated by compilers for things like __builtin_unreachable().

I would wager that this is the line where it aborts: https://github.com/chromium/chromium/blob/2927342fd826e89a78cbea17a5603c8f888cbd36/media/filters/ffmpeg_glue.cc#L241C8-L241C8

And I believe this is the change that converted it from a debug build-only check to a check that is present in a release build: [Media] Convert DCHECK_NE to CHECK_NE. · chromium/chromium@6740e3e · GitHub (review, bug) because downgrading chromium to 117.0.5938.149-2 makes this error disappear.

Looking at the code and the assembly, one can even extract the value of format_context_->iformat->name that tripped up chromium:

(gdb) x/s $r15
0x7f56da80bd49:	"mpegts"

In conclusion, this is definitely something that the chromium project needs to fix.

2 Likes

Thank you everybody!

So, have filled a bug on chromium project and I got this answer: “Sorry you are having an issue with Chromium. You’ll have to provide us with a symbolized stack trace (from gdb/lldb) since you are using a version of Chromium that we didn’t build or distribute. Your distribution (Manjaro) likely did and will actually have the debugging symbols for you. You’ll need to look at your distribution’s documentation on how to do this. Once we get a symbolized stack trace then we can advise what the next steps would be.”
https://bugs.chromium.org/p/chromium/issues/detail?id=1494905#c1

No sure where should I ask for these simbolized stack trace of the manjaro built package. Could you help me?

The amount of research and dedication to finding a solution is admirable, however, it may ultimately prove to be a waste of time and effort.

You previously indicated the error was only with a particular site;

The issue is possibly caused; or triggered; by a poorly written script; or due to a browser extension perhaps blocking some feature of the site.

One solution might be simply not to use that site.

Well,

I care about two respectable open source projects (Manjaro and Chromium) and their users… it’s not about a media site that seems to be poorly designed.

Anyway, “one solution” is simply to not take into account this kind of answer.

Your passive aggressive comment aside; I was simply offering an alternative based on your previous comments.

Do with it as you will; and I offer this in return;

Have a nice life.

You can see it in my comment. You can leave a link to the comment or just copy and paste the whole thing directly.

1 Like

Just want to share that the problem seems to be fixed since the version 120.0.6099.62-2.

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.