Bug 258607 - print/harfbuzz 3.0.0 | editors/vscode code-oss: Undefined symbol "hb_subset_input_set_retain_gids"
Summary: print/harfbuzz 3.0.0 | editors/vscode code-oss: Undefined symbol "hb_subset_i...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Hiroki Tagato
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-09-19 17:49 UTC by Graham Perrin
Modified: 2021-10-16 00:36 UTC (History)
4 users (show)

See Also:
bugzilla: maintainer-feedback? (tagattie)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Graham Perrin 2021-09-19 17:49:36 UTC
Code - OSS will not launch following an upgrade to packages on FreeBSD 14.0-CURRENT. 


% vscode
ld-elf.so.1: /usr/local/share/code-oss/bin/../code-oss: Undefined symbol "hb_subset_input_set_retain_gids"
% date ; uname -aKU
Sun 19 Sep 2021 18:36:14 BST
FreeBSD mowa219-gjp4-8570p-freebsd 14.0-CURRENT FreeBSD 14.0-CURRENT #109 main-n249408-ff33e5c83fa: Thu Sep 16 01:11:04  2021     root@mowa219-gjp4-8570p-freebsd:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG  amd64 1400033 1400033
% freebsd-version -kru
14.0-CURRENT
14.0-CURRENT
14.0-CURRENT
% pkg info -x code-oss
pkg: No package(s) matching code-oss
% pkg info -x vscode
vscode-1.56.2_1
% bectl list
BE                             Active Mountpoint Space Created
14.0-CURRENT_2021-09-18_113006 -      -          150M  2021-09-18 11:30
default                        -      -          789M  2021-08-26 16:33
n247565-b49ba74deeb-f          -      -          36.7G 2021-08-26 19:50
n247798-f39dd6a9784-a          -      -          22.9M 2021-08-26 22:54
n247798-f39dd6a9784-e          -      -          328M  2021-08-26 22:55
n247798-f39dd6a9784-j          -      -          4.98G 2021-08-26 22:55
n248139-3a57f08b504-b          -      -          1.21G 2021-08-26 22:54
n248269-941650aae97-b          -      -          524M  2021-08-26 22:54
n248269-941650aae97-d          -      -          260M  2021-08-26 22:55
n248269-941650aae97-e          -      -          40.5M 2021-08-26 22:54
n248269-941650aae97-f          -      -          5.03G 2021-08-26 22:54
n249159-bb61ccd530b-c          -      -          6.49G 2021-09-14 18:34
n249408-ff33e5c83fa-c          -      -          25.1M 2021-09-18 08:09
n249408-ff33e5c83fa-d          NR     /          53.7G 2021-09-19 17:20
% sudo bectl activate n249408-ff33e5c83fa-c
grahamperrin's password:
Successfully activated boot environment n249408-ff33e5c83fa-c
% 

----

% grep pkg /var/log/messages | grep Sep\ 19
Sep 19 06:02:03 mowa219-gjp4-8570p-freebsd pkg[18886]: exa-0.10.1_3 installed
Sep 19 16:59:24 mowa219-gjp4-8570p-freebsd pkg[82052]: pangox-compat-0.0.2_3 installed
Sep 19 16:59:24 mowa219-gjp4-8570p-freebsd pkg[82052]: gtkglext-1.2.0_20 installed
Sep 19 16:59:25 mowa219-gjp4-8570p-freebsd pkg[82052]: anydesk-6.0.1_1 installed
Sep 19 17:29:03 mowa219-gjp4-8570p-freebsd pkg[2754]: libglvnd upgraded: 1.3.3 -> 1.3.4 
Sep 19 17:29:04 mowa219-gjp4-8570p-freebsd pkg[2754]: harfbuzz upgraded: 2.9.1 -> 3.0.0 
Sep 19 17:29:05 mowa219-gjp4-8570p-freebsd pkg[2754]: kf5-kdbusaddons upgraded: 5.86.0 -> 5.86.0_1 
Sep 19 17:29:06 mowa219-gjp4-8570p-freebsd pkg[2754]: libodfgen01 upgraded: 0.1.7_3 -> 0.1.8 
Sep 19 17:29:07 mowa219-gjp4-8570p-freebsd pkg[2754]: libmwaw03 upgraded: 0.3.15 -> 0.3.20 
Sep 19 17:29:08 mowa219-gjp4-8570p-freebsd pkg[2754]: libetonyek01 upgraded: 0.1.9_8,1 -> 0.1.10,1 
Sep 19 17:29:08 mowa219-gjp4-8570p-freebsd pkg[2754]: libcdr01 upgraded: 0.1.6_2 -> 0.1.7 
Sep 19 17:29:09 mowa219-gjp4-8570p-freebsd pkg[2754]: kImageAnnotator upgraded: 0.5.1_1 -> 0.5.2 
Sep 19 17:29:09 mowa219-gjp4-8570p-freebsd pkg[2754]: harfbuzz-icu upgraded: 2.9.1 -> 3.0.0 
Sep 19 17:29:09 mowa219-gjp4-8570p-freebsd pkg[2754]: webcamd upgraded: 5.13.2.6 -> 5.13.2.6_1 
Sep 19 17:29:13 mowa219-gjp4-8570p-freebsd pkg[2754]: sudo upgraded: 1.9.8 -> 1.9.8p1 
Sep 19 17:29:14 mowa219-gjp4-8570p-freebsd pkg[2754]: spectacle upgraded: 21.08.1 -> 21.08.1_1 
Sep 19 17:29:18 mowa219-gjp4-8570p-freebsd pkg[2754]: qca-qt5 upgraded: 2.3.3 -> 2.3.4 
Sep 19 17:29:18 mowa219-gjp4-8570p-freebsd pkg[2754]: portshaker upgraded: 1.0.19_1 -> 1.0.19_2 
Sep 19 17:29:18 mowa219-gjp4-8570p-freebsd pkg[2754]: mkjail upgraded: 0.0.2 -> 0.0.3 
Sep 19 17:30:36 mowa219-gjp4-8570p-freebsd pkg[2754]: libreoffice upgraded: 7.2.0.4_2 -> 7.2.1.2 
Sep 19 17:30:36 mowa219-gjp4-8570p-freebsd pkg[2754]: ksnip upgraded: 1.9.0_1 -> 1.9.0_2 
%
Comment 1 Graham Perrin 2021-09-19 18:11:55 UTC
<https://github.com/harfbuzz/harfbuzz/commit/942636ae1300e56dfe599b5f961719f044bdf828> (2021-07-22) tagged 3.0.0 was: 

> [subset] Remove hb_subset_input_get/set_retain_gids.

Related: 

<https://cgit.freebsd.org/ports/commit/print/harfbuzz?id=dbc5f433f85804a16c00019d2994e98337c0ba3d> (2021-09-18)

> print/harfbuzz: update to 3.0.0

----

(In reply to Graham Perrin from comment #0)

> … harfbuzz upgraded: 2.9.1 -> 3.0.0 …

Bugged boot environment: 

    n249408-ff33e5c83fa-d

Worked around by activating then booting pre-upgrade environment: 

    n249408-ff33e5c83fa-c
Comment 2 Sergey A. Osokin freebsd_committer 2021-09-19 22:12:41 UTC
Hi Graham,

thanks for the report!

Several other packages are also broken, at least www/chromium.

I've checked out ports tree to the following commit

% git checkout 5078995a739bdf208116a5b9e98c5364fb8cef06

and rebuild of print/harfbuzz and print/harfbuzz-icu has brought a temporary workaround for the issue.
Comment 3 Graham Perrin 2021-09-20 01:38:20 UTC
Thank you, 

(In reply to Sergey A. Osokin from comment #2)

> 5078995a739bdf208116a5b9e98c5364fb8cef06

(parent of dbc5f433f85804a16c00019d2994e98337c0ba3d)

----

Here, in the pre-upgrade environment (n249408-ff33e5c83fa-c) I temporarily locked harfbuzz and harfbuzz-icu then created, booted and upgraded a new environment (n249408-ff33e5c83fa-e). 

So far, no adverse effect from the locks. 


root@mowa219-gjp4-8570p-freebsd:~ # pkg lock -l
Currently locked packages:
harfbuzz-2.9.1
harfbuzz-icu-2.9.1
kmix-999
root@mowa219-gjp4-8570p-freebsd:~ # pkg upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
Updating poudriere repository catalogue...
poudriere repository is up to date.
All repositories are up to date.
Checking for upgrades (9 candidates): 100%
Processing candidates (9 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.
root@mowa219-gjp4-8570p-freebsd:~ # bectl list | grep NR
n249408-ff33e5c83fa-e          NR     /          53.8G 2021-09-19 19:11
root@mowa219-gjp4-8570p-freebsd:~ #
Comment 5 Jan Beich freebsd_committer 2021-09-21 18:19:14 UTC
Also, binary package fix for -CURRENT is blocked by bug 257378 e.g.,

In file included from ../../third_party/nasm/asm/assemble.c:178:
../../third_party/nasm/include/compiler.h:249:21: error: static declaration of 'mempcpy' follows non-static declaration
static inline void *mempcpy(void *dst, const void *src, size_t n)
                    ^
/usr/include/string.h:70:7: note: previous declaration is here
void    *mempcpy(void * __restrict, const void * __restrict, size_t);
         ^
1 error generated.

http://beefy18.nyi.freebsd.org/data/main-amd64-default/pdf04190969ea_s53cce2e744/logs/errors/electron12-12.0.9_2.log (harfbuzz-3.0.0)
http://beefy18.nyi.freebsd.org/data/main-amd64-default/pd1f850d50d64_s9ebe4b8c67/logs/errors/electron12-12.0.9_1.log (harfbuzz-2.9.1)
http://beefy18.nyi.freebsd.org/data/main-amd64-default/pa5031e7be52b_scbfba56c45/logs/errors/electron12-12.0.9_1.log (harfbuzz-2.8.2)
Comment 6 Graham Perrin 2021-09-24 05:49:08 UTC
(In reply to Jan Beich from comment #4)

> Duplicate of bug 258576? …

I suspect not. 

With 258576 fixed, and with packages here upgraded (including chromium-92.0.4515.159_2): 

* Code - OSS will not launch. 


A workaround, as before: 

* lock harfbuzz and harfbuzz-icu prior to upgrade.
Comment 7 Jan Beich freebsd_committer 2021-09-24 08:36:47 UTC
(In reply to Graham Perrin from comment #6)
> * Code - OSS will not launch. 

Make sure you have electron12-12.0.9_2 as electron12-12.0.9_1 is not supported with harfbuzz-3.0.0. ABI has changed[1], so PORTREVISION got bumped thus a partial upgrade would be a pilot error. However, electron12 and vscode packages are currently missing on -CURRENT, so rebuild those locally after applying bug 257378 fix.

[1] electron12-12.0.9_2 is compatible with harfbuzz-2.9.0, harfbuzz-2.9.1 and harfbuzz-3.0.0 while electron12-12.0.9_1 is compatible with harfbuzz-2.8.2 and older.
Comment 8 commit-hook freebsd_committer 2021-09-24 08:46:41 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ffb75f8cc27c733c56fd3bafe4d086559905ce2c

commit ffb75f8cc27c733c56fd3bafe4d086559905ce2c
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2021-09-24 08:42:45 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2021-09-24 08:45:56 +0000

    editors/vscode: force rebuild after 3e693f24a78f

    Refresh the bundled version of devel/electron12, compatible with
    harfbuzz-2.9.0, harfbuzz-2.9.1 and harfbuzz-3.0.0.

    PR:             258607

 editors/vscode/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 9 Jan Beich freebsd_committer 2021-09-24 08:57:57 UTC
comment 8 is mainly for portmaster and maybe "pkg upgrade" users as poudriere already rebuilt vscode after electron12 got fixed. See http://beefy16.nyi.freebsd.org/build.html?mastername=130amd64-default&build=df04190969ea
Comment 10 Graham Perrin 2021-10-16 00:36:21 UTC
I gained the upgrade to electron12 from the FreeBSD repository, unlocked then upgraded harfbuzz and harfbuzz-icu, Code - OSS works. 

% zcat /var/log/messages.0.bz2 | grep -e harfbuzz -e electron
Oct 13 07:41:46 mowa219-gjp4-8570p-freebsd pkg[1984]: electron12 upgraded: 12.0.9_1 -> 12.0.9_2 
Oct 13 07:44:15 mowa219-gjp4-8570p-freebsd pkg[3312]: harfbuzz upgraded: 2.9.1 -> 3.0.0 
Oct 13 07:44:15 mowa219-gjp4-8570p-freebsd pkg[3312]: harfbuzz-icu upgraded: 2.9.1 -> 3.0.0 
% pkg query %R devel/electron12
FreeBSD
%