#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

Reply via email to