Modify

Opened 10 years ago

Closed 22 months ago

#1262 closed defect (wontfix)

Immediate login failure

Reported by: cwmoad@… Owned by: cygnus
Priority: normal Component: OpenidPlugin
Severity: blocker Keywords:
Cc: Trac Release: 0.10

Description

I just installed the plugin from svn on trac-0.10.3.

When I log in I immediately see the following error:

Traceback (most recent call last):
  File "/usr/local/lib/python2.4/site-packages/trac-0.10.3-py2.4.egg/trac/web/main.py", line 387, in dispatch_request
    dispatcher.dispatch(req)
  File "/usr/local/lib/python2.4/site-packages/trac-0.10.3-py2.4.egg/trac/web/main.py", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File "build/bdist.linux-i686/egg/openidauth/auth.py", line 162, in process_request
  File "build/bdist.linux-i686/egg/openidauth/auth.py", line 205, in _start_login
  File "build/bdist.linux-i686/egg/openid/consumer/consumer.py", line 308, in begin
  File "build/bdist.linux-i686/egg/openid/consumer/consumer.py", line 331, in beginWithoutDiscovery
  File "build/bdist.linux-i686/egg/openid/consumer/consumer.py", line 422, in begin
  File "build/bdist.linux-i686/egg/openid/consumer/consumer.py", line 482, in _createNonce
  File "build/bdist.linux-i686/egg/openid/store/sqlstore.py", line 13, in wrapped
  File "build/bdist.linux-i686/egg/openid/store/sqlstore.py", line 154, in _callInTransaction
  File "/usr/lib/python2.4/site-packages/sqlite/main.py", line 531, in rollback
    self._checkNotClosed("rollback")
  File "/usr/lib/python2.4/site-packages/sqlite/main.py", line 482, in _checkNotClosed
    raise _sqlite.ProgrammingError, \
ProgrammingError: rollback failed - Connection is closed.

Attachments (0)

Change History (11)

comment:1 Changed 10 years ago by anonymous

I'm not convinced this is the plugin's fault, at least not yet. I had the same error come up on my own trac installation after upgrading various system libraries and mod_python, but I did not upgrade sqlite, python, apache, trac, or the OpenID library.

comment:2 Changed 10 years ago by anonymous

Owner: changed from wkornewald to anonymous
Status: newassigned

comment:3 Changed 10 years ago by anonymous

Owner: changed from anonymous to cygnus
Status: assignednew

comment:4 Changed 10 years ago by anonymous

Are there any workarounds for this? I'm falling into the same problem:

Traceback (most recent call last):
  File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 406, in dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File "build/bdist.linux-i686/egg/openidauth/auth.py", line 162, in process_request
  File "build/bdist.linux-i686/egg/openidauth/auth.py", line 205, in _start_login
  File "/usr/lib/python2.3/site-packages/openid/consumer/consumer.py", line 308, in begin
    return self.beginWithoutDiscovery(service)
  File "/usr/lib/python2.3/site-packages/openid/consumer/consumer.py", line 331, in beginWithoutDiscovery
    auth_req = self.consumer.begin(service)
  File "/usr/lib/python2.3/site-packages/openid/consumer/consumer.py", line 422, in begin
    nonce = self._createNonce()
  File "/usr/lib/python2.3/site-packages/openid/consumer/consumer.py", line 482, in _createNonce
    self.store.storeNonce(nonce)
  File "/usr/lib/python2.3/site-packages/openid/store/sqlstore.py", line 13, in wrapped
    return self._callInTransaction(func, self, *args, **kwargs)
  File "/usr/lib/python2.3/site-packages/openid/store/sqlstore.py", line 164, in _callInTransaction
    self.conn.rollback()
  File "/var/tmp/python-sqlite-root//usr/lib/python2.3/site-packages/sqlite/main.py", line 544, in rollback
  File "/var/tmp/python-sqlite-root//usr/lib/python2.3/site-packages/sqlite/main.py", line 495, in _checkNotClosed
ProgrammingError: rollback failed - Connection is closed.

Running centos, the 1.2.0 version of the python openid lib and trac 0.10.4.

comment:5 Changed 10 years ago by Dalius

If you want you can test this problem with AuthOpenIdPlugin which uses newer version of OpenID library which is potential source of problem.

comment:6 Changed 10 years ago by Gabriel Sean Farrell

I'm getting the same error with AuthOpenIdPlugin.

Here's what my trac gave for the ticket:

How to Reproduce

While doing a GET operation on /openidverify, Trac issued an internal error.

(please provide additional details here)

Request parameters:

{'openid_identifier': u'http://fruct.us'}

System Information

Trac 0.11dev-r6273
Python 2.4.4 (#1, Aug 16 2007, 02:01:10)
[GCC 4.1.3 20070812 (prerelease) (Debian 4.1.2-15)]
setuptools 0.6c6
SQLite 2.8.17
pysqlite 1.0.1
Genshi 0.5dev-r774
Subversion 1.4.4 (r25188)

Python Traceback

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/Trac-0.11dev_r6273-py2.4.egg/trac/web/main.py", line 398, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.4/site-packages/Trac-0.11dev_r6273-py2.4.egg/trac/web/main.py", line 195, in dispatch
    resp = chosen_handler.process_request(req)
  File "build/bdist.linux-i686/egg/authopenid/authopenid.py", line 139, in process_request
  File "build/bdist.linux-i686/egg/authopenid/authopenid.py", line 197, in _do_verify
  File "/usr/lib/python2.4/site-packages/openid/consumer/consumer.py", line 333, in begin
    return self.beginWithoutDiscovery(service, anonymous)
  File "/usr/lib/python2.4/site-packages/openid/consumer/consumer.py", line 356, in beginWithoutDiscovery
    auth_req = self.consumer.begin(service)
  File "/usr/lib/python2.4/site-packages/openid/consumer/consumer.py", line 558, in begin
    assoc = self._getAssociation(service_endpoint)
  File "/usr/lib/python2.4/site-packages/openid/consumer/consumer.py", line 1073, in _getAssociation
    assoc = self.store.getAssociation(endpoint.server_url)
  File "/usr/lib/python2.4/site-packages/openid/store/sqlstore.py", line 18, in wrapped
    return self._callInTransaction(func, self, *args, **kwargs)
  File "/usr/lib/python2.4/site-packages/openid/store/sqlstore.py", line 159, in _callInTransaction
    self.conn.rollback()
  File "/usr/lib/python2.4/site-packages/sqlite/main.py", line 531, in rollback
    self._checkNotClosed("rollback")
  File "/usr/lib/python2.4/site-packages/sqlite/main.py", line 482, in _checkNotClosed
    raise _sqlite.ProgrammingError, \
ProgrammingError: rollback failed - Connection is closed.

comment:7 Changed 10 years ago by Gabriel Sean Farrell

After updating sqlite and pysqlite, I got the following:

How to Reproduce

While doing a GET operation on /openidverify, Trac issued an internal error.

(please provide additional details here)

Request parameters:

{'openid_identifier': u'http://fruct.us'}

System Information

Trac 0.11dev-r6273
Python 2.4.4 (#1, Aug 16 2007, 02:01:10)
[GCC 4.1.3 20070812 (prerelease) (Debian 4.1.2-15)]
setuptools 0.6c6
SQLite 3.4.2
pysqlite 2.3.5
Genshi 0.5dev-r774
Subversion 1.4.4 (r25188)

Python Traceback

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/Trac-0.11dev_r6273-py2.4.egg/trac/web/main.py", line 398, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.4/site-packages/Trac-0.11dev_r6273-py2.4.egg/trac/web/main.py", line 195, in dispatch
    resp = chosen_handler.process_request(req)
  File "build/bdist.linux-i686/egg/authopenid/authopenid.py", line 139, in process_request
  File "build/bdist.linux-i686/egg/authopenid/authopenid.py", line 197, in _do_verify
  File "/usr/lib/python2.4/site-packages/openid/consumer/consumer.py", line 333, in begin
    return self.beginWithoutDiscovery(service, anonymous)
  File "/usr/lib/python2.4/site-packages/openid/consumer/consumer.py", line 356, in beginWithoutDiscovery
    auth_req = self.consumer.begin(service)
  File "/usr/lib/python2.4/site-packages/openid/consumer/consumer.py", line 558, in begin
    assoc = self._getAssociation(service_endpoint)
  File "/usr/lib/python2.4/site-packages/openid/consumer/consumer.py", line 1073, in _getAssociation
    assoc = self.store.getAssociation(endpoint.server_url)
  File "/usr/lib/python2.4/site-packages/openid/store/sqlstore.py", line 18, in wrapped
    return self._callInTransaction(func, self, *args, **kwargs)
  File "/usr/lib/python2.4/site-packages/openid/store/sqlstore.py", line 159, in _callInTransaction
    self.conn.rollback()
  File "/usr/lib/python2.4/site-packages/Trac-0.11dev_r6273-py2.4.egg/trac/db/sqlite_backend.py", line 193, in rollback
    self.cnx.rollback()
ProgrammingError: Cannot operate on a closed database.

comment:8 Changed 10 years ago by anonymous

From the above, it looks like there's some database confusion between cursors in openid and trac. Not sure what the fix is, though.

comment:10 Changed 10 years ago by Gabriel Sean Farrell

Aha, found #2242.

comment:11 Changed 10 years ago by anonymous

Does #2242 fix your problem?

comment:12 Changed 22 months ago by Ryan J Ollos

Resolution: wontfix
Status: newclosed

Plugin is deprecated. See AuthOpenIdPlugin for an alternative.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain cygnus.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.