Edgewall Software
Modify

Opened 18 years ago

Closed 18 years ago

#2952 closed defect (worksforme)

Browser Error: /user/stud/s00/jinks/portal/svn/portal does not appear to be a Subversion repository.

Reported by: anonymous Owned by: Christopher Lenz
Priority: normal Milestone:
Component: version control Version: devel
Severity: normal Keywords:
Cc: jinks@… Branch:
Release Notes:
API Changes:
Internal Changes:

Description

Hi,

I'm trying to set up a Trac system for a small dev group.

If i try to look at the "Browse Source" tab, I get an error msg:

/user/stud/s00/jinks/portal/svn/portal does not appear to be a Subversion repository.

and it seems that

self.path = repos.svn_repos_find_root_path(path, self.pool())

in svn_fs.py returns None. (I am runnung standalone tracd)

However, when I do a resync via trac-admin everything seems to work fine which made me wonder because I thought tracd and trac-admin would use the same code for this…

I tried Trac 0.9.4 and current trunk wich gave me the same error. The repository is svn 1.2.3 (with matching bindings) (most solutions to similar Problems here involve upgrading svn to 1.3.x but I cannot test this because the server is not managed by myself)

Any suggestions where I could look what tracd and trac-admin are doing different?

Attachments (0)

Change History (8)

comment:1 by Emmanuel Blot, 18 years ago

Severity: blockernormal

Are you running tracd and trac-admin with the same user ?

BTW, this kind of support question should be asked on the ML first, as suggested by the big red box.

comment:2 by jinks@…, 18 years ago

sorry, couldn't look after this any more till now…

since the resync worked and only the web-interface failed in accessing the repository I considered this more a bug than a usage/support issue.

There must be something different in the way the web-interface and the admin-interface access the same libs (versioncontrol/svn_fs.py) which breaks things for online usage.

And, yes, I'm doing everything from the same user. (I got only this 1 account on the dev server.)

comment:3 by jinks@…, 18 years ago

oh, I forgot …

check_svn_repos.py from ticket:2620 also works without problems given the same repo path.

comment:4 by Christian Boos, 18 years ago

jinks, normally there shouldn't be any difference.

Try to do the following:

$ echo $PYTHONPATH
$ python <your-trac-install>/bin/trac-admin <your-trac-env> resync
...
$ python <your-trac-install>/bin/trac-admin <your-trac-env> -p 8080

Is there still a different behavior between trac-admin and tracd?

comment:5 by jinks@…, 18 years ago

jinks@hurrikan[/12]:~/trac $ uname -a
SunOS hurrikan 5.9 Generic_118558-09 sun4u sparc SUNW,Sun-Fire-880

jinks@hurrikan[/12]:~/trac $ echo $PYTHONPATH                                                                                                                             
/user/stud/s00/jinks/trac/lib/python2.4/site-packages/:/usr/local/lib/subversion/lib/svn-python/

jinks@hurrikan[/12]:~/trac $ python bin/trac-admin /user/stud/s00/jinks/portal/tracd resync                                                                               
Resyncing repository history...
Done.

jinks@hurrikan[/12]:~/trac $ LD_PRELOAD=/usr/lib/libz.so  python bin/tracd /user/stud/s00/jinks/portal/tracd -p 8099

(LD_PRELOAD is required because the clearsilver installation on this machine fails otherwise)

result in the web-interface (http://hurrikan.informatik.uni-oldenburg.de:8099/tracd/browser)

Internal Error

/user/stud/s00/jinks/portal/svn/portal does not appear to be a Subversion repository.

The web interface is running and available to public, is ist possible to redirect debug output to the interface for someone knowing-what-he-does to investigate?

comment:6 by Christian Boos, 18 years ago

I wonder if the following wouldn't fail as well:

$ LD_PRELOAD=/usr/lib/libz.so python bin/trac-admin user/stud/s00/jinks/portal/tracd resync 

The subversion libs need libz, so they probably have been compiled with a different libz.

You can tell the difference that way:

$ ldd `which svn`
$ LD_PRELOAD=/usr/lib/libz.so ldd `which svn`

comment:7 by jinks@…, 18 years ago

hmm, ok…. thats odd:

jinks@hurrikan[/28]:~/portal/svn $ ldd `which svn` | grep libz                                                                                                            
        libz.so =>       /usr/local/lib/subversion/lib/libz.so
        libz.so =>       /usr/lib/libz.so
jinks@hurrikan[/28]:~/portal/svn $ LD_PRELOAD=/usr/lib/libz.so ldd `which svn` | grep libz                                                                                
        /usr/lib/libz.so
        libz.so =>       /usr/local/lib/subversion/lib/libz.so
jinks@hurrikan[/28]:~/portal/svn $ LD_PRELOAD="/usr/lib/libz.so /usr/local/lib/subversion/lib/libz.so" ldd `which svn` | grep libz                                        
        /usr/lib/libz.so
        /usr/local/lib/subversion/lib/libz.so

I tried different combinations for tracd without any success, however every combination works with resync.

comment:8 by Christian Boos, 18 years ago

Resolution: worksforme
Status: newclosed

Ok, then it works with trac-admin only because nothing in trac-admin actually uses that other libz. With tracd however, IIUC ClearSilver will use the /usr/lib/libz and somehow later this prevents svn from working.

You have several choices from here:

  • rebuild ClearSilver using /usr/local/lib/subversion/lib/libz.so
  • rebuild Subversion using /usr/lib/libz.so
  • take the latest libz from the net, put it in /opt/libz-1.2.3, rebuild both ClearSilver and Subversion so that they use it.

In the end, There Can Be Only One (libz, I mean :) ).

As your are on Solaris, maybe you can benefit from the tips listed in TracOnSolaris.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Christopher Lenz.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Christopher Lenz to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.