After recent upgrade rxvt-unicode fails to start:
Assertion failed: (!argv[argc]), function perl_parse, file perl.c, line 1677.
zsh: abort urxvt
pkg version is rxvt-unicode-9.22.
256_COLOR : on
BACKSPACE_KEY : on
COMBINING : on
DELETE_KEY : on
DOCS : off
GDK_PIXBUF : on
IMLOCALE_FIX : on
ISO14755 : on
MOUSEWHEEL : on
NEXT_SCROLLBAR : on
NOTIFY : off
PERL : on
RXVT_SCROLLBAR : on
SMART_RESIZE : on
UNICODE3 : on
XIM : on
Shared Libs required:
$ uname -rsm
FreeBSD 13.0-CURRENT amd64
rxvt-unicode package (and all others on the system) were built using poudriere from a portstree updated on 2018-12-22.
Created attachment 200389 [details]
fix perl_parse usage
Apparently, rxvt-unicode doesn't property format argv/argc that it passes to perl.
"Mind that argv[argc] must be NULL, same as those passed to a main function in C."
And rxvt-unicode doesn't do that. Also, it looks like starting perl 5.27 there are asserts that check that:
Hence, now it fails with 5.28.
Attached patch fixes the problem for me.
Reported to upstream as well: http://lists.schmorp.de/pipermail/rxvt-unicode/2018q4/002488.html
(In reply to Thierry Thomas from comment #3)
Thanks! Do you want me to commit this or you'll commit it yourself?
Also, I think it'd be good to bump PORTREVISION, even though it should only affect users with DEBUG enabled.
Also, the patch was committed upstream: http://cvs.schmorp.de/rxvt-unicode/src/rxvtperl.xs?r1=1.242&r2=1.243. I notice the only difference is that NULL was changed to 0.
Do not hesitate to commit it yourself!
A commit references this bug:
Date: Thu Dec 27 08:51:37 UTC 2018
New revision: 488515
x11/rxvt-unicode: fix perl_parse() usage
Perl 5.28 added asserts to perl_parse() to check passed arguments, so
rxvt with perl support fails to start with assertion error when
DEBUG is enabled. Fix by constructing arguments passed to
perl_parse() properly, and bump PORTREVISION.
Approved by: thierry (maintainer)