Bug 263221

Summary: python-sqlite symbol collision back
Product: [Fedora] Fedora Reporter: Joe Orton <jorton>
Component: pythonAssignee: James Antill <james.antill>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: katzj
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: 2.5-15.fc7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-11-21 22:30:09 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 235704    
Attachments:
Description Flags
minimal fix none

Description Joe Orton 2007-08-29 09:04:58 EDT
bug 231848 is back with the sqlite module integrated into python.  symclash says:

# ./symclash.py /usr/lib64/python2.5/lib-dynload/*.so \
                /usr/lib64/httpd/modules/*.so

Clashes by library:

Clashes for /usr/lib64/python2.5/lib-dynload/timemodule.so:
  with /usr/lib64/python2.5/lib-dynload/datetime.so => inittime inittimezone

Clashes for /usr/lib64/python2.5/lib-dynload/_sqlite3.so:
  with /usr/lib64/httpd/modules/mod_mem_cache.so => cache_init

Clashes for /usr/lib64/httpd/modules/mod_mem_cache.so:
  with /usr/lib64/python2.5/lib-dynload/_sqlite3.so => cache_init

Clashes for /usr/lib64/python2.5/lib-dynload/datetime.so:
  with /usr/lib64/python2.5/lib-dynload/timemodule.so => inittime inittimezone

Clashes for /usr/lib64/python2.5/lib-dynload/_ctypes_test.so:
  with /usr/lib64/python2.5/lib-dynload/_ctypes.so => module_methods

Clashes for /usr/lib64/python2.5/lib-dynload/_ctypes.so:
  with /usr/lib64/python2.5/lib-dynload/_ctypes_test.so => module_methods
Comment 1 Joe Orton 2007-08-29 09:07:35 EDT
(reassigned, since I already have a bug to track getting this fixed in httpd; it
needs to be fixed in _sqlite3.so too)
Comment 2 Joe Orton 2007-10-25 06:30:31 EDT
Created attachment 237231 [details]
minimal fix

This is a minimal patch for the issue.	(tested to build only)

Note that this is a regression since F7 and it breaks several web applications.
Comment 3 Joe Orton 2007-10-25 06:31:56 EDT
... and hence, please fix for F8.
Comment 4 James Antill 2007-10-25 10:54:02 EDT
 How is this a regression, because we didn't ship sqlite in Fed-7 and do in Fed-8?

 The sqlite module in python looks like a complete namespace violation, AFAICS
the only thing that should be exported directly from the entire .so is
init_sqlite3() ... even the same file that exports "cache_init" also exports
"new_node" and "cache_get" *sigh*.
 So I'm hesitant to add just a tiny patch that fixes this one symbol clash.

 I can fairly easily get it down to a reasonable number of better named
functions (init_sqlite3 + one pysqlite_* for each file), but even then I don't
want to put it into our package unless upstream takes it -- as it's bound to
cause conflict as we update to newer upstreams.
Comment 5 Joe Orton 2007-10-25 14:07:32 EDT
python-sqlite2-2.3.3 is in F7.  And in fact, it's also still in F8!  Which is fubar.

I gave a minimal patch with minimal risk.  A complete fix would be upgrade the
copy of python-sqlite bundled in the Python tarball to 2.3.3.  Or to stop
shipping the old, broken copy of sqlite2 as well as the new, fixed one.
Comment 6 James Antill 2007-10-30 14:25:02 EDT
 Ok, I see that this patch is a minimal pysqlite2-2.3.3 update ... so I'm much
happier with the patch from comment#2.

 And a Fed-8 blocker issue came up that required a python update, so I added the
patch and it should be in GA.
Comment 7 Fedora Update System 2007-11-09 18:51:17 EST
python-2.5-15.fc7 has been pushed to the Fedora 7 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update python'
Comment 8 Fedora Update System 2007-11-21 22:29:58 EST
python-2.5-15.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.