#5287 closed defect (worksforme)
ValueError: invalid literal for int(): /path/to/newticket
| Reported by: | Owned by: | Jonas Borgström | |
|---|---|---|---|
| Priority: | low | Milestone: | |
| Component: | ticket system | Version: | devel |
| Severity: | normal | Keywords: | needinfo |
| Cc: | Branch: | ||
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description (last modified by )
Using version 11dev, I receive the above error when trying to create a new ticket. From the log:
<snip>
2007-05-08 15:47:49,056 Trac[main] DEBUG: Dispatching <Request "GET /newticket">
2007-05-08 15:47:49,103 Trac[main] ERROR: invalid literal for int(): projects/isound/newticket
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/Trac-0.11dev_r5354-py2.3.egg/trac/web/main.py", line 429, in dispatch_request
dispatcher.dispatch(req)
File "/usr/lib/python2.3/site-packages/Trac-0.11dev_r5354-py2.3.egg/trac/web/main.py", line 217, in dispatch
resp = chosen_handler.process_request(req)
File "/usr/lib/python2.3/site-packages/Trac-0.11dev_r5354-py2.3.egg/trac/ticket/web_ui.py", line 123, in process_request
return self._process_ticket_request(req)
File "/usr/lib/python2.3/site-packages/Trac-0.11dev_r5354-py2.3.egg/trac/ticket/web_ui.py", line 347, in _process_ticket_request
id = int(req.args.get('id'))
ValueError: invalid literal for int(): projects/isound/newticket
2007-05-08 15:47:49,366 Trac[chrome] DEBUG: Prepare chrome data for request
</snip>
Attachments (0)
Change History (9)
comment:1 by , 19 years ago
comment:2 by , 19 years ago
| Description: | modified (diff) |
|---|---|
| Keywords: | needinfo added |
| Priority: | high → low |
| Severity: | blocker → normal |
Ok, here we see: <Request "GET /newticket">
As opposed to #5286, id is not set by TicketModule.match_request, but as we're going into self._process_ticket_request(req) instead of self._process_newticket_request(req) in TicketModule.process_request, this shows that the id is set by some other means.
In #5286, it's projects/isound/report, here it's projects/isound/newticket, so there must be something in your web front-end that adds an id request parameter corresponding to projects/isound plus the value of the GET request.
It must be a misconfiguration of your web front-end, but it would be interesting nevertheless to understand what's going on, in order to see if this is something likely to happen for other people or not.
comment:3 by , 19 years ago
what could the misconfiguration be? and where would that be set? do you mean something from GET HTTP variable? any ideas would be appreciated… I assumed that trac was generating an id somewhere (it must be for a new ticket, right?).
please advise…
comment:4 by , 19 years ago
Well, no idea, but that id is not coming from Trac, for sure. What web front-end are you using? Apache and mod_python? What is your web server configuration related to this Trac instance?
comment:5 by , 19 years ago
hmmm. yeah, i'm using Apache with mod_python and I've got some authentication in place. It's odd that 'id' would ever be a path, so I assumed that line was just pulling the wrong value out of an array or something. Are you suggesting this is an issue with how Apache is configured?
comment:6 by , 19 years ago
i think i just found it. mod_rewrite is used and 'id' is a stupid variable for set (presumabely to a path). i guess i have to figure out how to make my application variables and trac variables play nice. grrrr…
thanks for your help, i think you can close this out now.
comment:7 by , 19 years ago
| Resolution: | → worksforme |
|---|---|
| Status: | new → closed |
Glad you found it, so mod_rewrite was the culprit. And btw, also avoid using the project_id or project variable names, for compatibility with future Trac 1.0 release ;-)
comment:8 by , 19 years ago
I confirmed that the mod_rewrite rules were in fact causing this problem (as well as a problem related to not letting me edit the wiki — i guess the ?action=edit parameter was getting rewritten as well).
my solution was to simply exclude any trac-related directories from being rewritten by mod_rewrite rules. i did something like this:
RewriteRule /(trac) - [L]
where trac is the 'base' directory of all my trac projects that i specify in the httpd.conf file (using mod_python approach, obvs).
thanks for your help!!



FYI, #5287 & #5286 are related.