Bug #1532
closedLighttpd fails to start when using the same $HTTP["host"] match in an IF/ELSE form
Description
While adjusting a vhost i have, i encountered that Lighttpd wouldn't start anymore giving an odd error. The reason was quite clear:
$HTTP["host"] =~ "^www\.(mydomain\.co\.uk)(:[0-9]+)?$" { # Do bla } else $HTTP["host"] =~ "^www\.(mydomain\.co\.uk)(:[0-9]+)?$" { # Do bla } else $HTTP["host"] =~ "^(.+\.)?(mydomain\.co\.uk)(:[0-9]+)?$" { # Redirect the rest url.redirect = ( ".*" => "http://www.%2/" ) }
When restarting Lighttpd i get the following error:
lighttpd: ./configparser.y:349: yy_reduce: Assertion `yymsp[-3].minor.yy78->context_ndx < yymspr0.minor.yy78->context_ndx' failed.
Reason is quite simple, i'm using the same IF and ELSE case, however it shouldn't really matter that I do so (even if it makes no sense).
-- calimonk
Updated by stbuehler over 16 years ago
- Status changed from New to Fixed
- Resolution set to wontfix
This is a configparser design problem - we won't fix it in 1.4.x as it is not needed if your config makes sense.
Updated by spflanze over 15 years ago
I have come across the same bug. I need this to work.
Updated by icy over 15 years ago
Why do you need this to work? It doesn't make any semantically sense.
if (a) { ... } else if (a) { ... } else if (b) { ... }
Just merge the two (a) conditions.
Updated by darix over 15 years ago
the error message could be a bit less cryptic, but otherwise i agree this shouldnt lead to an successful start.
Updated by gstrauss 10 months ago
- Status changed from Wontfix to Fixed
- Target version deleted (
1.5.0) - ASK QUESTIONS IN Forums set to No
Fixed in lighttpd 1.4.42 along with #1268
An "unreachable else condition" is reported if the condition is unreachable, including if the condition is repeated in: if (cond) else (repeated-cond)
Also available in: Atom