#525 closed defect (duplicate)
Relative path in Bitten causes svn assertion that crashes server (Apache/standalone tracd)
Reported by: | allarddijk | Owned by: | osimons |
---|---|---|---|
Priority: | major | Milestone: | 0.6 |
Component: | Administration interface | Version: | 0.6b2 |
Keywords: | Cc: | trac@… | |
Operating System: | Windows |
Description (last modified by dfraser)
Actions to reproduce:
- Go to Trac Admin Builds.Configurations - Add Configuration
- You see 3 fields, fill the following information and submit:
- name: myName
- label: myLabel
- Paths: .
- Apache service crashes (SVN module crashes according to Apache log)
Running on: Apache/2.2.9(Win32) SVN/1.5.2 mod_python/3.3.1 Python/2.5.2 mod_auth_sspi/1.0.4 DAV/2 Server. Trac 0.11.6
This is now upstream on trac as ticket 9626
Attachments (0)
Change History (9)
comment:1 Changed 15 years ago by trac@…
- Cc trac@… added
comment:2 Changed 14 years ago by osimons
- Milestone changed from 0.6.1 to 0.6
- Owner set to osimons
Rescheduling. Should be fixed.
comment:3 Changed 14 years ago by dfraser
- Description modified (diff)
- Summary changed from Bitten bites Apache to Relative path in Bitten causes svn assertion that crashes server (Apache/standalone tracd)
Cleaned up syntax and clarified summary
comment:4 Changed 14 years ago by dfraser
- Description modified (diff)
The crash comes from the following place:
/home/davidf/work/upstream/bitten-git/bitten/admin.py(240)_create_config() -> warnings = self._update_config(req, config) /home/davidf/work/upstream/bitten-git/bitten/admin.py(288)_update_config() -> node = repos.get_node(path, max_rev) /home/davidf/work/upstream/trac/trac/versioncontrol/cache.py(235)get_node() -> return self.repos.get_node(path, rev) /home/davidf/work/upstream/trac/trac/versioncontrol/svn_fs.py(438)get_node() -> return SubversionNode(path, rev, self, self.pool) > /home/davidf/work/upstream/trac/trac/versioncontrol/svn_fs.py(672)__init__() -> node_type = fs.check_path(self.root, self._scoped_path_utf8, pool)
At this point, self._scoped_path_utf8 is '.'
It seems insane to me that the fs.check_path crashes with an assertion error here.
We need to find out how trac guards against such things - I can't see anything in versioncontrol/api.py that would allow us to easily prevent this.
comment:5 Changed 14 years ago by dfraser
Lo,
{ echo 'GET /trac/browser/. HTTP/1.0' ; echo ; } | telnet localhost 8001
crashes trac with exactly the same assertion. Methinks this should be relegated to a trac bug since we're relying on their version control etc
NB trying this with Firefox or wget to the URL fails as it seems to internally reform it and remove the trailing . before passing it on
comment:6 Changed 14 years ago by osimons
Agree, raise it as a Trac bug.
comment:7 Changed 14 years ago by allarddijk
Thanks for investigation. Reported to Trac on this ticket : http://trac.edgewall.org/ticket/9626
Please close this ticket
comment:8 Changed 14 years ago by dfraser
- Description modified (diff)
- Resolution set to duplicate
- Status changed from new to closed
Marking as duplicate (of the upstream bug http://trac.edgewall.org/ticket/9626)
comment:9 Changed 14 years ago by dfraser
For reference, http://trac.edgewall.org/ticket/9626 is now fixed
It also kills the trac standalone process, if you use that instead of Apache.
This is the error, btw, that the reporter forgot to include: