FS#70213 - [hexchat] fails to start with lua 5.4.3

Attached to Project: Community Packages
Opened by Andreas Radke (AndyRTR) - Tuesday, 30 March 2021, 05:52 GMT
Last edited by Daurnimator (daurnimator) - Tuesday, 01 February 2022, 15:15 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Christian Hesse (eworm)
Anatol Pomozov (anatolik)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

hexchat fails to start with testing lua 5.4.3-1 giving a segfault:

andyrtr@workstation64:[/tmp/hexchat/trunk]$ LANG=C hexchat

** (hexchat:12503): WARNING **: 07:46:14.919: Error loading plugin: libvoikko.so.1: cannot open shared object file: No such file or directory


** (hexchat:12503): WARNING **: 07:46:14.921: Error loading plugin: libhspell.so.0: cannot open shared object file: No such file or directory


** (hexchat:12503): WARNING **: 07:46:14.987: Error loading plugin: libvoikko.so.1: cannot open shared object file: No such file or directory


** (hexchat:12503): WARNING **: 07:46:14.987: Error loading plugin: libhspell.so.0: cannot open shared object file: No such file or directory

PANIC: unprotected error in call to Lua API (attempt to call a nil value)
Abgebrochen (Speicherabzug geschrieben)

Looks like upstream is not yet aware of it. If you can confirm it I will can open an isses at:
https://github.com/hexchat/hexchat/issues?q=is%3Aissue+is%3Aopen+lua

(a simple rebuild doesn't fix it)
BTW: I don't know why it fails over lua. I don't know it would load any plugin using lua. I don't remember that I had configured it to do so. So maybe lua isn't an optional dependency.
This task depends upon

Closed by  Daurnimator (daurnimator)
Tuesday, 01 February 2022, 15:15 GMT
Reason for closing:  Fixed
Comment by Christian Hesse (eworm) - Tuesday, 30 March 2021, 06:48 GMT
I can not see all these "cannot open shared object file" messages... Where do these come from?

However I can confirm that it fails with "PANIC: unprotected error in call to Lua API (attempt to call a nil value)" if lua is installed.
It starts fine if lua is not installed, so this definitely is an optional dependency.
Comment by Mateusz Gozdek (invidian) - Friday, 02 April 2021, 17:58 GMT
>I can not see all these "cannot open shared object file" messages... Where do these come from?

That comes from optional dependencies for spell checking etc.

I can also confirm that it segfaults. Will submit an upstream issue.

As a workaround, one can use "hexchat -n" to disable the plugins.

EDIT: reported here: https://github.com/hexchat/hexchat/issues/2558, though I doubt it will be fixed upstream, as project doesn't seem to be maintained really.

I also cannot reproduce it inside Docker, using

```
docker run -it --rm archlinux sh -c 'pacman -Sy --noconfirm hexchat lua && hexchat-text'
```
Comment by Jan Alexander Steffens (heftig) - Sunday, 04 April 2021, 00:50 GMT
totem crashes with the same message.
Comment by Mateusz Gozdek (invidian) - Sunday, 04 April 2021, 10:13 GMT
In https://github.com/hexchat/hexchat/issues/2558, we figured it's most likely lua regression. With current lua in testing 5.4.3 it's crashing, with lua from stable (5.4.2) everything works fine. I wonder if we should mark this as resolved and report one for lua package?
Comment by Pascal Ernster (hardfalcon) - Sunday, 04 April 2021, 11:49 GMT
In case you don't want to downgrade your lua package until this bug is resolved, you can recompile hexchat with the line

-Dwith-lua='lua' \

replaced with the line

-Dwith-lua='false' \

But of course, this will have the side effect of preventing you from using lua plugins in Hexchat.
Comment by Anatol Pomozov (anatolik) - Sunday, 04 April 2021, 16:01 GMT
@Mateusz Gozdek, I would not call it "lua regression". From my findings in the ticket you provided Lua 5.4.3 has dropped lua 5.3 compatibility behavior. And Lua developer(s) are known for their aggressive language evolution without focusing too much on the backward compatibility.

So if it is confirmed that the reason for this crash is broken compatibility then there are 2 choices:
- fix hexchat and make it compatible with 5.4
- compile hexchat with lua 5.3 https://archlinux.org/packages/extra/x86_64/lua53/
Comment by Mateusz Gozdek (invidian) - Sunday, 04 April 2021, 18:41 GMT
@Jan Alexander Steffens (heftig) it seems totem only crashes if you have "grilo-plugins" installed. I'm suspecting https://gitlab.gnome.org/GNOME/grilo-plugins/-/blob/master/src/lua-factory/grl-lua-library.c#L261 to be the issue, similar to what we see with hexchat.
Comment by Jan Alexander Steffens (heftig) - Sunday, 04 April 2021, 18:42 GMT Comment by Mateusz Gozdek (invidian) - Sunday, 04 April 2021, 19:20 GMT
Nice work.

I created https://github.com/hexchat/hexchat/pull/2559 for hexchat, I wonder if we can add it as a patch for hexchat for now, as I guess getting it upstream will take a while.
Comment by Christian Hesse (eworm) - Sunday, 04 April 2021, 20:23 GMT
Should be fixed in hexchat 2.14.3-7, please verify.
Comment by Mateusz Gozdek (invidian) - Sunday, 04 April 2021, 20:25 GMT
Indeed 2.14.3-7 starts just fine, thanks!

Loading...