← Back to team overview

kernel-packages team mailing list archive

[Bug 1471029] Re: ELF programs with R_386_RELATIVE blocks are badly mapped into memory

 

Thanks Joseph!
It's no better with  3.16.0-44-generic #59~lp1471029. Perhaps even slightly worse -- in my sample of 2 I've seen the heap at b8d- and b94-, while I think stock Vivid 3.19 was most often in the b7's.

$ uname -a
Linux samba-build-i386-4-32bit 3.16.0-44-generic #59~lp1471029 SMP Wed Jul 22 22:24:19 UTC 2015 i686 i686 i686 GNU/Linux

$ /usr/bin/xsltproc --nonet -o default/docs-xml/manpages/smb.conf.5 /home/ubuntu/autobuild/b22271/samba/docs-xml/xslt/man.xsl default/docs-xml/manpages/smb.conf.5.xml & (set -e; for x in {1..200};  do cat /proc/$!/maps >  proc-maps/$!-$x; sleep 0.2;done)
[1] 919
[1]+  Segmentation fault

$ head proc-maps/919-2
b5976000-b5979000 rw-p 00000000 00:00 0 
b5979000-b5995000 r-xp 00000000 fd:01 2095       /lib/i386-linux-gnu/libgcc_s.so.1
b5995000-b5996000 rw-p 0001b000 fd:01 2095       /lib/i386-linux-gnu/libgcc_s.so.1
b5996000-b5997000 rw-p 00000000 00:00 0 
b5997000-b5a80000 r-xp 00000000 fd:01 56064      /usr/lib/i386-linux-gnu/libstdc++.so.6.0.20
b5a80000-b5a84000 r--p 000e9000 fd:01 56064      /usr/lib/i386-linux-gnu/libstdc++.so.6.0.20
b5a84000-b5a85000 rw-p 000ed000 fd:01 56064      /usr/lib/i386-linux-gnu/libstdc++.so.6.0.20
b5a85000-b5a8c000 rw-p 00000000 00:00 0 
b5a8c000-b70f7000 r-xp 00000000 fd:01 55921      /usr/lib/i386-linux-gnu/libicudata.so.52.1
b70f7000-b70f8000 r--p 0166a000 fd:01 55921      /usr/lib/i386-linux-gnu/libicudata.so.52.1

$ tail proc-maps/919-2
b77c3000-b77c4000 r-xp 00000000 00:00 0          [vdso]
b77c4000-b77c6000 r--p 00000000 00:00 0          [vvar]
b77c6000-b77e8000 r-xp 00000000 fd:01 2083       /lib/i386-linux-gnu/ld-2.21.so
b77e8000-b77e9000 r--p 00021000 fd:01 2083       /lib/i386-linux-gnu/ld-2.21.so
b77e9000-b77ea000 rw-p 00022000 fd:01 2083       /lib/i386-linux-gnu/ld-2.21.so
b77ea000-b77ef000 r-xp 00000000 fd:01 58216      /usr/bin/xsltproc
b77ef000-b77f0000 r--p 00004000 fd:01 58216      /usr/bin/xsltproc
b77f0000-b77f1000 rw-p 00005000 fd:01 58216      /usr/bin/xsltproc
b8db2000-b8f11000 rw-p 00000000 00:00 0          [heap]
bfbd8000-bfbf9000 rw-p 00000000 00:00 0          [stack]

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1471029

Title:
  ELF programs with R_386_RELATIVE blocks are badly mapped into memory

Status in libxslt package in Ubuntu:
  Triaged
Status in linux package in Ubuntu:
  Triaged

Bug description:
  Running the Samba autobuild tests on a 15.04 openstack image results
  in a segfault in this command:

  /usr/bin/xsltproc --nonet -o default/docs-xml/manpages/smb.conf.5
  /home/ubuntu/autobuild/b22271/samba/docs-xml/xslt/man.xsl default
  /docs-xml/manpages/smb.conf.5.xml

  I reported this upstream as a bug in xsltproc, but it was found to be
  impossible to reproduce using upstream source on the openstack
  instance:

  https://bugzilla.gnome.org/show_bug.cgi?id=751764

  Comment 8 (https://bugzilla.gnome.org/show_bug.cgi?id=751764#c8) is
  particularly informative.

  The stack trace below shows the segfault actually occurs in libxml's
  xpath evaluation functions. I see no difference between xpath.c in
  upstream 2.9.2 and Ubuntu's version.

  (gdb) bt 12
  #0  0xb760f874 in xmlXPathCompOpEval (ctxt=0xba25d3e8, op=0xb86bc818) at ../../xpath.c:13606
  #1  0xb760f82e in xmlXPathCompOpEval (ctxt=0xba25d3e8, op=0xb86bc890) at ../../xpath.c:13598
  #2  0xb7610244 in xmlXPathCompOpEval (ctxt=0xba25d3e8, op=0xb86bc8b8) at ../../xpath.c:13529
  #3  0xb760f9d6 in xmlXPathCompOpEval (ctxt=0xba25d3e8, op=0xb86bc8e0) at ../../xpath.c:13977
  #4  0xb7612735 in xmlXPathCompOpEval (op=<optimized out>, ctxt=0xba25d3e8) at ../../xpath.c:14552
  #5  xmlXPathRunEval (ctxt=0xba25d3e8, toBool=<optimized out>) at ../../xpath.c:14552
  #6  0xb76171ed in xmlXPathCompiledEvalInternal (toBool=0, resObj=<synthetic pointer>, ctxt=<optimized out>, comp=<optimized out>) at ../../xpath.c:14915
  #7  xmlXPathCompiledEval__internal_alias (comp=0xb866a948, ctx=0xb99bd308) at ../../xpath.c:14978
  #8  0xb7787260 in xsltEvalVariable (ctxt=ctxt@entry=0xb9836560, variable=variable@entry=0xba25d3b0, castedComp=0xb86a4238) at ../../../libxslt/variables.c:903
  #9  0xb778759a in xsltBuildVariable (ctxt=0xb9836560, castedComp=0xb86a4238, tree=0xb86a6978) at ../../../libxslt/variables.c:1759
  #10 0xb7788bfa in xsltParseStylesheetCallerParam (ctxt=0xb86a6978, inst=0xb86a6978) at ../../../libxslt/variables.c:1975
  #11 0xb779b9db in xsltCallTemplate (ctxt=0xb9836560, node=0xb85efed8, inst=0xb86a6880, castedComp=0xb86a4148) at ../../../libxslt/transform.c:4739
  (More stack frames follow...)

  (gdb) bt -5
  #3311 0xb779a7de in xsltProcessOneNode (ctxt=0xb9836560, contextNode=0xb97586a0, withParams=0x0) at ../../../libxslt/transform.c:2097
  #3312 0xb779d818 in xsltApplyStylesheetInternal (style=0xba25d3e8, style@entry=0xb85ee200, doc=0xb86bc7f0, doc@entry=0xb97586a0, params=0xb77ed340 <params>, 
      output=0xb85e13e0 "default/docs-xml/manpages/smb.conf.5", profile=0x0, userCtxt=0xb9836560) at ../../../libxslt/transform.c:6159
  #3313 0xb779df8d in xsltRunStylesheetUser (style=0xb85ee200, doc=0xb97586a0, params=0xb77ed340 <params>, output=0xb85e13e0 "default/docs-xml/manpages/smb.conf.5", SAX=0x0, IObuf=0x0, 
      profile=0x0, userCtxt=0xb9836560) at ../../../libxslt/transform.c:6449
  #3314 0xb77ea12c in xsltProcess (doc=0xb97586a0, cur=0xb85ee200, filename=0xbfd59812 "default/docs-xml/manpages/smb.conf.5.xml") at ../../../xsltproc/xsltproc.c:483
  #3315 0xb77e9298 in main (argc=6, argv=0xbfd58f94) at ../../../xsltproc/xsltproc.c:903
  --- 
  AlsaDevices:
   total 0
   crw-rw---- 1 root audio 116,  1 Jul  9 00:13 seq
   crw-rw---- 1 root audio 116, 33 Jul  9 00:13 timer
  AplayDevices: Error: [Errno 2] No such file or directory
  ApportVersion: 2.17.2-0ubuntu1.1
  Architecture: i386
  ArecordDevices: Error: [Errno 2] No such file or directory
  AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/timer', '/dev/snd/seq'] failed with exit code 1:
  CRDA: Error: [Errno 2] No such file or directory
  DistroRelease: Ubuntu 15.04
  Ec2AMI: ami-0000012b
  Ec2AMIManifest: FIXME
  Ec2AvailabilityZone: nz-por-1a
  Ec2InstanceType: c1.c4r4
  Ec2Kernel: aki-00000005
  Ec2Ramdisk: ari-00000005
  IwConfig: Error: [Errno 2] No such file or directory
  Lsusb:
   Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd 
   Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  MachineType: OpenStack Foundation OpenStack Nova
  Package: linux (not installed)
  PciMultimedia:
   
  ProcEnviron:
   TERM=xterm
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  ProcFB:
   
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.19.0-20-generic root=LABEL=cloudimg-rootfs ro console=tty1 console=ttyS0
  ProcVersionSignature: User Name 3.19.0-20.20-generic 3.19.8
  RelatedPackageVersions:
   linux-restricted-modules-3.19.0-20-generic N/A
   linux-backports-modules-3.19.0-20-generic  N/A
   linux-firmware                             N/A
  RfKill: Error: [Errno 2] No such file or directory
  Tags:  vivid ec2-images
  UdevLog: Error: [Errno 2] No such file or directory: '/var/log/udev'
  Uname: Linux 3.19.0-20-generic i686
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups: adm audio cdrom dialout dip floppy netdev plugdev sudo video
  _MarkForUpload: True
  dmi.bios.date: 01/01/2011
  dmi.bios.vendor: Bochs
  dmi.bios.version: Bochs
  dmi.chassis.type: 1
  dmi.chassis.vendor: Bochs
  dmi.modalias: dmi:bvnBochs:bvrBochs:bd01/01/2011:svnOpenStackFoundation:pnOpenStackNova:pvr99-2014.1.4:cvnBochs:ct1:cvr:
  dmi.product.name: OpenStack Nova
  dmi.product.version: 99-2014.1.4
  dmi.sys.vendor: OpenStack Foundation

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