5 Syphon Receivers continually crash Isadora - Can it handle the GPU load or is it something else?

  • Hello Forum:

    I am using five Max/Msp jit.gl.syphonserver commands to send 4 Quicktime photojpeg videos (and eventually a openGL image, but haven't gotten that far) to Isadora. The very first time it worked, and then it quickly crashed ever single time after that. I was lucky enough to screen shot the one time it worked. 
    Someone said that Isadora 2.0 can't handle the GPU processing of this many images with Syphon. This was not on the forum, but in person they said it.
    I really need this to work. Does anyone have any idea why this happens nonstop? Is it a bug?


  • Hello,

    Excuse-me, but i don't really understand why you need to send 5 movies from Max to isadora via Syphon.
    Why not :
    – play it directly in Isadora from file to screen?
    – play it directly in Max/msp from file to screen?
    Beside that, photo-JPEG was the best codec to be decoded in CPU, modern GPU are optimized for H264\. Just be careful, all h264 are not born equals, some are working better than other…
    What's the size of the movie, the size of the syphon screen in max, the size of the syphon receiver in Isadora (determined by the default resolution) etc.
    So, with more elements, we could be more helpful.

  • I quickly tried 5 640x480 noise generator in max ended via syphon and received in Isadora. Works without problems…

    I had used syphon between processing and Isadora with 10 syphon servers, with no problems. But it was image generators, not movie players.


  • Did you try other syphon actors? Such as, FFGL one? I found that a syphon feed, produced by my own program would crash Isadora, when it was receiving syphon feed using Isadora's own syphon actor, but FFGL worked fine.


  • Dear @ellenvolumetric,

    Please make sure to file a bug report with the team and submit crash reports. That's the only way to find out what the problem really is.
    Use the form at http://troikatronix.com/support/isadora/ to submit your report.
    Best Wishes,

  • Mark and everyone else:

    I will file a bug report shortly.
    I am working on a very large project. I take 4 video databases, 4 audio databases, and one generative OpenGL screen that are tied to the Emotiv Epoc brainwave headset. In other words, the trigger is in Max for all of my data synchronizing the brainwaves. I absolutely must use Max, because there is no middleware for Isadora and brainwaves - not yet anyway, and also there is a huge database backend. Plus all the coordination of when the images and sound turn on and off is driven by Max. There is no way around it.
    I have five separate screens in Max as you can see from the example below, and all I want to do is port them out through five Syphon servers to Isadora. The reason I am using five is because I am projecting them, through five projectors into a special 360 degree fully immersive theatre.
    Attached is a picture of the five video players in Max, all behaving perfectly correct according to the parameters I have set. An actor off camera is wearing the Emotiv headset and launching the images live time. There is accompany audio as well, also launched live time to coordinate with the videos. The fifth image screen  in the lower right hand corner of the first photo, that looks like coloured bubbles is the openGL live time representation of the brain waves.  I have also attached a picture of the theatre - the five projectors are overhead. 
    I made a workaround thus far that is functional but will really destroy the video quality. I used chop pixels to make a 384 x 1080 (384 is 1920 divided by 5 screens) and then rebuilt the images in the projection mapping area of Isadora, After making 5 different 38x x 1080 images I had to stitch them back into one 1920 image, and zoom it 500 percent. I don't think this is a very good solution. My technical team was pretty upset because the video quality is now degraded.  
    Thank you all so much for you suggestions thus far. I will keep you all updated. This forum is extremely helpful, I feel I have fallen down a rabbit hole.

    fb8148-screen-shot-2016-02-08-at-1.54.08-pm.png 71c694-screen-shot-2016-02-08-at-1.58.17-pm.png bd577e-screen-shot-2016-02-08-at-2.04.15-pm.png 16601d-screen-shot-2016-02-08-at-2.06.50-pm.png

  • Hello,

    I understand you need max for the generative image and the link with headset, but perhaps you can have the movie played in Isadora but triggered by max via OSC?

  • Jacques:

    Its a great idea, but the movie and brainwaves  triggers a spoken word database and MIDI input from Abelton Live that is piped into Max. Isadora is not built for this kind of thing, that's what Max is best for. Each database has about 99 random units, and I have 12 databases in total times 99 which is almost 1200 different sound, spoken word and videos that must coordinate with brainwaves.  They have to be tied together in one knot in Max. The images can then be separated out and Syphoned to Isadora, or so I hoped. They then have to be projection mapped to fit the curves of a 360 degree theater in five seamless overlaps. That's what Isadora should be good at. I have filed a bug report, let's hope it works. 
  • Tech Staff

    Have you tried building a new test file that only accepts the 5 streams? How about deleting your isadora preferences?

  • Ryan:

    I will do this in the next week or so, and walk it through again. It might take up to two weeks actually, but I will certainly be working on it. Everyone I know is scratching their heads over this one. Stay tuned.

  • I don't know about the crash, but I would not use the chop pixel actor in this case. Just use the izzymap editor to select and warp your images. it may help with video quality.

    Also, if you're testing, do as DusX suggested to narrow down the cause of the crash.
  • Izzy Guru

    I'd defiantly create a basic patch with 5 Syphon inputs and attach each input individually and see what happens

    It *could* be a name thing; do any of them have any unique characters in the Syphon name? Just  thought. If you can receive 5 no problems then its the overall patch perhaps?
    I have just tried creating 5 Simple Server applications (I duplicated the app) and it crashes when I attached the second one - but I think that was because the name was the same on all apps - if that makes sense?

  • Graham:

    The first time around I did do that, and corrected it by naming each one. It still crashed. Please remember that this is receiving Syphon info from Max 7.1\. In Syphon it appears perfect, I tested that, but who knows what goes on on the backend on the code level that none of us except maybe Mark and Ryan can see, it should be seamless but it is not. I like Ryan's thoughts about Preferences. What I have found about Preferences is its memory is rather unforgiving, and I have already run into one or two instances where that memory was difficult - it was like a legacy problem that kept reoccuring.
    And Sager, I had to use chop pixel because of the 360 screen, and having to have all 5 screens from Max leave Max as one composite screen (in order to avoid the crash and use just one Syphon Server) and then be reassembled in Isadora and sliced 5 ways . I will take a look at the izzymap editor just found the tutorial on it here - http://troikatronix.com/support/kb/composite-mapping-tutorial/
    I am also working with my MAX/Msp cohorts to walk it backwards on their end. Again, because of the use of the Emotiv Epoc brainwave headset, MAX is the only way to go.
    This is a very difficult one, for sure.

  • Dear @ellenvolumetric,

    Well, as I said, if you want me to really give you some understanding of what's going wrong, so a member of the team can work with you to gather the crash reports. I'll have a look as soon as I see them; that's the only way to really find out what's going wrong
    Best Wishes,

  • Mark:

    I did: Please see below. Ryan is from Troikatronix Bug Report.
    I am working virtually between Hong Kong, NY and St. Petersburg, Russia with my team. I need to coordinate everyone on all ends and times zones to problem shoot it, a little like herding cats. My MAX programmer is going to see if he can make heads or tails of it on his end by tracing the MAX to Syphon to Isadora aspect. We will meet virtually next week with other team members and see if we can figure this out live time. I'm all over it, just takes time to unscramble.
    This issue is not going to go away, and we will definitely let you know what we discover. I will keep meticulous notes to try to figure out the problem. 
    [](http://troikatronix.com/troikatronixforum/discussion/comment/15893/#Comment_15893) [Flag](http://troikatronix.com/troikatronixforum/discussion/flag/comment/15893/149/dusx/L2Rpc2N1c3Npb24vY29tbWVudC8xNTg5My8jQ29tbWVudF8xNTg5Mw--)[](http://troikatronix.com/troikatronixforum/discussion/votecomment/15893/voteup/PD1GG1OE0UYE/)0[](http://troikatronix.com/troikatronixforum/discussion/votecomment/15893/votedown/PD1GG1OE0UYE/)
    Have you tried building a new test file that only accepts the 5 streams? How about deleting your isadora preferences?

    [Troikatronix Technical Support Staff] Bug Report/Feature Request FORM 
    aka: Ryan Webber | http://www.dusxproductions.com | Win 8.1/10 64bit, i7-4810mq, 16gb, nVidia GTX 870m | located in Ontario Canada.

  • Ryan:

    How would deleting the preferences file help? Could you explain your reasoning, or what you understand about Preferences (specifically what part) that makes you think that might be the culprit?
    I have looked very carefully at the Apple crash report, and from what I can see in the endless list of what happened during the crash report is it is kernel conflicts, threading bomb outs, and basically a general melt down.  I am not a developer, but I found this most interesting:
    _Thread 0 crashed with X86 Thread State (32-bit) _
    _Logical CPU:     4_
    _Error Code:      0x00000004_
    _Trap Number:     14_
    What this tells my uninformed eye is that the CPU had a meltdown. Considering I have a super duper state of the art MacBook Pro, I do not think that it had to do with Isadora Preferences, though I could be wrong. I think it had to do with the five Syphon streams. The MAX/Syphon aspect worked fine. The Syphon/Isadora part caused the crash. There was some kind of timing/threading/kernel freak out.
    This has lead to an entire revamping of my system architecture. Along with my tech team we are going to implement a 3 computer networked load, one computer dedicated just to the Brain Computer Interface, and the other two will be splitting the MAX/Syphon Isadora loads to 2 on an iMac and 3 on a Mac Pro via a LAN. This will take a few weeks to set up. Then we will see if it was a Preferences problem or a CPU load issue.
    If I get crashes on a 2/3 Syphon set up in Isadora, this will be very worrisome.
  • Tech Staff

    I mention the preferences only because, clearing the file can often solve unusual problems.

    Often things that are related to driver or hardware changes. These things sometimes setup conflicts with previously set stage settings in Isadora.
    Its generally a good starting place, setting the slate clean if you will.
    As for the bit of stack trace reporting.. its difficult to read much into that small segment.
    @mc_monte , can you try setting up a 5 stream syphon file.
    I believe you are better equipped that I am at the moment to recreate this setup.
  • Tech Staff


    Please in the future post this type of extensive information in an attached file.
    This creates a bit of a mess, and makes it difficult for other forum users to contribute to the questions. Additionally, please be sure to provide these details to your Support technician via the Troikatronix support system.
    Since it seems that the crash occurred during the preparation of the frame for drawing. My best guess is a system resource issue. I would suggest watching CPU, GPU and System memory carefully to see if any aspect is being taxed out. Specifically, since you are able to run a workaround at a lower resolution, It seems to me that GPU memory might be running low/out.

  • Ryan:

    I have been working with Monty at Troikatronix on this, and basically what we concluded, after some time, is that 4 Syphons were not compatible with Isadora. It is not my videos (photo jpeg), Max/Msp (runs just fine) Isadora (works fine with video) but seems to be Syphon. The food chain combination of using 4 Syphon receivers is just not going to work. I was able to make them work using a super charged iMac, but Isadora crashed 3 out of 5 times. When it did not crash, the rendering times on the video was terrible, and they either gagged or just plain froze. Monty tried his own set up with multiple Syphons and he experienced lag on video rendering as well.
    So, yes, it was a system resource issue in the end. It is not an issue of resolution, the resolution was very low. It is how Syphon itself, with more than one Syphon Receiver works in Isadora. At this point in time, it basically doesn't.
    Now I am reconfiguring my entire set up taking this into account. 
    So the solution is there is not solution, at least not for this configuration.

  • @ellenvolumetric, @DusX, @mc_monte,

    (Note to ellenvolumetric: it would be very much appreciated if you tried the test setup provided in isadora-four-syphon-test-1.zip.)
    I want to revisit this problem. For sure, there shouldn't be a limit of four Syphon receivers. But some basic tests do not exhibit the problem for me.
    To start this discussion again, I built four slightly different versions of the "Simple Server" application that is provided with the Syphon SDK. I would consider this the baseline test, given that this is the application created by Syphon's creators to test Syphon itself. Each application has a unique color for the center part of the Syphon logo.
    Then  I ran all four copies while running the test file four-syphon-simple-server-receivers.izz. It's been running for about ten minutes now without issue. You can try this yourself by downloading "isadora-four-syphon-test-1.zip" This gives at least a little credence to the idea that the problem is not in Isadora. (Not trying to pass the buck here... for sure, if there is a problem in Isadora I want to find it and fix it.)
    Then I set up another test with two copies of Isadora. One was serving four different images, and the other was receiving them. Again, there was no issue here. To perform this test, you need to duplicate the Isadora application itself (this allows you to have two separate copies open) and then open "four-syphon-servers.izz" with one copy of Isadora, and "four-syphon-receivers.izz" with the other copy.  You can try this yourself by downloading "isadora-four-syphon-test-2.zip" Again, for me, this ran without issue.
    I tested this in v2.2\. It is also possible that this problem existed in v2.1 and has been resolved through other fixes.
    I will put the team back on this issue, because I want to figure out what the problem is here. If there is a problem in Isadora, we will solve it.
    Best Wishes,
    P.S. Do people know of other Syphon server applications we can easily use to test this issue?

    db73a4-four-syphon-servers-image.png 6fec89-isadora-four-syphon-test-2.zip 76d92a-isadora-four-syphon-test-1.zip