Defect #9811

SaveFileDialog popsup on various links

Added by Florian Reischer over 9 years ago. Updated over 9 years ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-
Resolution:Cant reproduce Affected version:

Description

I have detected a very strange behavior on redmine.
On various links in redmine the browser reacts not with loading the page i clicked, but pops up a SaveAs Dialog (see attached screenshot).
Until now i have observed this behavior on google chrome (not yet tested other browsers) and on the following links:

  • Show Gantt
  • New issue
  • Issues
  • Administration

When i click the link a second time the page is loaded...
It is absolutely unpredictable and no idea comes to my mind where this can come from...
I have also observed the behavior on other machines in our office running google chrome as well.
Will test on IE for confirmation.

BitNami Redmine Stack 1.2.2-0
Redmine 1.2.2

saveAsPopupBug.png (276 KB) Florian Reischer, 2011-12-15 13:34

Headers.docx - A Capture of the Headers sent and received by Chrome when the SaveFile Dialog popped up (15.2 KB) Florian Reischer, 2011-12-16 07:36

gantt.har (2.76 KB) Florian Reischer, 2012-01-03 08:47

History

#2 Updated by Jean-Philippe Lang over 9 years ago

  • Resolution set to Cant reproduce

Can you post the response headers?

#3 Updated by Florian Reischer over 9 years ago

How can i do that? I found a script

<script language="JavaScript" type="text/javascript">
<!--
var http = new ActiveXObject('Microsoft.XMLHTTP');
// display headers of current document:
http.open('HEAD', location.href, false);
http.send();
alert(http.getAllResponseHeaders())
</script>

but this is for self created pages (and IE i guess)...
Can chrome possibly display the information?

#4 Updated by Florian Reischer over 9 years ago

Okay i found a tool in chrome that is called
HTTP Headers:

It shows only little information e.g.

HTTP-Request-Status: 200 (OK)
Name Wert
Date Fri, 16 Dec 2011 06:10:09 GMT
Status 200
Content-Length 126948
X-Runtime 722
Server Mongrel 1.1.5
ETag "a6a18c156789bd8019de3f6e473bfd47"
Content-Type text/html; charset=utf-8
Cache-Control private, max-age=0, must-revalidate

But there is no information about the response.... ? :-/

#5 Updated by Florian Reischer over 9 years ago

#6 Updated by Etienne Massip over 9 years ago

Just push F12 in chrome and observe Network tab.

#7 Updated by Jean-Philippe Lang over 9 years ago

The response content type (text/html) looks fine. I don't know why your browser opens the save dialog. Never experienced this issue.

#8 Updated by Florian Reischer over 9 years ago

A collegue uses Firefox and experiences the same issue on the same installation.
I guess i was not accurately capturing the correct response header in the word document.
I will try to reproduce and re-capture the response header.
Actually my collegue told me that it was a kind of Stream response so the Save dialog opened up.
I will try to filter such a repsonse and post it here.

#9 Updated by Florian Reischer over 9 years ago

I captured a so called HAR file, now i can see the response in the F12, network window of chrome.
The content type that is responded from Redmine is octet-Stream (See HAR file).
That's why the browser tries to save the data using a SaveDialog...
Is it possible, that the problem is no part of Redmine itself but of the bitnami stack or mongrel (whatever other system is running there in the background)?
If yes, then i would move this whole thing to an appropriate forum or community...

#10 Updated by Gregory Harrison over 9 years ago

I am experiencing the same issue.

Redmine 1.3.0.stable with Bitnami. Using Chrome 16.0.912.75 m, bitnami-redmine-1.3.0-1 on windows. Issue description (besides versions) is spot on.

Have you had any success with this, Florian?

#11 Updated by Florian Reischer over 9 years ago

Hello Gregory,
no there was no change... It popsup from time to time.
I figured out, that the content type changes to octet-stream from time to time, that's when we get the save dialog in the browser.
I was planning to report this issue in a bitnami forum as well, i thought it might have a connection to the caching... i recognized, that when i do not change anything in the redmine database, the effect does not appear, but when acutally modifying a ticket for example and then clicking on gantt, the issue appears.
This must be a bug somewhere but since nobody in here could replay it... > :/

#12 Updated by Wojtek … over 9 years ago

have the same issue. the file download dialog appears under chrome and firefox, under Opera it works OK.
It happens every time POST is used (login, logout, create new issue, update, etc), our site use redmine-1.3.0, apache, fastcgi. the headers:

URL:    https://site/logout
Method:    GET
Status:    302 Found
Duration:    0

Request details
GET /logout HTTP/1.1 
User-Agent: Opera/9.80 (Windows NT 6.1; U; Edition Next; en) Presto/2.10.238 Version/12.00
Host: site
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en
Accept-Encoding: gzip, deflate
Referer: https://site/
Cookie: autologin=...
Cache-Control: no-cache
Connection: Keep-Alive
Request body

Response details
HTTP/1.1 302 Found 
Date: Thu, 26 Jan 2012 16:12:06 GMT
Server: Apache/2.2.12 (Ubuntu)
X-Runtime: 3
Content-Length: 94
Set-Cookie: autologin=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT
Set-Cookie: _redmine_session=...
Cache-Control: no-cache
Location: https://site/
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8

; and then

Request details
GET / HTTP/1.1 
User-Agent: Opera/9.80 (Windows NT 6.1; U; Edition Next; en) Presto/2.10.238 Version/12.00
Host: site
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en
Accept-Encoding: gzip, deflate
Referer: https://site/
If-None-Match: ...
Connection: Keep-Alive

Response details
HTTP/1.1 200 OK 
Date: Thu, 26 Jan 2012 16:12:06 GMT
Server: Apache/2.2.12 (Ubuntu)
ETag: ...
X-Runtime: 42
Content-Length: 7020
Set-Cookie: ...
Cache-Control: private, max-age=0, must-revalidate
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8

same scenario under Fx:

(Request-Line)
GET /logout HTTP/1.1
Host    site
User-Agent    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language    en,en-gb;q=0.5
Accept-Encoding    gzip, deflate
Accept-Charset    ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection    keep-alive
Referer    https://site/
Cookie    ...

(Status-Line)
HTTP/1.1 302 Found
Date    Thu, 26 Jan 2012 16:06:53 GMT
Server    Apache/2.2.12 (Ubuntu)
X-Runtime    4
Content-Length    94
Set-Cookie    autologin=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT
Set-Cookie    _redmine_session=...
Cache-Control    no-cache
Location    https://site/
Vary    Accept-Encoding
Content-Encoding    gzip
Keep-Alive    timeout=15, max=100
Connection    Keep-Alive
Content-Type    text/html; charset=utf-8

; and then

(Request-Line)
GET / HTTP/1.1
Host    site
User-Agent    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language    en,en-gb;q=0.5
Accept-Encoding    gzip, deflate
Accept-Charset    ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection    keep-alive
Referer    https://site/
Cookie    _redmine_session=...

(Status-Line)    HTTP/0.9 200 OK

for my taste requests looks ok (only the response under Fx/chrome is wrong), same goes for the logs; opera:

Processing AccountController#login (for 213.238.94.38 at 2012-01-26 16:42:24) [GET]
  Parameters: {"action"=>"login", "controller"=>"account"}
Rendering template within layouts/base
Rendering account/login
Completed in 16ms (View: 13, DB: 0) | 200 OK [https://site/login]

Processing AccountController#login (for 213.238.94.38 at 2012-01-26 16:42:30) [POST]
  Parameters: {"back_url"=>"https%3A%2F%2Fsite%2F", "action"=>"login", "authenticity_token"=>"...", "username"=>"wojtek", "autologin"=>"1", "controller"=>"account", "password"=>"[FILTERED]", "login"=>"Login Âť"}
Redirected to https://site/
Completed in 17ms (DB: 5) | 302 Found [https://site/login]

Processing WelcomeController#index (for 213.238.94.38 at 2012-01-26 16:42:31) [GET]
  Parameters: {"action"=>"index", "controller"=>"welcome"}
Rendering template within layouts/base
Rendering welcome/index
Completed in 67ms (View: 60, DB: 2) | 200 OK [https://site/]

and under chrome:

Processing AccountController#login (for 213.238.94.38 at 2012-01-26 16:43:10) [GET]
  Parameters: {"action"=>"login", "controller"=>"account"}
Rendering template within layouts/base
Rendering account/login
Completed in 15ms (View: 12, DB: 1) | 200 OK [https://site/login]

Processing AccountController#login (for 213.238.94.38 at 2012-01-26 16:43:12) [POST]
  Parameters: {"back_url"=>"https%3A%2F%2Fsite%2F", "action"=>"login", "authenticity_token"=>"....", "username"=>"wojtek", "controller"=>"account", "password"=>"[FILTERED]", "login"=>"Login Âť"}
Redirected to https://site/
Completed in 18ms (DB: 1) | 302 Found [https://site/login]

Processing WelcomeController#index (for 213.238.94.38 at 2012-01-26 16:43:12) [GET]
  Parameters: {"action"=>"index", "controller"=>"welcome"}
Rendering template within layouts/base
Rendering welcome/index
Completed in 205ms (View: 197, DB: 2) | 200 OK [https://site/]

any idea how to debug it

#13 Updated by Wojtek … over 9 years ago

it seems that the culprit, for some reason, was KeepAlive in the apache2 with the default 15 seconds -- for that time, even thought the page was loaded and displayed the connection was on (active indicator that the page is loading under IE and Opera) and caused download dialog under Firefox and Chrome.

At the bottom - is it safe for apache-fastsgi-redmine configuration to turn off the KeepAlive?

Also available in: Atom PDF