slow emulation warning when loading libgomp.so.1

Bug #669160 reported by Kostas Chatzikokolakis
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
eglibc (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

The issue happens on lucid instances running on ec2. Loading /usr/lib/libgomp.so.1 takes a long time (~10 seconds) and the following warning appears in dmesg:

** WARNING: Currently emulating unsupported memory accesses **
** in /lib/tls glibc libraries. The emulation is **
** slow. To ensure full performance you should **
** install a 'xen-friendly' (nosegneg) version of **
** the library, or disable tls support by executing **
** the following as root: **
** mv /lib/tls /lib/tls.disabled **

To reproduce:
 - launch a lucid instance from ami-a403f7cd
 - apt-get install libgomp1
 - load /usr/lib/libgomp.so.1, eg
     perl -MDynaLoader -e 'DynaLoader::dl_load_file("/usr/lib/libgomp.so.1")'
  or run an executable that uses it, eg 'convert' from the imagemagick package.

A weird thing is that libgomp1 seems to be normally using the nosegneg version:

ldd /usr/lib/libgomp.so.1
 linux-gate.so.1 => (0xb77e2000)
 librt.so.1 => /lib/tls/i686/nosegneg/librt.so.1 (0xb77c1000)
 libpthread.so.0 => /lib/tls/i686/nosegneg/libpthread.so.0 (0xb77a8000)
 libc.so.6 => /lib/tls/i686/nosegneg/libc.so.6 (0xb764a000)
 /lib/ld-linux.so.2 (0xb77e3000)

Is it a false warning? Deleting /lib/tls does not help.

Note also that on maverick (ami-1a837773) this issue does _not_ exist, and ldd output is different:

ldd /usr/lib/libgomp.so.1
 linux-gate.so.1 => (0xb779f000)
 librt.so.1 => /lib/librt.so.1 (0xb7780000)
 libpthread.so.0 => /lib/libpthread.so.0 (0xb7766000)
 libc.so.6 => /lib/libc.so.6 (0xb7608000)
 /lib/ld-linux.so.2 (0xb77a0000)

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: libc6-xen 2.11.1-0ubuntu7.5
ProcVersionSignature: Ubuntu 2.6.32-309.18-ec2 2.6.32.21+drm33.7
Uname: Linux 2.6.32-309-ec2 i686
Architecture: i386
Date: Sun Oct 31 16:52:41 2010
Ec2AMI: ami-a403f7cd
Ec2AMIManifest: ubuntu-images-us/ubuntu-lucid-10.04-i386-server-20101020.manifest.xml
Ec2AvailabilityZone: us-east-1b
Ec2InstanceType: m1.small
Ec2Kernel: aki-6603f70f
Ec2Ramdisk: unavailable
ProcEnviron:
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: eglibc

Revision history for this message
Kostas Chatzikokolakis (kostas-chatzi) wrote :
Revision history for this message
Scott Moser (smoser) wrote :

Possibly related to bug 427288 and/or bug 432718. I'm really just mentioning them here for reference, I haven't looked much deeper.

Revision history for this message
Scott Moser (smoser) wrote :

I've just now reproduced:

ec2run-instances --region us-east-1 --instance-type m1.small ami-a403f7cd --key mykey

then
sudo apt-get update && sudo apt-get install libgomp1

$ time perl -MDynaLoader -e 'DynaLoader::dl_load_file("/usr/lib/libgomp.so.1")'

that took ~ 13 seconds, and I see the messages in dmesg.

Revision history for this message
Scott Moser (smoser) wrote :

Other interesting piece of info, I can't reproduce this on a t1.micro of ami-480df921
  us-east-1 ami-480df921 canonical ebs/ubuntu-lucid-10.04-i386-server-20101020

Revision history for this message
Kostas Chatzikokolakis (kostas-chatzi) wrote :

The other bugs are about the same warning indeed, but for different executables (init and dbus-uuidgen). Both bugs seem fixed in my instances. One interesting difference is that in bug 432718 dbus-uuidgen uses libraries under /lib/tls/i686/cmov/, while ldd /usr/lib/libgomp.so.1 shows only the nosegneg versions.

Scott Moser (smoser)
Changed in eglibc (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
dino99 (9d9) wrote :

This is no more a supported version now

Changed in eglibc (Ubuntu):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.