#817: Upgrading past SVN 1081 breaks external modules' datababse connectivity.
---------------------------------+------------------------------------------
 Reporter:  [EMAIL PROTECTED]  |        Owner:  anonymous
     Type:  defect               |       Status:  new      
 Priority:  normal               |    Milestone:  1.0b3    
Component:  SQLObject            |      Version:  0.9a5    
 Severity:  major                |   Resolution:           
 Keywords:                       |  
---------------------------------+------------------------------------------
Changes (by khorn):

  * milestone:  0.8 => 1.0b3

Old description:

> There was some change around 1081 (as reported by Matthew Bevan in
> [http://groups.google.com/group/turbogears/browse_thread/thread/8e6863219e25672/95f7823b1b88beb1
> this post]) that now causes a class (in an external module configured
> using TG's startup/shutdown notification entry point) inheriting from an
> InheritableSQLObject to throw the following traceback:
>
> {{{
> Traceback (most recent call last):
>   File "/usr/bin/tg-admin", line 7, in ?
>     sys.exit(
>   File "/usr/lib/python2.4/site-packages/setuptools-0.6a11-
> py2.4.egg/pkg_resources.py", line 236, in load_entry_point
>     return get_distribution(dist).load_entry_point(group, name)
>   File "/usr/lib/python2.4/site-packages/setuptools-0.6a11-
> py2.4.egg/pkg_resources.py", line 2097, in load_entry_point
>     return ep.load()
>   File "/usr/lib/python2.4/site-packages/setuptools-0.6a11-
> py2.4.egg/pkg_resources.py", line 1830, in load
>     entry = __import__(self.module_name, globals(),globals(),
> ['__name__'])
>   File "/home/mbevan/Projects/turbogears/turbogears/__init__.py", line
> 18, in ?
>     ext = entrypoint.load()
>   File "/usr/lib/python2.4/site-packages/setuptools-0.6a11-
> py2.4.egg/pkg_resources.py", line 1830, in load
>     entry = __import__(self.module_name, globals(),globals(),
> ['__name__'])
>   File "/home/mbevan/Projects/TG-Content/content/__init__.py", line 23,
> in ?
>     from content import controllers, model, widgets
>   File "/home/mbevan/Projects/TG-Content/content/model.py", line 16, in
> ?
>     class Bob(Test):
>   File
> "/home/mbevan/Projects/turbogears/thirdparty/sqlobject/sqlobject/declarative.py",
> line 108, in __new__
>     cls.__classinit__(cls, new_attrs)
>   File
> "/home/mbevan/Projects/turbogears/thirdparty/sqlobject/sqlobject/main.py",
> line 748, in __classinit__
>     if not connection and not getattr(cls, '_connection', None):
>   File "/home/mbevan/Projects/turbogears/turbogears/database.py", line
> 148, in __get__
>     self.set_hub()
>   File "/home/mbevan/Projects/turbogears/turbogears/database.py", line
> 166, in set_hub
>     raise KeyError, "No database configuration found!"
> KeyError: 'No database configuration found!'
> }}}
>
> The above is thrown during TG initialization - applications no longer
> start up, and the tg-admin tool can no longer run.
>
> I have been able to reproduce this error with a very simple (~60 lines of
> code including setup.py) set-up, and this error would even work as a
> system-wide DOS attack against the current version of TG.  This is a
> show-stopping problem for the project Matthew and I are working on.
>
> The simple case is attached.  To reproduce:
>
>  1. Extract the contents of the attached file
> (`SimpleTest-1.0.0.tar.bz2`) into a temporary directory.
>  1. Enter the `SimpleTest` directory.
>  1. Run `sudo ./setup.py develop` to install.
>  1. Attempt to run `tg-admin` or any TurboGears application.
>
>  - Alice !McGregor

New description:

 There was some change around 1081 (as reported by Matthew Bevan in
 
[http://groups.google.com/group/turbogears/browse_thread/thread/8e6863219e25672/95f7823b1b88beb1
 this post]) that now causes a class (in an external module configured
 using TG's startup/shutdown notification entry point) inheriting from an
 InheritableSQLObject to throw the following traceback:

 {{{
 Traceback (most recent call last):
   File "/usr/bin/tg-admin", line 7, in ?
     sys.exit(
   File "/usr/lib/python2.4/site-packages/setuptools-0.6a11-
 py2.4.egg/pkg_resources.py", line 236, in load_entry_point
     return get_distribution(dist).load_entry_point(group, name)
   File "/usr/lib/python2.4/site-packages/setuptools-0.6a11-
 py2.4.egg/pkg_resources.py", line 2097, in load_entry_point
     return ep.load()
   File "/usr/lib/python2.4/site-packages/setuptools-0.6a11-
 py2.4.egg/pkg_resources.py", line 1830, in load
     entry = __import__(self.module_name, globals(),globals(),
 ['__name__'])
   File "/home/mbevan/Projects/turbogears/turbogears/__init__.py", line 18,
 in ?
     ext = entrypoint.load()
   File "/usr/lib/python2.4/site-packages/setuptools-0.6a11-
 py2.4.egg/pkg_resources.py", line 1830, in load
     entry = __import__(self.module_name, globals(),globals(),
 ['__name__'])
   File "/home/mbevan/Projects/TG-Content/content/__init__.py", line 23, in
 ?
     from content import controllers, model, widgets
   File "/home/mbevan/Projects/TG-Content/content/model.py", line 16, in ?
     class Bob(Test):
   File
 
"/home/mbevan/Projects/turbogears/thirdparty/sqlobject/sqlobject/declarative.py",
 line 108, in __new__
     cls.__classinit__(cls, new_attrs)
   File
 "/home/mbevan/Projects/turbogears/thirdparty/sqlobject/sqlobject/main.py",
 line 748, in __classinit__
     if not connection and not getattr(cls, '_connection', None):
   File "/home/mbevan/Projects/turbogears/turbogears/database.py", line
 148, in __get__
     self.set_hub()
   File "/home/mbevan/Projects/turbogears/turbogears/database.py", line
 166, in set_hub
     raise KeyError, "No database configuration found!"
 KeyError: 'No database configuration found!'
 }}}

 The above is thrown during TG initialization - applications no longer
 start up, and the tg-admin tool can no longer run.

 I have been able to reproduce this error with a very simple (~60 lines of
 code including setup.py) set-up, and this error would even work as a
 system-wide DOS attack against the current version of TG.  This is a show-
 stopping problem for the project Matthew and I are working on.

 The simple case is attached.  To reproduce:

  1. Extract the contents of the attached file (`SimpleTest-1.0.0.tar.bz2`)
 into a temporary directory.
  1. Enter the `SimpleTest` directory.
  1. Run `sudo ./setup.py develop` to install.
  1. Attempt to run `tg-admin` or any TurboGears application.

  - Alice !McGregor

Comment:

 verified that this problem still exists using TG 1.0b1

 assigning to milestone 1.0b3

-- 
Ticket URL: <http://trac.turbogears.org/turbogears/ticket/817>
TurboGears <http://www.turbogears.org/>
TurboGears front-to-back web development
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears Tickets" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/turbogears-tickets
-~----------~----~----~----~------~----~------~--~---

Reply via email to