QuotaExceededError - storage - exceeded the quota

javascript

(Dean Taylor) #1

From Error logs

Discourse 1.2.0.beta4 - https://github.com/discourse/discourse version 3cea85e09a5a86d7a965fb2ffd8b132659b79db0

###Info

QuotaExceededError: DOM Exception 22: An attempt was made to add something to storage that exceeded the quota.
Url: http://example.com/assets/vendor-0dbc6e71b0ee5428574e3562afe91ef1.js
Line: 5
Column: 20205
Window Location: http://example.com/t/example/66158?utm_medium=email&utm_source=transactional&utm_campaign=club_email

###Env

HTTP_HOST: example.com
REQUEST_URI: /logs/report_js_error
REQUEST_METHOD: POST
HTTP_USER_AGENT: Mozilla/5.0 (iPad; CPU OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B440 Safari/600.1.4
HTTP_ACCEPT: */*
HTTP_REFERER: http://example.com/t/example/66158?utm_medium=email&utm_source=transactional&utm_campaign=club_email
HTTP_X_FORWARDED_FOR: 86.174.1.2
HTTP_X_REAL_IP: 86.174.1.2

params:
  message: QuotaExceededError: DOM Exception 22: An attempt was made to add something to storage that exceeded t
  url: http://example.com/assets/vendor-0dbc6e71b0ee5428574e3562afe91ef1.js
  line: 5
  column: 20205
  window_location: http://example.com/t/example/66158?utm_medium=email&utm_source=transactional&

(Kane York) #2

LocalStorage is used for the composer settings; I think this person has their browser set to deny cookie & localstorage requests.


(Dean Taylor) #3

It might be - generally my users aren’t the type to play with any type of setting.

If I had this:

I might know the user and track them down.

Or perhaps if the last 3 IP’s per-user were logged - a single IP is a bit pointless with so many people having multiple devices, 1 3G, 1 Wifi etc.

Or might be able to prove they are not a member.


(flyabroad) #4

I got the same errors this days.

I don’t know yet whether this issue may possibly cause blank pages of my site, now I uses the v1.5.0.beta1 +108 version.

I only got the related stackoverflow answers about this html5 issue. If this problem occurs again, I will follow here.


(Jeff Atwood) #5

For logged in users, or for anonymous users?


(flyabroad) #6

My site down twice this day, error logs show the same env:

hostname doXXX
process_id 131
application_version f269514b6fdd1b14e73be1b1b4032f589873d872
HTTP_HOST bbs.fcgvisa.com
REQUEST_URI /logs/report_js_error
REQUEST_METHOD POST
HTTP_USER_AGENT Mozilla/5.0 (iPhone; CPU iPhone OS 9_0_1
like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0

Mobile/13A404 Safari/601.1
HTTP_ACCEPT /
HTTP_REFERER Skillselect-开贴记录澳洲eoi邀请情况 - SkillSelect澳洲技术移民(包括州担保) - 飞出国技术移民论坛
HTTP_X_FORWARDED_FOR XXXX
HTTP_X_REAL_IP XXXX

paramsmessageQuotaExceededError: DOM Exception 22: An attempt was made to add something to storage that exceeded t
url http://bbs.fcgvisa.com/assets/application-047ed456d8732070883cb4b43f078264.js
line 1
column 17537
window_location Skillselect-开贴记录澳洲eoi邀请情况 - SkillSelect澳洲技术移民(包括州担保) - 飞出国技术移民论坛


(Jeff Atwood) #7

@neil can you check our logs tomorrow and see if we are seeing this anywhere in the network?


(flyabroad) #8

Occasional 500 internal server error / blank page today, My server deployed on do and uses the docker installer. Discourse logs only show warning errors as above.

I found those errors on docker, Who can help:

/var/log/nginx/errors.log

2015/09/29 05:06:39 [error] 50#50: *7 connect() failed (111: Connection refused) while connecting to upstream, client: 90.85.51.140, server: _, request: “POST /topics/timings HTTP/1.1”, ups
tream: “http://127.0.0.1:3000/topics/timings”, host: “bbs.fcgvisa.com”, referrer: “613 Mon Projet Québec 魁技在线申请讨论帖,为 2016-06-13 魁北克技术移民抢配额做准备 - QSW魁北克技术移民 - 飞出国技术移民论坛

2015/09/29 05:06:39 [error] 50#50: *45 connect() failed (111: Connection refused) while connecting to upstream, client: 123.127.131.126, server: _, request: “POST /message-bus/b031afaff4214
60e9374ecdcb46c529a/poll?dlp=t HTTP/1.1”, upstream: “http://127.0.0.1:3000/message-bus/b031afaff421460e9374ecdcb46c529a/poll?dlp=t”, host: “bbs.fcgvisa.com”, referrer: “魁北克技术移民也将启用在线申请,2015年6300配额 - QSW魁北克技术移民 - 飞出国技术移民论坛

2015/09/29 08:05:31 [error] 47#47: *145 connect() failed (111: Connection refused) while connecting to upstream, client: 153.121.45.96, server: _, request: “POST /topics/timings HTTP/1.1”, upstream: “http://127.0.0.1:3000/topics/timings”, host: “bbs.fcgvisa.com”, referrer: “学历相关证明资料准备指南 - 学历认证 - 飞出国技术移民论坛

unicorn.stderr.log show the same errors:

Failed to report error: EXECABORT Transaction discarded because of previous errors. 3 Job exc
on disk. Commands that may modify the data set are disabled. Please check Redis logs for deta


(flyabroad) #9

And, where can I find the redis on the server, and the redis log files, I can’t find.


(flyabroad) #10

I will restart the server and rebuild the discourse docker, Hopeful this can resolve the 500 error.

According to this:


(Neil Lalonde) #11

I don’t find any QuotaExceededError in our logs at all, but they wouldn’t be related to a 500 error from the server.

If you deployed using the standalone config, then the redis server is in the docker container (since everything is in there). Did you use standalone? Which size droplet did you use?


(Dean Taylor) #12

Just to confirm I’m still seeing them:


(Jeff Atwood) #13

Are you sure this is not a particular user with odd settings? Are the IPs in those error log messages the same? Any patterns in the user-agent, e.g. oddball browser or platform?


(Dean Taylor) #14

Yes, see user agents list below.

There are varying IPs from different IP ranges, although it’s difficult to clarify based on IPs because mobile users change IPs frequently.

That oddball platform looks like iOS / iPhone / iPad devices.

Here is a list of the User Agents since 26 May (removing duplicates):

Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F70 Safari/600.1.4
Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F69 Safari/600.1.4
Mozilla/5.0 (iPad; CPU OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53
Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H143 Safari/600.1.4
Mozilla/5.0 (iPhone; CPU iPhone OS 9_0 like Mac OS X) AppleWebKit/601.1.39 (KHTML, like Gecko) Version/9.0 Mobile/13A4305g Safari/601.1
Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F70 Safari/600.1.4
Mozilla/5.0 (iPhone; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H321 Safari/600.1.4
Mozilla/5.0 (iPhone; CPU iPhone OS 9_0 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13A344 Safari/601.1
Mozilla/5.0 (iPad; CPU OS 9_0 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13A344 Safari/601.1
Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12D508 Safari/600.1.4

(Jeff Atwood) #15

Hmm, but you found no errors like this globally in our network @neil @sam? Does appear specific to iOS.


(flyabroad) #16

Yup, I use the standalone config, My current Droplet is 2GB Memory/2 CPUs, no swap.

Yestoday, I update docker from 1.5.0 to the last 1.8.2, until now no more 500 errors, there still many QuotaExceededError: DOM Exception 22. “but they wouldn’t be related to a 500 error from the server”! 500 error is terrible.


(flyabroad) #17

Oh no, 500 error again. I need to restart the docker.


(Neil Lalonde) #18

I recommend you add swap, even for the 2GB droplet. It’s hard to know what’s wrong if the 500 errors aren’t being logged.

@codinghorror I can’t find any instances of this error in our logs.


(Sam Saffron) #19

This is a javascript error, sounds most likely that people are using Safari in private mode and we have some spot in our code that is not guarding against usage for localStorage.


(Jeff Atwood) #20

Good idea, see if we can repro this error with Safari in private mode, @neil.