[Bug 1580577] [NEW] python2.7 crashes with SegFault when running Zope

Ján Jockusch jan.jockusch at perfact.de
Wed May 11 12:36:02 UTC 2016


Public bug reported:

Source package / Package:

python2.7_2.7.11-7ubuntu1

System:

Description:	Ubuntu 16.04 LTS
Release:	16.04


This is a bug report originating from the findings documented in

https://github.com/zopefoundation/Zope/issues/56


The expected behaviour is this:
- Upon installing Zope2 in a virtualenv a default instance should work with no issues.

What happens instead:
- The freshly installed Zope instance causes Python to SegFault after only a few requests.

But Python should never SegFault.


The following program produces the error:


#!/bin/bash
set -e

# Call this testing script with an argument "setup" for the first time
# to build the testing case
#
# After that, the script only performs the test as described below.
#
# Requirements: apt-get install virtualenv python2.7-dbg
#
# This script needs internet access when running.

# The python version to test:
python=/usr/bin/python2.7-dbg

# This part builds the testing environment

if [ "$1" == "setup" ] ; then
    # Virtual environment with the chosen python 
    virtualenv --python ${python} --no-site-packages zope-virtualenv
    cd zope-virtualenv
    # Basic Zope installation
    ./bin/easy_install -i http://download.zope.org/Zope2/index/2.13.24 Zope2
    # Simplest possible Zope instance
    ./bin/mkzopeinstance --dir instance --user admin:admin
    cd ..
fi

# THE TEST

# Run Zope instance in the background
zope-virtualenv/instance/bin/runzope &

# Give Zope some time to start up
sleep 3

# Call a few management URLs, nothing too fancy...
urls="
http://admin:admin@localhost:8080/Control_Panel/manage_main
http://admin:admin@localhost:8080/Control_Panel/Database/main/manage_main
http://admin:admin@localhost:8080/Control_Panel/Database/manage_main
http://admin:admin@localhost:8080/Control_Panel/Database/main/manage_activity
http://admin:admin@localhost:8080/manage
http://admin:admin@localhost:8080/acl_users/manage_main
http://admin:admin@localhost:8080/acl_users/manage_access
"

while true ; do
    for url in ${urls} ; do 
	echo ${url}
        curl -s $url -o /dev/null
    done
done

# This test fails after about 10 requests with
# Fatal Python error: ../Objects/descrobject.c:10 object at 0x??? has negative ref count -1

** Affects: python2.7 (Ubuntu)
     Importance: Undecided
         Status: New

** Attachment added: "Script to reproduce the error on a fresh Ubuntu 16.04"
   https://bugs.launchpad.net/bugs/1580577/+attachment/4660632/+files/testing_script.sh

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

Title:
  python2.7 crashes with SegFault when running Zope

Status in python2.7 package in Ubuntu:
  New

Bug description:
  Source package / Package:

  python2.7_2.7.11-7ubuntu1

  System:

  Description:	Ubuntu 16.04 LTS
  Release:	16.04

  
  This is a bug report originating from the findings documented in

  https://github.com/zopefoundation/Zope/issues/56

  
  The expected behaviour is this:
  - Upon installing Zope2 in a virtualenv a default instance should work with no issues.

  What happens instead:
  - The freshly installed Zope instance causes Python to SegFault after only a few requests.

  But Python should never SegFault.

  
  The following program produces the error:

  
  #!/bin/bash
  set -e

  # Call this testing script with an argument "setup" for the first time
  # to build the testing case
  #
  # After that, the script only performs the test as described below.
  #
  # Requirements: apt-get install virtualenv python2.7-dbg
  #
  # This script needs internet access when running.

  # The python version to test:
  python=/usr/bin/python2.7-dbg

  # This part builds the testing environment

  if [ "$1" == "setup" ] ; then
      # Virtual environment with the chosen python 
      virtualenv --python ${python} --no-site-packages zope-virtualenv
      cd zope-virtualenv
      # Basic Zope installation
      ./bin/easy_install -i http://download.zope.org/Zope2/index/2.13.24 Zope2
      # Simplest possible Zope instance
      ./bin/mkzopeinstance --dir instance --user admin:admin
      cd ..
  fi

  # THE TEST

  # Run Zope instance in the background
  zope-virtualenv/instance/bin/runzope &

  # Give Zope some time to start up
  sleep 3

  # Call a few management URLs, nothing too fancy...
  urls="
  http://admin:admin@localhost:8080/Control_Panel/manage_main
  http://admin:admin@localhost:8080/Control_Panel/Database/main/manage_main
  http://admin:admin@localhost:8080/Control_Panel/Database/manage_main
  http://admin:admin@localhost:8080/Control_Panel/Database/main/manage_activity
  http://admin:admin@localhost:8080/manage
  http://admin:admin@localhost:8080/acl_users/manage_main
  http://admin:admin@localhost:8080/acl_users/manage_access
  "

  while true ; do
      for url in ${urls} ; do 
  	echo ${url}
          curl -s $url -o /dev/null
      done
  done

  # This test fails after about 10 requests with
  # Fatal Python error: ../Objects/descrobject.c:10 object at 0x??? has negative ref count -1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/1580577/+subscriptions



More information about the foundations-bugs mailing list