Packets are not broadcasted after some time. #49

Closed
etam opened this Issue Jul 24, 2013 · 8 comments

Comments

Projects
None yet
4 participants
@etam

etam commented Jul 24, 2013

Host system: Ubuntu 12.04
Nodejs: latest (0.10.13) from https://launchpad.net/~richarvey/+archive/nodejs
Ethercalc: latest (0.20130724.1) from npm

On my system Ethercalc at start runs fine, but after about 5 minutes (not exact measure) weird things start to happen:

  • Connected clients are not updated with changes
  • New clients see empty spreadsheet
  • Server in console displays that it receives packets from clients, but is not broadcasting them anymore. Normally there's message "broadcasting packet" followed by "websocket writing some_data...", but later there's only "broadcasting packet" and nothing happens (here's the log: http://susepaste.org/19467747. to line 381 everything is fine, then there's some inactivity and at 432 there are events that aren't broadcasted).

Reproducible: always

@audreyt

This comment has been minimized.

Show comment Hide comment
@audreyt

audreyt Jul 30, 2013

Owner

Hmm, weird indeed. Does EtherCalc 0.20130727.0 and Node.js 0.10.15 help?

Owner

audreyt commented Jul 30, 2013

Hmm, weird indeed. Does EtherCalc 0.20130727.0 and Node.js 0.10.15 help?

@jittichat

This comment has been minimized.

Show comment Hide comment
@jittichat

jittichat Jul 31, 2013

I faced the same problem though I've updated both ethercalc and nodejs.
Host system: Ubuntu 12.04
Nodejs: latest (0.10.15)
Ethercalc: latest (0.20130727.0) from npm

I faced the same problem though I've updated both ethercalc and nodejs.
Host system: Ubuntu 12.04
Nodejs: latest (0.10.15)
Ethercalc: latest (0.20130727.0) from npm

@etam

This comment has been minimized.

Show comment Hide comment
@etam

etam Aug 15, 2013

Nodejs: 0.10.15
Ethercalc: 0.20130727.0 from npm
Problem still exists.

etam commented Aug 15, 2013

Nodejs: 0.10.15
Ethercalc: 0.20130727.0 from npm
Problem still exists.

@etam

This comment has been minimized.

Show comment Hide comment
@etam

etam Aug 18, 2013

I don't know if it's a solution or rather workaround, but disabling 5 min timeout for idle clients in redis fixed the problem.

etam commented Aug 18, 2013

I don't know if it's a solution or rather workaround, but disabling 5 min timeout for idle clients in redis fixed the problem.

@flgcloud

This comment has been minimized.

Show comment Hide comment
@flgcloud

flgcloud Sep 29, 2013

It's the same for me, it's impossible to use Ethercalc in production, see #63, with
ubuntu 12.04 LTS
node -v > v0.10.19
npm ls --global >
/usr/lib
├─┬ ethercalc@0.20130925.0
│ ├── cors@1.0.1
│ ├─┬ LiveScript@1.2.0
│ │ └── prelude-ls@1.0.3
│ ├─┬ optimist@0.6.0
│ │ ├── minimist@0.0.5
│ │ └── wordwrap@0.0.2
│ ├── redis@0.8.2
│ ├── uuid-pure@1.0.10
│ ├── webworker-threads@0.4.7
│ └─┬ zappajs@0.4.22
│ ├─┬ coffee-css@0.0.5
│ │ ├── coffee-script@1.6.3
│ │ └── underscore@1.5.2
│ ├─┬ coffeecup@0.3.20
│ │ ├── coffee-script@1.6.3
│ │ ├── optparse@1.0.3
│ │ ├─┬ stylus@0.27.2
│ │ │ ├── cssom@0.2.5
│ │ │ ├── debug@0.7.2
│ │ │ └── mkdirp@0.3.5
│ │ └── uglify-js@1.2.6
│ ├─┬ express@3.2.6
│ │ ├── buffer-crc32@0.2.1
│ │ ├── commander@0.6.1
│ │ ├─┬ connect@2.7.11
│ │ │ ├── bytes@0.2.0
│ │ │ ├── cookie@0.0.5
│ │ │ ├── formidable@1.0.14
│ │ │ ├── pause@0.0.1
│ │ │ ├── qs@0.6.5
│ │ │ └─┬ send@0.1.1
│ │ │ └── mime@1.2.11
│ │ ├── cookie@0.1.0
│ │ ├── cookie-signature@1.0.1
│ │ ├── debug@0.7.2
│ │ ├── fresh@0.1.0
│ │ ├── mkdirp@0.3.4
│ │ ├── range-parser@0.0.4
│ │ └─┬ send@0.1.0
│ │ └── mime@1.2.6
│ ├── methods@0.0.1
│ ├── node-uuid@1.4.0
│ ├─┬ socket.io@0.9.16
│ │ ├── base64id@0.1.0
│ │ ├── policyfile@0.0.4
│ │ ├── redis@0.7.3
│ │ └─┬ socket.io-client@0.9.16
│ │ ├─┬ active-x-obfuscator@0.0.1
│ │ │ └── zeparser@0.0.5
│ │ ├── uglify-js@1.2.5
│ │ ├─┬ ws@0.4.31
│ │ │ ├── commander@0.6.1
│ │ │ ├── nan@0.3.2
│ │ │ ├── options@0.0.5
│ │ │ └── tinycolor@0.0.1
│ │ └── xmlhttprequest@1.4.2
│ └─┬ uglify-js@2.3.6
│ ├── async@0.2.9
│ ├─┬ optimist@0.3.7
│ │ └── wordwrap@0.0.2
│ └─┬ source-map@0.1.29
│ └── amdefine@0.0.8
├─┬ npm@1.3.11
│ ├── abbrev@1.0.4
│ ├── ansi@0.1.2
│ ├── archy@0.0.2
│ ├── block-stream@0.0.7
│ ├── child-process-close@0.1.1
│ ├── chmodr@0.1.0
│ ├── chownr@0.0.1
│ ├── cmd-shim@1.0.1
│ ├── editor@0.0.4
│ ├── fstream@0.1.24
│ ├─┬ fstream-npm@0.1.5
│ │ └── fstream-ignore@0.0.7
│ ├── github-url-from-git@1.1.1
│ ├── glob@3.2.6
│ ├── graceful-fs@2.0.1
│ ├── inherits@2.0.1
│ ├── ini@1.1.0
│ ├─┬ init-package-json@0.0.11
│ │ └── promzard@0.2.0
│ ├── lockfile@0.4.2
│ ├── lru-cache@2.3.1
│ ├─┬ minimatch@0.2.12
│ │ └── sigmund@1.0.0
│ ├── mkdirp@0.3.5
│ ├── node-gyp@0.10.10
│ ├── nopt@2.1.2
│ ├─┬ npm-registry-client@0.2.28
│ │ └── couch-login@0.1.18
│ ├── npm-user-validate@0.0.3
│ ├─┬ npmconf@0.1.3
│ │ └─┬ config-chain@1.1.7
│ │ └── proto-list@1.2.2
│ ├── npmlog@0.0.4
│ ├── once@1.1.1
│ ├── opener@1.3.0
│ ├── osenv@0.0.3
│ ├─┬ read@1.0.5
│ │ └── mute-stream@0.0.4
│ ├── read-installed@0.2.4
│ ├─┬ read-package-json@1.1.3
│ │ └── normalize-package-data@0.2.2
│ ├─┬ request@2.27.0
│ │ ├── aws-sign@0.3.0
│ │ ├── cookie-jar@0.3.0
│ │ ├── forever-agent@0.5.0
│ │ ├─┬ form-data@0.1.1
│ │ │ ├── async@0.2.9
│ │ │ └─┬ combined-stream@0.0.4
│ │ │ └── delayed-stream@0.0.5
│ │ ├─┬ hawk@1.0.0
│ │ │ ├── boom@0.4.2
│ │ │ ├── cryptiles@0.2.2
│ │ │ ├── hoek@0.9.1
│ │ │ └── sntp@0.2.4
│ │ ├─┬ http-signature@0.10.0
│ │ │ ├── asn1@0.1.11
│ │ │ ├── assert-plus@0.1.2
│ │ │ └── ctype@0.5.2
│ │ ├── json-stringify-safe@5.0.0
│ │ ├── mime@1.2.11
│ │ ├── node-uuid@1.4.1
│ │ ├── oauth-sign@0.3.0
│ │ ├── qs@0.6.5
│ │ └── tunnel-agent@0.3.0
│ ├── retry@0.6.0
│ ├── rimraf@2.2.2
│ ├── semver@2.1.0
│ ├─┬ sha@1.2.3
│ │ └── readable-stream@1.0.17
│ ├── slide@1.1.5
│ ├── tar@0.1.18
│ ├── uid-number@0.0.3
│ └── which@1.0.5
└── webworker-threads@0.4.7

It's the same for me, it's impossible to use Ethercalc in production, see #63, with
ubuntu 12.04 LTS
node -v > v0.10.19
npm ls --global >
/usr/lib
├─┬ ethercalc@0.20130925.0
│ ├── cors@1.0.1
│ ├─┬ LiveScript@1.2.0
│ │ └── prelude-ls@1.0.3
│ ├─┬ optimist@0.6.0
│ │ ├── minimist@0.0.5
│ │ └── wordwrap@0.0.2
│ ├── redis@0.8.2
│ ├── uuid-pure@1.0.10
│ ├── webworker-threads@0.4.7
│ └─┬ zappajs@0.4.22
│ ├─┬ coffee-css@0.0.5
│ │ ├── coffee-script@1.6.3
│ │ └── underscore@1.5.2
│ ├─┬ coffeecup@0.3.20
│ │ ├── coffee-script@1.6.3
│ │ ├── optparse@1.0.3
│ │ ├─┬ stylus@0.27.2
│ │ │ ├── cssom@0.2.5
│ │ │ ├── debug@0.7.2
│ │ │ └── mkdirp@0.3.5
│ │ └── uglify-js@1.2.6
│ ├─┬ express@3.2.6
│ │ ├── buffer-crc32@0.2.1
│ │ ├── commander@0.6.1
│ │ ├─┬ connect@2.7.11
│ │ │ ├── bytes@0.2.0
│ │ │ ├── cookie@0.0.5
│ │ │ ├── formidable@1.0.14
│ │ │ ├── pause@0.0.1
│ │ │ ├── qs@0.6.5
│ │ │ └─┬ send@0.1.1
│ │ │ └── mime@1.2.11
│ │ ├── cookie@0.1.0
│ │ ├── cookie-signature@1.0.1
│ │ ├── debug@0.7.2
│ │ ├── fresh@0.1.0
│ │ ├── mkdirp@0.3.4
│ │ ├── range-parser@0.0.4
│ │ └─┬ send@0.1.0
│ │ └── mime@1.2.6
│ ├── methods@0.0.1
│ ├── node-uuid@1.4.0
│ ├─┬ socket.io@0.9.16
│ │ ├── base64id@0.1.0
│ │ ├── policyfile@0.0.4
│ │ ├── redis@0.7.3
│ │ └─┬ socket.io-client@0.9.16
│ │ ├─┬ active-x-obfuscator@0.0.1
│ │ │ └── zeparser@0.0.5
│ │ ├── uglify-js@1.2.5
│ │ ├─┬ ws@0.4.31
│ │ │ ├── commander@0.6.1
│ │ │ ├── nan@0.3.2
│ │ │ ├── options@0.0.5
│ │ │ └── tinycolor@0.0.1
│ │ └── xmlhttprequest@1.4.2
│ └─┬ uglify-js@2.3.6
│ ├── async@0.2.9
│ ├─┬ optimist@0.3.7
│ │ └── wordwrap@0.0.2
│ └─┬ source-map@0.1.29
│ └── amdefine@0.0.8
├─┬ npm@1.3.11
│ ├── abbrev@1.0.4
│ ├── ansi@0.1.2
│ ├── archy@0.0.2
│ ├── block-stream@0.0.7
│ ├── child-process-close@0.1.1
│ ├── chmodr@0.1.0
│ ├── chownr@0.0.1
│ ├── cmd-shim@1.0.1
│ ├── editor@0.0.4
│ ├── fstream@0.1.24
│ ├─┬ fstream-npm@0.1.5
│ │ └── fstream-ignore@0.0.7
│ ├── github-url-from-git@1.1.1
│ ├── glob@3.2.6
│ ├── graceful-fs@2.0.1
│ ├── inherits@2.0.1
│ ├── ini@1.1.0
│ ├─┬ init-package-json@0.0.11
│ │ └── promzard@0.2.0
│ ├── lockfile@0.4.2
│ ├── lru-cache@2.3.1
│ ├─┬ minimatch@0.2.12
│ │ └── sigmund@1.0.0
│ ├── mkdirp@0.3.5
│ ├── node-gyp@0.10.10
│ ├── nopt@2.1.2
│ ├─┬ npm-registry-client@0.2.28
│ │ └── couch-login@0.1.18
│ ├── npm-user-validate@0.0.3
│ ├─┬ npmconf@0.1.3
│ │ └─┬ config-chain@1.1.7
│ │ └── proto-list@1.2.2
│ ├── npmlog@0.0.4
│ ├── once@1.1.1
│ ├── opener@1.3.0
│ ├── osenv@0.0.3
│ ├─┬ read@1.0.5
│ │ └── mute-stream@0.0.4
│ ├── read-installed@0.2.4
│ ├─┬ read-package-json@1.1.3
│ │ └── normalize-package-data@0.2.2
│ ├─┬ request@2.27.0
│ │ ├── aws-sign@0.3.0
│ │ ├── cookie-jar@0.3.0
│ │ ├── forever-agent@0.5.0
│ │ ├─┬ form-data@0.1.1
│ │ │ ├── async@0.2.9
│ │ │ └─┬ combined-stream@0.0.4
│ │ │ └── delayed-stream@0.0.5
│ │ ├─┬ hawk@1.0.0
│ │ │ ├── boom@0.4.2
│ │ │ ├── cryptiles@0.2.2
│ │ │ ├── hoek@0.9.1
│ │ │ └── sntp@0.2.4
│ │ ├─┬ http-signature@0.10.0
│ │ │ ├── asn1@0.1.11
│ │ │ ├── assert-plus@0.1.2
│ │ │ └── ctype@0.5.2
│ │ ├── json-stringify-safe@5.0.0
│ │ ├── mime@1.2.11
│ │ ├── node-uuid@1.4.1
│ │ ├── oauth-sign@0.3.0
│ │ ├── qs@0.6.5
│ │ └── tunnel-agent@0.3.0
│ ├── retry@0.6.0
│ ├── rimraf@2.2.2
│ ├── semver@2.1.0
│ ├─┬ sha@1.2.3
│ │ └── readable-stream@1.0.17
│ ├── slide@1.1.5
│ ├── tar@0.1.18
│ ├── uid-number@0.0.3
│ └── which@1.0.5
└── webworker-threads@0.4.7

@audreyt

This comment has been minimized.

Show comment Hide comment
@audreyt

audreyt Sep 29, 2013

Owner

@etam Thanks for the report! This is the first time I've heard of timeout in Redis — is the stock redis.conf set to timeout 300? IIRC https://raw.github.com/antirez/redis/2.4/redis.conf and https://raw.github.com/antirez/redis/2.6/redis.conf both ships with timeout 0.

Clearly we need better Redis timeout handling, hopefully in redis/hiredis level. Pointers welcome!

Owner

audreyt commented Sep 29, 2013

@etam Thanks for the report! This is the first time I've heard of timeout in Redis — is the stock redis.conf set to timeout 300? IIRC https://raw.github.com/antirez/redis/2.4/redis.conf and https://raw.github.com/antirez/redis/2.6/redis.conf both ships with timeout 0.

Clearly we need better Redis timeout handling, hopefully in redis/hiredis level. Pointers welcome!

@etam

This comment has been minimized.

Show comment Hide comment
@etam

etam Sep 29, 2013

Ubuntu package in 12.04 http://packages.ubuntu.com/source/precise/redis has default timeout 300. All later versions have 0.

etam commented Sep 29, 2013

Ubuntu package in 12.04 http://packages.ubuntu.com/source/precise/redis has default timeout 300. All later versions have 0.

@flgcloud

This comment has been minimized.

Show comment Hide comment
@flgcloud

flgcloud Sep 30, 2013

With "timeout 0" in /etc/redis/redis.conf Ethercalc works very well for me.
Since it works very fine, it's great and the solution to my problem #63

Thank you very much

With "timeout 0" in /etc/redis/redis.conf Ethercalc works very well for me.
Since it works very fine, it's great and the solution to my problem #63

Thank you very much

audreyt added a commit that referenced this issue Oct 2, 2013

@audreyt audreyt closed this Oct 2, 2013

audreyt added a commit that referenced this issue Oct 2, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment