linnarsson-lab / loom-viewer

Tool for sharing, browsing and visualizing single-cell data stored in the Loom file format
BSD 2-Clause "Simplified" License
35 stars 6 forks source link

uJSON "maximum recursion level' bug #94

Closed JobLeonard closed 7 years ago

JobLeonard commented 7 years ago

So @glrs and I spent the afternoon ferreting out this bug. It turns out the problems were related to inf and nan values being inside certain floating point arrays. For example the _LogCV and _LogMean attributes.

Through sheer coincidence this hasn't come up before.

The problem is that JSON does not support Nan and Infinity. For now we've decided to hard-cast those to zeros.

@slinnarsson, can you comment if this is could cause any problems?

slinnarsson commented 7 years ago

Makes sense. Zeros is probably the best we could do. Maybe would make sense to ban inf and nan in attributes; they're already banned in the main matrix.

-- Sten Linnarsson, PhD Professor of Molecular Systems Biology Karolinska Institutet Unit of Molecular Neurobiology Department of Medical Biochemistry and Biophysics Scheeles väg 1, 171 77 Stockholm, Sweden<x-apple-data-detectors://1/0> +46 8 52 48 75 77<tel:+46%208%2052%2048%2075%2077> (office) +46 70 399 32 06<tel:+46%2070%20399%2032%2006> (mobile)

31 mars 2017 kl. 16:41 skrev Job van der Zwan notifications@github.com<mailto:notifications@github.com>:

So @glrshttps://github.com/glrs and I spent the afternoon ferreting out this bug. It turns out the problems were related to inf and nan values being inside certain floating point arrays. For example the _LogCV and _LogMean attributes.

Through sheer coincidence this hasn't come up before.

The problem is that JSON does not support Nan and Infinity. For now we've decided to hard-cast those to zeros.

@slinnarssonhttps://github.com/slinnarsson, can you comment if this is could cause any problems?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/linnarsson-lab/Loom/issues/94, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AKKag2r2Ry6zybcpyxKojEPpdp9MGfIBks5rrRCNgaJpZM4MvweQ.

JobLeonard commented 7 years ago

Well, the server takes care of it now, so the bug is fixed on the server/browser end. Whether we ban them from attributes is up to you - they could still be useful for people who just use the loompy library.