Opened 17 years ago
Closed 17 years ago
#6329 closed defect (fixed)
InterTrac request for page named with national character fail
Reported by: | Owned by: | Christian Boos | |
---|---|---|---|
Priority: | high | Milestone: | 0.11 |
Component: | general | Version: | devel |
Severity: | minor | Keywords: | |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description (last modified by )
InterTrac request for page named with national character fail. Error report:
Oops… Trac detected an internal error:
TypeError: extract_link() takes exactly 3 arguments (2 given)
If you think this should work you can reproduce the problem, you should consider reporting this to the Trac team.
Before you do that, though, please first try searching for similar issues, as it is quite likely that this problem has been reported before. For questions about installation and configuration of Trac, please try the mailing list instead of filing a ticket.
Otherwise, please
How to Reproduce
While doing a GET operation on /intertrac/wiki:ЮрДок
, Trac issued an internal error. (please provide additional details here) Request parameters:
{'link': u'wiki:\u042e\u0440\u0414\u043e\u043a'}
System Information
Trac | 0.11dev-r6139
|
Python | 2.5.1 (r251:54863, Oct 5 2007, 13:36:32) [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)]
|
setuptools | 0.6c7
|
SQLite | 3.4.2
|
pysqlite | 2.3.4
|
Genshi | 0.5dev-r766
|
Subversion | 1.4.4 (r25188)
|
Python Traceback
Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6139-py2.5.egg/trac/web/main.py", line 386, in dispatch_request dispatcher.dispatch(req) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6139-py2.5.egg/trac/web/main.py", line 195, in dispatch resp = chosen_handler.process_request(req) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6139-py2.5.egg/trac/wiki/intertrac.py", line 45, in process_request link_elt = extract_link(Context(self.env, req), link) TypeError: extract_link() takes exactly 3 arguments (2 given) }}} a new ticket at the Trac project site, where you can describe the problem and explain how to reproduce it. Python Traceback Most recent call last: * File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6139-py2.5.egg/trac/web/main.py", line 386, in dispatch_request Code fragment: 381. try: 382. if not env and env_error: 383. raise HTTPInternalError(env_error) 384. try: 385. dispatcher = RequestDispatcher(env) 386. dispatcher.dispatch(req) 387. except RequestDone: 388. pass 389. resp = req._response or [] 390. 391. except HTTPException, e: Local variables: Name Value after [' except RequestDone:', ' pass', ' resp = ... before [' try:', ' if not env and env_error:', ' raise ... dispatcher <trac.web.main.RequestDispatcher object at 0x8cbbcac> e TypeError('extract_link() takes exactly 3 arguments (2 given)',) env <trac.env.Environment object at 0x8c8584c> env_error None env_name 'mun-obr' env_parent_dir '/home/dk/trac' env_path '/home/dk/trac/mun-obr' env_paths None environ {'HTTP_AUTHORIZATION': 'Digest username="tonal", realm="promsoft.ru", ... exc_info (<type 'exceptions.TypeError'>, TypeError('extract_link() takes exactly 3 ... filename '/usr/lib/python2.5/site-packages/Trac-0.11dev_r6139-py2.5.egg/trac/web/mai ... frames [{'function': 'dispatch_request', 'lines_before': [' try:', ' if ... has_admin True line ' dispatcher.dispatch(req)' lineno 385 message u'TypeError: extract_link() takes exactly 3 arguments (2 given)' path_info ['intertrac', 'wiki:\xd0\xae\xd1\x80\xd0\x94\xd0\xbe\xd0\xba'] req <Request "GET u'/intertrac/wiki:\u042e\u0440\u0414\u043e\u043a'"> resp [] run_once False script_url None start_response <bound method WSGIServerGateway._start_response of ... tb <traceback object at 0x8d5ab1c> tb_hide None traceback 'Traceback (most recent call last):\n File ... * File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6139-py2.5.egg/trac/web/main.py", line 195, in dispatch Code fragment: 190. req.args.get('__FORM_TOKEN') != req.form_token: 191. raise HTTPBadRequest('Missing or invalid form token. ' 192. 'Do you have cookies enabled?') 193. 194. # Process the request and render the template 195. resp = chosen_handler.process_request(req) 196. if resp: 197. if len(resp) == 2: # Clearsilver 198. chrome.populate_hdf(req) 199. template, content_type = \ 200. self._post_process_request(req, *resp) Local variables: Name Value chosen_handler <trac.wiki.intertrac.InterTracDispatcher object at 0x8cb320c> chrome <trac.web.chrome.Chrome object at 0x8cbb18c> err (<type 'exceptions.TypeError'>, TypeError('extract_link() takes exactly 3 ... handler <trac.wiki.intertrac.InterTracDispatcher object at 0x8cb320c> req <Request "GET u'/intertrac/wiki:\u042e\u0440\u0414\u043e\u043a'"> self <trac.web.main.RequestDispatcher object at 0x8cbbcac> * File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6139-py2.5.egg/trac/wiki/intertrac.py", line 45, in process_request Code fragment: 40. req.args['link'] = match.group(1) 41. return True 42. 43. def process_request(self, req): 44. link = req.args.get('link', '') 45. link_elt = extract_link(Context(self.env, req), link) 46. if isinstance(link_elt, Element): 47. href = link_elt.attrib.get('href') 48. else: 49. href = req.href(link) 50. req.redirect(href) Local variables: Name Value link u'wiki:\u042e\u0440\u0414\u043e\u043a' req <Request "GET u'/intertrac/wiki:\u042e\u0440\u0414\u043e\u043a'"> self <trac.wiki.intertrac.InterTracDispatcher object at 0x8cb320c> File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6139-py2.5.egg/trac/web/main.py", line 386, in dispatch_request dispatcher.dispatch(req) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6139-py2.5.egg/trac/web/main.py", line 195, in dispatch resp = chosen_handler.process_request(req) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6139-py2.5.egg/trac/wiki/intertrac.py", line 45, in process_request link_elt = extract_link(Context(self.env, req), link) System Information: User Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9 Trac: 0.11dev-r6139 Python: 2.5.1 (r251:54863, Oct 5 2007, 13:36:32) [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] setuptools: 0.6c7 SQLite: 3.4.2 pysqlite: 2.3.4 Genshi: 0.5dev-r766 Subversion: 1.4.4 (r25188) jQuery: 1.1.3.1
Attachments (1)
Change History (10)
comment:1 by , 17 years ago
Description: | modified (diff) |
---|---|
Version: | → devel |
comment:2 by , 17 years ago
Milestone: | → 0.11 |
---|---|
Owner: | changed from | to
Priority: | normal → high |
Severity: | normal → trivial |
Hm, that was an old style extract_link call.
I'll also check the semi-automatic bug reporting feature.
comment:3 by , 17 years ago
Description: | modified (diff) |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Summary: | IterTrac request for page named with national character fail → InterTrac request for page named with national character fail |
Fixed in [6143].
comment:4 by , 17 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
In version Trac 0.11dev-r6149 error if not login to target track:
Oops… Trac detected an internal error: AttributeError: 'NoneType' object has no attribute 'startswith' There was an internal error in Trac. It is recommended that you inform your local Trac administrator and give him all the information he needs to reproduce the issue. To that end, you could ==== How to Reproduce ==== While doing a GET operation on `/intertrac/wiki:ОсновныеСущностиСистемы`, Trac issued an internal error. ''(please provide additional details here)'' Request parameters: {{{ {'link': u'wiki:\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435\u0421\u0443\u0449\u043d\u043e\u0441\u0442\u0438\u0421\u0438\u0441\u0442\u0435\u043c\u044b'} }}} ==== System Information ==== || '''Trac''' || `0.11dev-r6149` || || '''Python''' || `2.5.1 (r251:54863, Oct 5 2007, 13:36:32) ` [[br]] `[GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)]` || || '''setuptools''' || `0.6c7` || || '''SQLite''' || `3.4.2` || || '''pysqlite''' || `2.3.4` || || '''Genshi''' || `0.5dev-r766` || || '''Subversion''' || `1.4.4 (r25188)` || ==== Python Traceback ==== {{{ Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6149-py2.5.egg/trac/web/main.py", line 386, in dispatch_request dispatcher.dispatch(req) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6149-py2.5.egg/trac/web/main.py", line 195, in dispatch resp = chosen_handler.process_request(req) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6149-py2.5.egg/trac/wiki/intertrac.py", line 50, in process_request req.redirect(href) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6149-py2.5.egg/trac/web/api.py", line 278, in redirect if not url.startswith('http://') and not url.startswith('https://'): AttributeError: 'NoneType' object has no attribute 'startswith' }}} a ticket at this site. The action that triggered the error was: GET: /intertrac/wiki:ОсновныеСущностиСистемы
comment:5 by , 17 years ago
Keywords: | needinfo added |
---|
Sorry, I don't understand how href
could be None
in source:trunk/trac/wiki/intertrac.py@6149#L50.
Would it be possible for you to add a couple of print
statements in the lines above to get more details about the issue?
I can't do it myself, as your example works fine for me.
comment:6 by , 17 years ago
Thes error do not dependence national characters - see attached file err_repert.txt
comment:7 by , 17 years ago
Privilege in my track
admin:
BROWSER_VIEW, CHANGESET_VIEW, CONFIG_VIEW, FILE_VIEW, LOG_VIEW, MILESTONE_ADMIN, MILESTONE_CREATE, MILESTONE_DELETE, MILESTONE_MODIFY, MILESTONE_VIEW, REPORT_ADMIN, REPORT_CREATE, REPORT_DELETE, REPORT_MODIFY, REPORT_SQL_VIEW, REPORT_VIEW, ROADMAP_ADMIN, ROADMAP_VIEW, SEARCH_VIEW, TICKET_ADMIN, TICKET_APPEND, TICKET_CHGPROP, TICKET_CREATE, TICKET_MODIFY, TICKET_VIEW, TIMELINE_VIEW, TRAC_ADMIN, WIKI_ADMIN, WIKI_CREATE, WIKI_DELETE, WIKI_MODIFY, WIKI_VIEW
authenticated:
TICKET_CREATE, TICKET_MODIFY, WIKI_CREATE, WIKI_MODIFY
customer:
MILESTONE_VIEW, REPORT_VIEW, ROADMAP_VIEW, SEARCH_VIEW, TICKET_APPEND, TICKET_CREATE, TICKET_VIEW, TIMELINE_VIEW, WIKI_VIEW
user:
BROWSER_VIEW, CHANGESET_VIEW, FILE_VIEW, LOG_VIEW, MILESTONE_VIEW, REPORT_VIEW, ROADMAP_VIEW, SEARCH_VIEW, TICKET_APPEND, TICKET_CHGPROP, TICKET_CREATE, TICKET_MODIFY, TICKET_VIEW, TIMELINE_VIEW, WIKI_CREATE, WIKI_DELETE, WIKI_MODIFY, WIKI_VIEW
tonal:
admin
comment:8 by , 17 years ago
Keywords: | needinfo removed |
---|---|
Severity: | trivial → minor |
Sorry, forgot to update the ticket: yes, the problem is triggered when there's no permission to view or create the targeted page. Then, there's no <a> element given back by the extract_link
, but a <span> with some error message.
comment:9 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Should be fixed in [6199].
Fixing the traceback (semi-automatic trace report did not help…)