-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't quit #17
Comments
Fixed in DEV_OtherDevices_Refactor. Tested in OSX Mojave. Needs checking in Windows etc. may behave differently. |
tested on raspberry pi and it does close all threads. But, only after numerous traceback errors. Also something about this update has completely broken communication between reaper and ReaControl.py |
Thanks lazloos could you share a log file from your test? |
@lazlooose I found the issue that was prematurely stopping all the OSC traffic. |
hey @phunkyg I get an immediate traceback when I run it.
main.log...
that's all I have it didn't create a ReaOscsession log for this session. |
That is REALLY WEIRD Somehow your ProControl is sending sysex as a broadcast packet instead of to a host it has a session with. I've never seen that kind of traffic before. Suggest turning everything off and on again and giving it another try. |
Ok so tried it again and getting different behaviour this time it is connecting but is still messed up: first time it connected but as soon as I opened reaper and reaper started sending osc messages the proC went offline, but you could see that ReaControl.py was receiving the osc messages from prcoontrol: main.log.12_06.22_08.txt second time proC stayed connected but faders were jumping around (they would stay in one spot for a sec and then jump to another). Moving the faders on the proC or in Reaper seemed to trigger this behaviour to start but the faders don't follow either they just do their own thing and bounce around. ReaOscsession.log.12_06.22_17.txt I cannot kill from the terminal by control+c I have to open another ssh window and run ./kill.sh |
This seems to be the main thing being thrown. edit: So I've had a search for this OSC address and it down't show in the code anywhere. Is it possible you have mixed up the OSC file from another release? The other thing I noticed was quite often the desk was saying it wasn't getting ACKs quickly enough, they start retrying packets then which just makes things worse! You can get a feel for this by starting another session without debug on to see what kind of performance you're getting in a more 'production' style session. |
did the OSC file change since you added the self quitting procedure because everything was working fine before that and I didn't change anything, but I can double check. edit : I downloaded the Procontrol.reaperOSC file again and it seems to have resolved the however the weird behaviour persists. I tested it without debugging and that made no difference. the desk responds very slowly and the displays are kind of scrambled popping on and off here and there you can tell the info is getting relayed but there is something causing it to slowdown extremely. ReaOscsession.log.14_06.01_22.txt and log from non debug session: |
Very odd. We are going to have to eliminate some basic stuff... Can you run a 'top' command before, during and after a ReaControl run, see what the CPU usage is like. What is the ambient network traffic likely to be? is there anything that can be done to ensure the 3 devices are in a quiet segment? Can you check memory usage and swap activity? Could you run it on a more powerful machine than the pi? Which pi model is it? |
It is a pi model 3b. ReaControl is the only thing running on it aside from my samba share which I only installed after the trouble began so I could access my logs folder. I would have to double check which version of raspbian is running but it should be one from roughly 6 months ago when I switched to the pi. I see where you are going with this line of inquiry and I will run it but I would point out that if I go back to the commit before the quit fix everything works fine, and I never had any indication of similar troubles until that change. It is possibly a debian based conflict though and I could try running it on my hackintosh setup later too. you said that it quits fine for you on Mac and it has never worked for me on the pi so it might be a debian issue. Also what version of python are you running? perhaps we have different versions?? |
I have made a small edit after running through recent changes. In the last set of changes I left in a couple of changes that might cause this slowdown. Can you give that a spin? Edit: I think I can see where I have gone wrong here. Re-reading the pcap documentation I may have misunderstood packet buffer timeouts. Have a go anyway, if that still doesn't work there is another pattern I can try. |
There has been a slight improvement in the latest version although overall it is still doing the ultra slow response. the improvement is that when touching a fader on the proC and moving it Reaper follows pretty smoothly. reverse is not true though, no real response from the proC when you move a fader in Reaper and the pans are doing the weird non responsive thing too. transport controls work though and button pushes on the pro control are registered but the LEDs (mutes and solos) can take from 8 seconds to infinity to respond. in all of the sessions I have done eventually it crashes and the ProC goes offline (5-10 min) although I am no longer getting any tracebacks in my logs anymore. one behaviour I noticed is that at a certain point Reacontrol.py stops receiving osc commands from Reaper. in this log this happens on line 2892 after that point moving faders in Reaper were no longer registered in the terminal window bu there is no sign of a traceback. the activity you see after was moving a fader on the ProC. On the brightside I can see that all the displays are wanting to work, except no activity from VUs or clock yet (but a forthcoming edit is required for the clock). |
I ran top and the highest I had was .24 , .06 , 04 although normally it was .04 , .01, .00 while running ReaControl.py. as far as network traffic nothing has changed from before when it was working.
|
I went back and into the commits and if I The commit after is the one that started the weird artefacts which is 6063040...9c4c498 is where the madness starts. not sure if that is helpful but I was trying to figure out for myself what was the last good working version so thought I'd share. |
Yes I think that confirmed the changes around the sniffer loop are the problem. I can reinstate that part easily enough and see if that puts us back to a more fluid operation, then look for another way to make the loop 'breakable' |
OK I've bunged the original sniffer loop back in. It's made it un-quittable again, but can you confirm if the jerky/slow behaviour has gone @lazlooose ? |
yes we are back to lightning fast no glitch communication! I can now confirm that most of the displays are working except clock and VU I will make a more detailed list of other similar addressing problems in refactor branch addressing issues |
Thanks @lazlooose I have one more pattern to try to see if we can get to a quitable version |
cool, let me know when its ready to test. |
I've pushed what I'm working on. It is a mess right now and still doesn't quite right. But, the sniffer should quit now on CTRL+C or being sent a SIGHUP or SIGINT. |
Hey @phunkyg, this version is working fine, no stuttering at all! ctrl+c still does not kill the osc client though I get this output from the terminal :
the sending test message ... continues on until I use kill.sh which outputs:
|
I came back to this morning and fiddled with it. The OSC client stopped cleanly. in OSX but in not entirely sure why or what I changed. Could you try again, just to see if it is a fluke? |
I can confirm that the daemon is quitting fine on my OS X machine. |
Nice Work @phunkyg! quitting cleanly on the pi also and everything is working great, no lag issues! |
Confirmed in Windows, two CTRL+C kills all processes cleanly! |
error: [Errno 48] Address already in use
There's been a persistent issue with being unable to quit the scripts lately, not sure if something OS changed or whether something got broke.
Basically, the exit was supposed to be sending CTRL+C into the terminal, or sending the process a SIGINT signal (same thing basically).
The latest branches are even worse. Doing this stops processes partially but leaves other bit lying around.
This can mean the port and address combo are still in use when you try to restart resulting in this error.
This leaves a user having to manually kill processes.
A command to do this is suggested in the kill.sh file provided.
This issue is to track a fix.
The text was updated successfully, but these errors were encountered: