Public bug reported:

For using perl in C++ programs unfortunately a simple call to perl_clone
causes a segfault.  The problem does not happen on trusty, but does on
later Ubuntu iterations.   Could be perl version (5.18 OK vs 5.22/5.24
newer that fault) but as each platform only supports one version of perl
can't easily test the others.

(gdb) run
Starting program: /a.out
b[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7a6f13a in Perl_padnamelist_dup () from 
/usr/lib/x86_64-linux-gnu/libperl.so.5.24
(gdb) bt
#0  0x00007ffff7a6f13a in Perl_padnamelist_dup () from 
/usr/lib/x86_64-linux-gnu/libperl.so.5.24
#1  0x00007ffff7adca9f in perl_clone () from 
/usr/lib/x86_64-linux-gnu/libperl.so.5.24
#2  0x000055555555492d in main () at test.c:10
(gdb) Quit
(gdb)
#0  0x00007ffff7a6f13a in Perl_padnamelist_dup () from 
/usr/lib/x86_64-linux-gnu/libperl.so.5.24
#1  0x00007ffff7adca9f in perl_clone () from 
/usr/lib/x86_64-linux-gnu/libperl.so.5.24
#2  0x000055555555492d in main () at test.c:10

Sample system info from where broken:
Description:    Ubuntu 16.04.2 LTS
Release:        16.04
      perl |   5.22.1-9 | http://archive.ubuntu.com/ubuntu xenial/main amd64 
Packages
libperl-dev |   5.22.1-9 | http://archive.ubuntu.com/ubuntu xenial/main amd64 
Packages


to reproduce with docker:
docker run -t -i ubuntu:zesty bash
docker run -t -i ubuntu:yakkety bash
docker run -t -i ubuntu:xenial bash

ok with:
docker run -t -i ubuntu:trusty bash

then some packages:
apt-get update && apt-get install build-essential libperl-dev


finally the attached test.c file place and compile with:


and run with perl version:
trusty: 
gcc -g test.c -I/usr/lib/perl/5.18.2/CORE/ -lperl && ./a.out
xenial/yakkety (yakkety might be 5.22.2):
gcc -g test.c -I/usr/lib/x86_64-linux-gnu/perl/5.22.1/CORE/ -lperl && ./a.out
zesty:
gcc -g test.c -I/usr/lib/x86_64-linux-gnu/perl/5.24.1/CORE/ -lperl && ./a.out


Others cause seg fault, trusty is fine.

** Affects: perl (Ubuntu)
     Importance: Undecided
         Status: New

** Attachment added: "test file that segfaults"
   https://bugs.launchpad.net/bugs/1668450/+attachment/4827896/+files/test.c

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1668450

Title:
  perl_clone of libperl causes segfault on xenial, yakkety, zesty ok on
  trusty

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/perl/+bug/1668450/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to