New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arbitrary filtering behaviour in Chrome 22.0.1229.79 / OS X #40

Closed
evenwestvang opened this Issue Oct 3, 2012 · 14 comments

Comments

Projects
None yet
6 participants
@evenwestvang

evenwestvang commented Oct 3, 2012

In the current stable release of Chrome filters seem to simply be dropping parts of the set when multiple filters are applied and reset. After much digging in my current project I found the same error appearing consistently in the canonical ASA data set example.

To reproduce simply set all the filters and reset them. The result is as as follows – the number of selected flights varies, but never matches the total:

37,407 of 231,083 flights selected.

If you continue to filter and reset the groupAll sum changes, sometimes rising, sometimes falling.

Firefox, Safari and Opera still has completely sane behaviour.

@mbostock

This comment has been minimized.

Show comment
Hide comment
@mbostock

mbostock Oct 3, 2012

Collaborator

Yikes. This looks tricky to debug.

Collaborator

mbostock commented Oct 3, 2012

Yikes. This looks tricky to debug.

@evenwestvang

This comment has been minimized.

Show comment
Hide comment
@evenwestvang

evenwestvang Oct 3, 2012

I'd offer my time, but the internals of Crossfilter seem daunting. Scary, even. Substituting a firm grasp of reality with intuition I'd go with a change in the typed arrays. I'll check the dev and canary builds to see if help is on the way upstream.

evenwestvang commented Oct 3, 2012

I'd offer my time, but the internals of Crossfilter seem daunting. Scary, even. Substituting a firm grasp of reality with intuition I'd go with a change in the typed arrays. I'll check the dev and canary builds to see if help is on the way upstream.

@evenwestvang

This comment has been minimized.

Show comment
Hide comment
@evenwestvang

evenwestvang Oct 3, 2012

Both 24.0.1284.2 dev and 24.0.1285.0 canary display the same behaviour.

evenwestvang commented Oct 3, 2012

Both 24.0.1284.2 dev and 24.0.1285.0 canary display the same behaviour.

@jakesandlund

This comment has been minimized.

Show comment
Hide comment
@jakesandlund

jakesandlund Oct 4, 2012

I also found this issue when working on DataZooka. If you play around with it, you can see weird things going on. I noticed that sometimes it would throw a TypeError here in the updateMany routine.

jakesandlund commented Oct 4, 2012

I also found this issue when working on DataZooka. If you play around with it, you can see weird things going on. I noticed that sometimes it would throw a TypeError here in the updateMany routine.

@jasondavies

This comment has been minimized.

Show comment
Hide comment
@jasondavies

jasondavies Oct 4, 2012

Collaborator

It could be this issue that I spotted in beta a while ago. It was only fixed in V8 recently, so I don't know how long it'll take to filter down. I'll see if I can get the fix backported.

Collaborator

jasondavies commented Oct 4, 2012

It could be this issue that I spotted in beta a while ago. It was only fixed in V8 recently, so I don't know how long it'll take to filter down. I'll see if I can get the fix backported.

@jasondavies

This comment has been minimized.

Show comment
Hide comment
@jasondavies

jasondavies Oct 4, 2012

Collaborator

Update: it looks like it's definitely the same issue, and it hasn't been merged into the release branches of V8 yet. I'll keep you updated.

Collaborator

jasondavies commented Oct 4, 2012

Update: it looks like it's definitely the same issue, and it hasn't been merged into the release branches of V8 yet. I'll keep you updated.

@evenwestvang

This comment has been minimized.

Show comment
Hide comment
@evenwestvang

evenwestvang Oct 4, 2012

Excellent, and well spotted. I'll be watching that thread.

evenwestvang commented Oct 4, 2012

Excellent, and well spotted. I'll be watching that thread.

@mbostock

This comment has been minimized.

Show comment
Hide comment
@mbostock

mbostock Oct 4, 2012

Collaborator

Kudos, Jason!

Collaborator

mbostock commented Oct 4, 2012

Kudos, Jason!

@ZJONSSON

This comment has been minimized.

Show comment
Hide comment
@ZJONSSON

ZJONSSON Oct 4, 2012

I have been exploring Crossfilter on a node.js server with dynamic updating through Ajax (or websockets). The main benefit is faster browser initiation speed since the filter is already prepared. But this setup could also circumvent browser related javascript issues, provided the Node V8 engine on the server is sound?

I forked a quick example here with the code split between node.js and index.html:
https://github.com/ZJONSSON/crossfilter/tree/gh-pages-ajax

This code is live for a short time here:
http://zjonsson.com:8888/

ZJONSSON commented Oct 4, 2012

I have been exploring Crossfilter on a node.js server with dynamic updating through Ajax (or websockets). The main benefit is faster browser initiation speed since the filter is already prepared. But this setup could also circumvent browser related javascript issues, provided the Node V8 engine on the server is sound?

I forked a quick example here with the code split between node.js and index.html:
https://github.com/ZJONSSON/crossfilter/tree/gh-pages-ajax

This code is live for a short time here:
http://zjonsson.com:8888/

@ZJONSSON

This comment has been minimized.

Show comment
Hide comment
@ZJONSSON

ZJONSSON Oct 8, 2012

Another browser issue is data-size. Chrome kills a page when memory use goes over 100mb. I manage to avoid the problem by running the filter on a server instead.

Moved the flights example to Heroku: http://flights-ajax.herokuapp.com/
And here is another example close to home: http://icequake.herokuapp.com/

ZJONSSON commented Oct 8, 2012

Another browser issue is data-size. Chrome kills a page when memory use goes over 100mb. I manage to avoid the problem by running the filter on a server instead.

Moved the flights example to Heroku: http://flights-ajax.herokuapp.com/
And here is another example close to home: http://icequake.herokuapp.com/

@jnordberg

This comment has been minimized.

Show comment
Hide comment
@jnordberg

jnordberg Oct 16, 2012

I also ran in to this issue. It seems to be fixed in beta channel now (using 23.0.1271.26)

jnordberg commented Oct 16, 2012

I also ran in to this issue. It seems to be fixed in beta channel now (using 23.0.1271.26)

@jasondavies

This comment has been minimized.

Show comment
Hide comment
@jasondavies

jasondavies Oct 16, 2012

Collaborator

Yes, the fix was merged into M23 a few days ago, but I think it’s yet to be backported to M21 (stable).

Collaborator

jasondavies commented Oct 16, 2012

Yes, the fix was merged into M23 a few days ago, but I think it’s yet to be backported to M21 (stable).

also added a commit to also/crossfilter that referenced this issue Nov 3, 2012

@jasondavies

This comment has been minimized.

Show comment
Hide comment
@jasondavies

jasondavies Nov 13, 2012

Collaborator

M23 is now stable, so this issue should be resolved.

Collaborator

jasondavies commented Nov 13, 2012

M23 is now stable, so this issue should be resolved.

@evenwestvang

This comment has been minimized.

Show comment
Hide comment
@evenwestvang

evenwestvang Nov 19, 2012

Yes, as far as I can tell this has been resolved.

evenwestvang commented Nov 19, 2012

Yes, as far as I can tell this has been resolved.

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