adilyalcin / Keshif

Keshif - Data Made Explorable (Prototype)
https://keshif.me
BSD 3-Clause "New" or "Revised" License
458 stars 123 forks source link

meaning of runtime errors, like keshif.js:6342 Uncaught TypeError: Cannot read property 'hideBarAxis' of undefined #154

Closed magneticnorth closed 7 years ago

magneticnorth commented 8 years ago

Greetings. Any guesses what this is trying to tell us? I suspect the data is somewhat badly formatted (it's a CSV file, possibly with a lot of duplicate column headings, so I can try fixing that) but I wonder if the contents of some column are causing a problem. I realize this is just a prototype, but if it would be possible to detect some of these conditions before throwing a hard exception like that, it could be helpful to people. Unfortunately there is a lot of bad data in this world.

adilyalcin commented 8 years ago

Hi Stephen,

This is unexpected behavior. Can you give me a way to reproduce this so I can track what happens? Did you import data through YourData page, or did you use the API to create & embed a browser in a webpage?

What I can say for now is that keshif tried to compute the height of a summary when it was not inserted to the browser. The summary did not have a panel, and the error is the usual JS error when an undefined variable (this.panel) is indexed. Keshif does not raise exceptions or errors itself. The way the code reached at that point is awkward, not the specific error that is raised. That's why I wonder about your use case and how the code could have reached that point.

Thanks,

magneticnorth commented 8 years ago

Hi - thank you for the followup. It’s the API + webpage. It’s recordDisplay, apparently. I’ll keep digging.

On Jul 7, 2016, at 7:54 AM, Adil notifications@github.com wrote:

Hi Stephen,

This is unexpected behavior. Can you give me a way to reproduce this so I can track what happens? Did you import data through YourData page, or did you use the API to create & embed a browser in a webpage?

What I can say for now is that keshif tried to compute the height of a summary when it was not inserted to the browser. The summary did not have a panel, and the error is the usual JS error when an undefined variable (this.panel) is indexed. Keshif does not raise exceptions or errors itself. The way the code reached at that point is awkward, not the specific error that is raised. That's why I wonder about your use case and how the code could have reached that point.

Thanks,

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/adilyalcin/Keshif/issues/154#issuecomment-231057061, or mute the thread https://github.com/notifications/unsubscribe/ACtWzwVXkz6SI9MZTTkrtrJRDqThszNfks5qTOkJgaJpZM4JGXl6.

magneticnorth commented 8 years ago

Well, actually the problem is that i generated a malformed CSV file (with unescaped quotes or commas somewhere) and after I fixed that, all is well. I wonder if the CSV parser should throw an error if there is a mismatch in the number of fields, or if the flexible nature of CSV precludes that possibility. Stephen