#2611: Problem with SVN bindings (SVN 1.3.0, Trac r2771)
-----------------------------+----------------------------------------------
 Reporter:  Manuzhai         |        Owner:  cboos
     Type:  defect           |       Status:  new  
 Priority:  high             |    Milestone:  0.9.4
Component:  version control  |      Version:  devel
 Severity:  major            |   Resolution:       
 Keywords:                   |  
-----------------------------+----------------------------------------------
Changes (by cboos):

  * owner:  cmlenz => cboos

Comment:

 I think I understand the issue: having all the imports
 in one line allows two threads (A and B) to start
 simultaneously the import process:
  * A: trac/versioncontrol/svn_fs.py: `from svn import fs, repos, core,
 delta`
  * B: trac/versioncontrol/svn_fs.py: `from svn import fs, repos, core,
 delta`
  * A: in svn/fs.py, line 19: `from libsvn.core import *`,
  * A: now in libsvn/core.py, is going through the > 3000 lines...
  * B: in svn/fs.py, line 19: `from libsvn.core import *`,
  * B: now in libsvn/core.py, is going through the > 3000 lines...
  * A: in libsvn/core.py, line 3049: does a `_core.svn_pool_create` [[BR]]
    and here, `_core` is ''really'' `_core` (i.e. the native extension)
  * A: in svn/fs.py, line 29: `import svn.core as _core`
  * B: in libsvn/core.py, line 3049: does a `_core.svn_pool_create` [[BR]]
    and now, `_core` is '''not''' `_core` but `svn.core` and therefore,
    `_core.svn_pool_create` is not the native function but the (deprecated)
    compatibility function, which expects a pool as first argument...
    hence the error.

 Hopefully splitting the imports does solve the issue,
 but the bindings should really be more robust about that
 and ''not'' rename different things to a same name...

-- 
Ticket URL: <http://projects.edgewall.com/trac/ticket/2611>
The Trac Project <http://trac.edgewall.com/>
_______________________________________________
Trac-Tickets mailing list
[email protected]
http://lists.edgewall.com/mailman/listinfo/trac-tickets

Reply via email to