FWIW I have the same error on (PE)RL_DESTRUCT_LEVEL here:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  __GI_getenv (name=0x7fcd3fea700d "RL_DESTRUCT_LEVEL") at getenv.c:84
(gdb) bt
#0  __GI_getenv (name=0x7fcd3fea700d "RL_DESTRUCT_LEVEL") at getenv.c:84
#1  0x00007fcd3fd4a563 in perl_destruct () from 
/lib/x86_64-linux-gnu/libperl.so.5.32
#2  0x0000557110f65845 in rxvt_perl_interp::~rxvt_perl_interp() ()
#3  0x00007fcd3fb294d7 in __run_exit_handlers (status=0, listp=0x7fcd3fca9718 
<__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, 
run_dtors=run_dtors@entry=true) at exit.c:108
#4  0x00007fcd3fb2967a in __GI_exit (status=<optimized out>) at exit.c:139
#5  0x00007fcd3fb11d11 in __libc_start_main (main=0x557110f41230 <main>, 
argc=1, argv=0x7fff0b0ae308, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=0x7fff0b0ae2f8) at ../csu/libc-start.c:342
#6  0x0000557110f4557a in _start ()



Since it's in perl I would expect some extension to be required to have
that crash?


Anyway, it looks like opensuse has a patch for it since a couple of months
ago:

https://github.com/bmwiedemann/openSUSE/blob/5c5842c9dda0ca970847167c3710d96b0d9e4dfd/packages/r/rxvt-unicode/rxvt-unicode-9.22-perl_environ_segfault.patch
(copied here for archive purpose, credits to Marcus Huewe <suse-...@gmx.de>)
--- a/src/rxvtperl.xs.orig
+++ b/src/rxvtperl.xs
@@ -376,6 +376,7 @@ rxvt_perl_interp::~rxvt_perl_interp ()
 {
   if (perl)
     {
+      localise_env set_environ (perl_environ);
       perl_destruct (perl);
       perl_free (perl);
       PERL_SYS_TERM ();


Please consider the patch for inclusion as well!
-- 
Dominique Martinet | Asmadeus

Reply via email to