Project

General

Profile

Actions

Bug #1532

closed

Lighttpd fails to start when using the same $HTTP["host"] match in an IF/ELSE form

Added by Anonymous about 16 years ago. Updated about 2 months ago.

Status:
Fixed
Priority:
Low
Category:
core
Target version:
-
ASK QUESTIONS IN Forums:
No

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

Actions #1

Updated by stbuehler over 15 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.

Actions #2

Updated by stbuehler over 15 years ago

  • Status changed from Fixed to Wontfix
Actions #3

Updated by spflanze over 14 years ago

I have come across the same bug. I need this to work.

Actions #4

Updated by icy over 14 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.

Actions #5

Updated by darix over 14 years ago

the error message could be a bit less cryptic, but otherwise i agree this shouldnt lead to an successful start.

Actions #6

Updated by gstrauss about 2 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)

Actions

Also available in: Atom