#541: TracStandalone crashing on default product misconfiguration
---------------------------+--------------------
Reporter: olemis | Owner: nobody
Type: defect | Status: new
Priority: critical | Milestone:
Component: multiproduct | Version:
Resolution: | Keywords: hooks
---------------------------+--------------------
Changes (by olemis):
* priority: major => critical
* keywords: => hooks
* component: => multiproduct
* owner: => nobody
Old description:
> Hooks code will fail if configured default product does not exist.
> Details
>
> {{{#!py
>
> Traceback (most recent call last):
> File "/path/to/bloodhound/trac/trac/hooks.py", line 254, in
> open_environment
> factory_env = factory().open_environment(environ, env_path,
> global_env, use_cache=not run_once) if factory \
> File
> "/path/to/bloodhound/bloodhound_multiproduct/multiproduct/hooks.py", line
> 71, in open_environment
> environ['PATH_INFO'])
> File
> "/path/to/bloodhound/bloodhound_multiproduct/multiproduct/hooks.py", line
> 53, in create_product_env
> product_prefix)
> File
> "/path/to/bloodhound/bloodhound_multiproduct/multiproduct/cache.py", line
> 67, in wrapper
> result = user_function(*args, **kwds)
> File "/path/to/bloodhound/bloodhound_multiproduct/multiproduct/env.py",
> line 379, in __call__
> return ComponentMeta.__call__(self, *args, **kwargs)
> File "/path/to/bloodhound/trac/trac/core.py", line 140, in __call__
> self.__init__(*args, **kwargs)
> File "/path/to/bloodhound/trac/trac/core.py", line 107, in new_init
> original_init(self, *args, **kwargs)
> File "/path/to/bloodhound/bloodhound_multiproduct/multiproduct/env.py",
> line 527, in __init__
> raise LookupError("Missing product %s" % (product,))
> LookupError: Missing product @
> }}}
New description:
Hooks code will fail if configured default product does not exist. Details
{{{#!py
Traceback (most recent call last):
File "/path/to/bloodhound/trac/trac/hooks.py", line 254, in
open_environment
factory_env = factory().open_environment(environ, env_path,
global_env, use_cache=not run_once) if factory \
File
"/path/to/bloodhound/bloodhound_multiproduct/multiproduct/hooks.py", line
71, in open_environment
environ['PATH_INFO'])
File
"/path/to/bloodhound/bloodhound_multiproduct/multiproduct/hooks.py", line
53, in create_product_env
product_prefix)
File
"/path/to/bloodhound/bloodhound_multiproduct/multiproduct/cache.py", line
67, in wrapper
result = user_function(*args, **kwds)
File "/path/to/bloodhound/bloodhound_multiproduct/multiproduct/env.py",
line 379, in __call__
return ComponentMeta.__call__(self, *args, **kwargs)
File "/path/to/bloodhound/trac/trac/core.py", line 140, in __call__
self.__init__(*args, **kwargs)
File "/path/to/bloodhound/trac/trac/core.py", line 107, in new_init
original_init(self, *args, **kwargs)
File "/path/to/bloodhound/bloodhound_multiproduct/multiproduct/env.py",
line 527, in __init__
raise LookupError("Missing product %s" % (product,))
LookupError: Missing product @
}}}
AFAICS , web server will crash due to HTTP protocol violation, missing
status line .
--
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/541#comment:1>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker