jrowen / rhandsontable

A htmlwidgets implementation of Handsontable.js
http://jrowen.github.io/rhandsontable/
Other
384 stars 148 forks source link

Shiny Server Disconnect #196

Open mconsid3 opened 7 years ago

mconsid3 commented 7 years ago

Greetings,

I have been working on a Shiny app that utilizes rhandsontable, and have reached an issue which I can not independently debug. I reached out to the Shiny team, as the problem only occurs when the app is deployed on the server, but functions normally when ran locally. Unfortunately, the cause for the crash is not showing up in the logs generated.

After generating a relatively large rhandsontable, it disconnects from the server. Using different, but similarly structured, data sets, one dataset crashed with 79 rows, the other 125 rows. The Shiny team suspected it may be a memory issue, perhaps related to the number of characters allowed by a JVM, and asked me to test 10 additional rows after skipping line 79 to ensure that the additional row(s) used more characters than line 79 did.

So I went back and started to follow through their suggestions that they had provided- skipping row 79, but including rows 80-90, and that still functioned. I went back and checked if including row 79 still would cause a disconnect, but for some reason it now functioned properly. As of today, including the first 100 lines of this dataset functions properly, but the 101st causes a disconnect, so I am at a loss of what the issue(s) may be and what other than the day of the week has changed. In any event, it is still at least 200 rows short of the example table size.

Attached is a scaled down version of the Shiny app. I have been subsetting the full dataset and generating .rdas for testing purposes with the following code:

load("pmqueryDataframe.rda") #included in the attached zip pmquery.dataframe=pmquery.dataframe[1:102,] moo=rhandsontable(data.frame('Valid Pub'=rep(T,nrow(pmquery.dataframe)), pmquery.dataframe[,c('lastname','firstname','address', 'Conflicted with Person','title', 'ColabType')]), readOnly=F) save(moo,file="/path/to/ConflictsOfShinyAppCopy/moo102.rda")

And then updating the .rda loaded in the app to match the .rda saved, followed by deploying the app onto a Shiny server.

I hope this is of some use in expanding the utility and application of this package. My colleagues are pretty excited about its potential. Mike ConflictsOfShinyAppCopy.zip

patrinik commented 7 years ago

Hi, try if you have a multibyte string problem. I came across this error message when I tried "lapply(1:length(name), function(x){nchar(name[[x]])})". And after I included "iconv(enc2utf8(name))" the table didn't crash anymore, and I had over 20'000 rows.

Hope that helps.

fuserlimon commented 5 years ago

I would love to hear additional information on this. Having a similar problem