My first submitted issue...

System:
Service: IIS v5.1
Browser: Firefox v1.5
Drupal: drupal-cvs.tar.gz as of October 11th at 5:00 UTC

Reproducible: Yes (3x)

Symptoms:
Submitting the form at /install.php caused IIS to crash.
settings.php is successfully updated prior to crash.

Potential Cause:
I think this was an infinite loop caused by install_goto(). Based on the fix (described below), my guess is that install_goto() redirected as POST, rather that GET. This prevented install_verify_settings() from ever being TRUE, and thus an infinite loop launched on install_change_settings().

The function install_goto() executed a header redirect in the following fashion:

function install_goto($path) {
  global $base_path;
  header('Location: '. $base_path . $path);
  exit();
}

However, PHP documents an absolute URI is needed for header().

Changing install_goto() to be an absolute URI fixed my issue:

function install_goto($path) {
  global $base_url, $base_path;
  header('Location: '. $base_url . $base_path . $path);
  exit();
}
CommentFileSizeAuthor
#1 absolute_goto.patch370 byteschx

Comments

chx’s picture

Status: Active » Reviewed & tested by the community
StatusFileSize
new370 bytes

You are right that goto should do absolute. However, that worked for you because I assume your Drupal was not in a subdirectory. base_url includes the base_path, too. And, while base_path always ends with a slash, base_url never does.

I checked drupal_goto and that's $url = url($path, $query, $fragment, TRUE); note that TRUE at the end -- absolute indeed.

dries’s picture

Status: Reviewed & tested by the community » Fixed

Committed to CVS HEAD. Excellent bug report evo! Great work guys.

Anonymous’s picture

Status: Fixed » Closed (fixed)