FS#68364 - [opera-ffmpeg-codecs] Update version 86.0.4240.80-2 prevents Discord from launching correctly

Attached to Project: Community Packages
Opened by Lou (loulou921222) - Wednesday, 21 October 2020, 21:24 GMT
Last edited by Filipe Laíns (FFY00) - Friday, 23 October 2020, 12:03 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Ike Devolder (BlackEagle)
Filipe Laíns (FFY00)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 30
Private No

Details

Description:
Updating to version 86.0.4240.80-2 (currently the newest) of opera-ffmpeg-codecs, launching Discord will show the Discord loading window, the window flashes once or twice, then crashes.

[Modules] Starting to install discrd_krisp...
[Modules] Fetching discord_krisp@0 from https://discord.com/api/modules/stable/discord_krisp/0
[Modules] Streaming discord_krisp@0 to /home/lou/.config/discord/0.0.12/modules/pending/discord_krisp-0.zip
Error downloading with electron net: HTTP Error: Status Code 403
Falling back to node net library..
[Modules] Failed fetching module discord_krisp@0: Error: HTTP Error: Status Code 403
[Modules] Finished module downloads. [success: 0] [failure: 1]
[WebContents] double crashed... RIP =(

Steps to reproduce:
Update to version 86.0.4240.80-2 and launch Discord (I used pacman).
This task depends upon

Closed by  Filipe Laíns (FFY00)
Friday, 23 October 2020, 12:03 GMT
Reason for closing:  Fixed
Additional comments about closing:  discord 0.0.12-2
Comment by AlexApps (AlexApps99) - Thursday, 22 October 2020, 01:22 GMT
I can reproduce, this issue started when the following packages were upgraded on my system:
alsa-topology-conf (1.2.4-1 -> 1.2.4-2)
alsa-ucm-conf (1.2.4-1 -> 1.2.4-2)
alsa-lib (1.2.4-2 -> 1.2.4-3)
alsa-utils (1.2.4-1 -> 1.2.4-2)
expat (2.2.9-3 -> 2.2.10-2)
libpcap (1.9.1-2 -> 1.9.1-4)
libusb (1.0.23-2 -> 1.0.23-3)
chromium (86.0.4240.75-1 -> 86.0.4240.111-1)
enchant (2.2.10-1 -> 2.2.11-1)
lib32-alsa-lib (1.2.4-1 -> 1.2.4-2)
opera-ffmpeg-codecs (85.0.4183.102-1 -> 86.0.4240.80-2)

Of these packages, only opera-ffmpeg-codecs is a direct dependency of discord.
STDOUT and STDERR of discord crashing is attached
Comment by j-james (j-james) - Thursday, 22 October 2020, 02:35 GMT
I can also confirm / reproduce. The update that borked it for me included:
alsa-firmware (1.2.4-1 -> 1.2.4-2)
alsa-topology-conf (1.2.4-1 -> 1.2.4-2)
alsa-ucm-conf (1.2.4-1 -> 1.2.4-2)
alsa-lib (1.2.4-2 -> 1.2.4-3)
alsa-utils (1.2.4-1 -> 1.2.4-2)
enchant (2.2.10-1 -> 2.2.11-1)
libnice (0.1.17-1 -> 0.1.18-1)
opera-ffmpeg-codecs (85.0.4183.102-1 -> 86.0.4240.80-2)

Manually downgrading opera-ffmpeg-codecs to its previous version (85.0.4183.102-1) fixed the problem for me.

(I've attached my cached pre-built package for anyone having trouble building.)
Comment by Matt Coffin (mcoffin) - Thursday, 22 October 2020, 02:39 GMT
I can also reproduce this, but couldn't get the old version to build, so I had to ask a friend for a pre-built package since I recently lost my pacman cache.

Unfortunately, this segfault probably has to do with an incompatibility with the version of cef packaged in with Discord, so it might require a change on their end to use the new `opera-ffmpeg-codecs`. Hopefully that's possible for them without breaking compatibility with the old version.
Comment by Scott K. (Pillgar) - Thursday, 22 October 2020, 05:19 GMT
Glad I'm not the only one. Downgrading opera-ffmpeg-codecs resolves it. FYI... Discord-Canary works.
Comment by Hanabishi (Hanabishi) - Thursday, 22 October 2020, 09:31 GMT
I think this is Electron issue. Official Discord package includes an outdated version. Because AUR version that uses system 'electron' package instead ('discord_arch_electron') works fine.
Comment by Lou (loulou921222) - Thursday, 22 October 2020, 10:24 GMT
Should the bug report be filed against the discord package then? That it doesn't work with the new opera-ffmpeg-codecs because of electron in that case?
Comment by Hanabishi (Hanabishi) - Thursday, 22 October 2020, 11:28 GMT
Definitely. But seems like there is nothing package maintainers can really do. Because in fact this is pure official Discord client for Linux just repacked into Arch package format. That means the original client executable from here https://dl.discordapp.net/apps/linux/0.0.12/discord-0.0.12.tar.gz is flawed. So the only way is to ask Discord devs to update electron version included.
OR maybe 'discord' package maintainers will agree just to drop existing Electron binary and make Discord depend on Electron from Arch repo. As it already done in 'discord_arch_electron' AUR package.
Comment by Orhun Parmaksız (orhun) - Thursday, 22 October 2020, 11:30 GMT
In my case it loads up the main window and goes into a crash loop.

discord: 0.0.12-1
opera-ffmpeg-codecs: 86.0.4240.80-2
Comment by Lou (loulou921222) - Thursday, 22 October 2020, 11:40 GMT
Using Electron from the Arch repos seems like the fastest solution
Comment by Orhun Parmaksız (orhun) - Thursday, 22 October 2020, 11:54 GMT
I attached the dmesg output of the crash.
Comment by Hunab Ku (hunabku) - Thursday, 22 October 2020, 12:20 GMT
When i download Discord tar.gz on discordapp website, extract, and launch "Discord" executable, Discord launch sucessfully but not with discord archlinux package.
Tested with/without opera-ffmpeg-codecs installed.
Comment by Hanabishi (Hanabishi) - Thursday, 22 October 2020, 13:01 GMT
Yeah, really. I was wrong about the package pureness. Maintainers replaced some libs https://github.com/archlinux/svntogit-community/blob/fa16aa9000d270948c4f67f4b0a3655bd2cff445/repos/community-x86_64/PKGBUILD#L46
The official client already has it's own libffmpeg.so included and they are replaced it with symlink to 'opera-ffmpeg-codecs' package. This is very weird solution, what is the reason to replace some 3rd-party libs but keep old Electron binary that can became incompatible with them.
Comment by Adam Orr (adamjorr) - Thursday, 22 October 2020, 22:26 GMT
Adding the arch electron as a package dependency and using it seems like the most consistent option.
Comment by Filipe Laíns (FFY00) - Friday, 23 October 2020, 12:03 GMT
Sorry for the trouble. We can't use arch's electron because Discord uses a patched version of electron.

I have removed the devendoring of dependencies for now.

Loading...