Binder app builds are not reproducible

My jupyter notebook project is an interactive plot based on data in my repo. I use voila to create the app and then deploy it with binder. The user can hover over datapoints in a 3D scatterplot and see a corresponding image, a table with information and when clicking on a datapoint, hear a specific sound. It works perfectly on my local machine and also for me when I built it with mybinder and when I launch binder from my repo. However, for some (but not all!) users, functionalities of the interactive plot are missing. It‘s not always the same error. Sometimes the sound doesn’t play, sometimes the datapoints are not visible, sometimes the corresponding images don‘t appear. Sometimes mybinder takes 45min to launch or doesn’t launch at all. Then, if they simply try again (close window, click launch-binder badge again), sometimes it suddenly, magically works. I have not done any commits during this whole time. I‘m helpless because these errors seems so random and not reproducible. Does anyone have an idea on what could cause these problems and what I might do to fix it? Here‘s the link to the repo:
https://github.com/marathomas/viz_tool

If it is reassuring, I just opened your app (from U.S.; got the gke branch), and it launched super fast and everything worked. That is a super cool app!

The bumpy time due to build and launch isn’t anything you can address. The MyBinder team has been performing a lot of behind-the-scenes updating and migration of MyBinder the last couple of weeks. Everytime the cached images get wiped, they have to be rebuilt on the next launch and propagated out to the nodes in the cluster. And then as other branches in the federation get addressed, the same process happens there.
See:

Hopefully, you’ll have less of a bumpy time launching soon.

1 Like

When you share your link, also ask that those who use it disable ad blockers for the mybinder.org domain. We’re aware of and still trying to figure out cases where ad blockers cause launches to take a long time or hang indefinitely.

Thanks for your replies, they were very helpful! I‘ll keep these things in mind. What puzzles me most are the missing functionalities of the plot that sometimes happen. I would expect that once the launch has been successful (no matter how long it took), the resulting app should be fully functional. Or is it possible that the build is successful, but somehow faulty? It‘s difficult to debug because I can‘t reproduce these errors (like sound not playing, data points not showing up, images not changing as you hover over the plot…) but they seem to happen for a substantial amount of users. Do you guys have any suggestions for these type of problems?

Maybe browser incompatibilities with your app? I’m unfamiliar with viola, tbh. I wonder if you could get someone to locally build your project with repo2docker and see if any of the issues crop up there. That will tell us if the problem is in the build or not.

One thing that can help to debug this is to open your browser’s developer console and look for warnings or errors.

One thing that may be related to what users are telling you is that I thought I noticed if you leave it up for 10 minutes, which will cause the session behind-the-scenes to time out, some of the features still appear to work but the sounds wouldn’t play. (Sound not playing seems to require the connection be active probably to get the files not already cached?)
So if someone gets tired of waiting and walks away to come back 10 minutes after it opened, it will look like it is ready and sort of works but it won’t be fully functional. Could that play into what people are telling you?
I didn’t really note if the active session disconnecting/ending caused images to not show up but you can easily test that by launching and leaving the window in the background and do something else for several minutes and seeing what happens.

2 Likes

thanks for all the suggestions! I’ll test the build with repo2docker.

The functionalities are missing from the start, so I suspect it has nothing to do with the session timeout (but you are right that the timeout is definitely happening if I leave it open for too long and then the files won’t update). Also it’s not always related to caching files. For example, once it happened that the dots were “invisible”. You could hover over them and see the label, file and details change but there were no dots to see, just an empty 3D plot.

It doesn’t seem to be related to the browser type either. I’ll keep searching and let you know in case I make any progress.