Edgewall Software

Opened 18 years ago

Last modified 18 years ago

#2620 closed defect

Exception when initializing large repo — at Version 1

Reported by: larsbj@… Owned by: daniel
Priority: normal Milestone:
Component: version control Version: 0.9.3
Severity: major Keywords: resync svn130
Cc: james82@… Branch:
Release Notes:
API Changes:
Internal Changes:

Description (last modified by Christian Boos)

I am trying to setup trac on a largish repo (78000 revs, 12GB) The database initialization (sqlite) failes with:

 Indexing repository
Failed to initialize environment. ("Can't create a character converter from 'UTF-8' to native encoding", 12)
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/trac/scripts/admin.py", line 617, in do_initenv
    repos.sync()
  File "/usr/lib/python2.4/site-packages/trac/versioncontrol/cache.py", line 87, in sync
    for path,kind,action,base_path,base_rev in changeset.get_changes():
  File "/usr/lib/python2.4/site-packages/trac/versioncontrol/svn_fs.py", line 461, in get_changes
    repos.svn_repos_replay(root, e_ptr, e_baton, pool())
  File "/opt/subversion-1.3.0/lib/svn-python/libsvn/repos.py", line 230, in svn_repos_replay
    return apply(_repos.svn_repos_replay, args)
  File "/opt/subversion-1.3.0/lib/svn-python/svn/repos.py", line 113, in delete_entry
    if _fs.is_dir(self._get_root(parent_baton[2]), base_path):
  File "/opt/subversion-1.3.0/lib/svn-python/libsvn/fs.py", line 351, in svn_fs_is_dir
    return apply(_fs.svn_fs_is_dir, args)
SubversionException: ("Can't create a character converter from 'UTF-8' to native encoding", 12)

Not quite sure if this is a trac problem or if this is the svn bindings playing up.

Change History (1)

comment:1 by Christian Boos, 18 years ago

Description: modified (diff)

Looks like the SVN bindings are involved… However, you might want to try Trac 0.9.4pre (from the svn repository: http://svn.edgewall.com/repos/trac/branches/0.9-stable), as it contains a fix for a memory leak during resync. It could be that the SVN binding error was triggered by an out-of-memory condition.

Also, you can try to turn on the debug output while doing resync (see TracLogging), and detect which changeset XXX brings up the exception. You can then check with svn log -v -r XXX if there's anything special concerning the character encoding of the listed paths.

Note: See TracTickets for help on using tickets.