Thanks Istvan, I suspected it was a client-side issue, nothing I can change on the JBrowse server I'm setting up. I've mostly seen the error on Chrome, which according to the application you sent defaults with 25k stack size ( I will pretend I know what the stack size is :-)
Using JBrowse (currently 1.9.8), I sometimes encounter a track display error stating "RangeError: Maximum call stack size exceeded" for very dense bigwig tracks, mostly when viewing huge areas of a chromosome. Once the error occurs, I need to zoom in to a smaller region of the chromosome and then manually refresh the web browser.
Any hints or settings to modify? Perhaps a way to increase JBrowse's tolerance for lots of data?
Here the json stanza from trackList.json:
{
"style" : {
"neg_color" : "red",
"pos_color" : "red",
"origin_color" : "gray"
},
"autoscale" : "local",
"key" : "WT_GSM1093597:smallRNA-coverage",
"baseUrl" : "--redacted/jbrowse/data/",
"storeClass" : "JBrowse/Store/SeqFeature/BigWig",
"urlTemplate" : "GSM1093597.bigwig",
"metadata" : {
"experiment" : "smallRNA-seq",
"binsize" : 1,
"tissue" : "10 day protonemata",
"genotype" : "Wild-Type",
"accession" : "NCBI GEO GSM1093597",
"parameter" : "alignment coverage",
"lab" : "Axtell",
"notes" : "Simple per-nucleotide alignment coverage"
},
"type" : "JBrowse/View/Track/Wiggle/XYPlot",
"label" : "WT_GSM1093597:smallRNA-coverage",
"maxExportSpan" : 500000
},
2 answers
The stack size is built into the javascript engine of the browser and reaching it depends on the application and the recursive operations that get performed.
A simple javascript application like this below can measure how deep it can go,
http://jsfiddle.net/josh3736/Z5pLM/
The Safari browser that you seem to be using seems to have one of the largest default stack sizes. There may be ways to increase that.
The default values for Chrome are lower but on a Mac you can start Chrome with larger stack size like so:
$ open -a "Google Chrome" --args --js-flags="--stack-size 4096"
The seems to allow a much deeper stack size on my system over 200K as opposed to the default 25K. It may solve the problem that you are having.
It turns out that there was a bug in the JBrowse bigwig backend that caused this; as of release 10.1.2 the bug has been addressed. See http://jbrowse.org/jbrowse-1-10-2/ .. I am seeing much improved bigwig performance after upgrading.
Log in to answer this question.