DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1
-
Yup - thats the crash log ...
-
I'm the one that leans toward bossa from the Pi. However, I'm just an end-user that's trying to dig another end user out of a hole. If someone else, prefers windows, great!
I prefer the Pi for two reasons:
- It does avoid ground loops, to a somewhat greater extent than a separate computer.
- Windows bossa works quite a bit of the time... and other times, windows gets really weird about USB ports.
Again, I'm just making suggestions, if someone prefers one tool over another, fantastic, use that!
-
-
Data point: I have not changed the CPU scheduling and I am now about 14 hours into a print, with no issues.
Running DuetLapse on the same Pi. (Which I was not doing the other day).
I don't know what changed, if anything, from the point where I couldn't get it to run for 15 minutes at a time.
-
I've not tried the scheduling - can't get DCS to start and stay running, first time it came up and was fine - until I threw my .g files at it and then BOOM ....
I need to get the whole thing back to RC6 and stable but right now it is all turned off (day job - that and run out of patience for now).
Could really do with that 'version compatibility' matrix ....
-
@Danal When your print is done it's be helpful if you could test without DuetLapse and see if you can reproduce the issue, then try removing the CPUScheduling lines.
-
@Garfield Understood. If you do get a chance, try removing those 2 lines.
-
@Garfield said in DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1:
back to RC6
Could really do with that 'version compatibility' matrix ....
@bearer said in DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1:
RRF3.01-RC10 duetsoftwareframework 2.1.1 reprapfirmware 2.1.1-1 RRF3.01-RC9 duetsoftwareframework 2.1.0 reprapfirmware 2.1.0-1 RRF3.01-RC8 duetsoftwareframework 2.0.0 reprapfirmware 2.0.0-1 RRF3.01-RC7 duetsoftwareframework 1.3.2 reprapfirmware 1.3.2-1 RRF3.01-RC6 duetsoftwareframework 1.3.1 reprapfirmware 1.3.1-1 RRF3.01-RC6 duetsoftwareframework 1.3.0 reprapfirmware 1.3.0-1 RRF3.01-RC4 duetsoftwareframework 1.2.5.0 reprapfirmware 1.2.5.0-1 RRF3.0 duetsoftwareframework 1.2.4.0 reprapfirmware 1.2.4.0-1 RRF3.0 duetsoftwareframework 1.2.3.1 reprapfirmware 1.2.3.1-1 RRF3.0 duetsoftwareframework 1.2.3.0 reprapfirmware 1.2.3.0-1 RRF3.0 duetsoftwareframework 1.2.2.1 reprapfirmware 1.2.2.1-1 RRF3.0RC2+1 duetsoftwareframework 1.2.2.0 reprapfirmware 1.2.2.0-1 RRF3.0RC1 duetsoftwareframework 1.2.1.0 reprapfirmware 1.2.1.0-1 RRF3.0RC1 duetsoftwareframework 1.2.0.0 reprapfirmware 1.2.0.0-1 RRF3.0beta11 duetsoftwareframework 1.1.0.5 reprapfirmware 1.1.0.5-1 RRF3.0beta11 duetsoftwareframework 1.1.0.4 reprapfirmware 1.1.0.4-1 RRF3.0beta10+2 duetsoftwareframework 1.1.0.3 reprapfirmware 1.1.0.3-1 RRF3.0beta10+2 duetsoftwareframework 1.1.0.2 reprapfirmware 1.1.0.2-1 RRF3.0beta10+2 duetsoftwareframework 1.1.0.1 reprapfirmware 1.1.0.1-1 RRF3.0beta10+2 duetsoftwareframework 1.1.0.0 reprapfirmware 1.1.0.0-1 RRF3.0beta10+1 duetsoftwareframework 1.0.4.1 reprapfirmware 1.0.4.1-1
depcheck() { local NODE=$1 local VER=$2 local pattern="\ ([a-z]*)\ \([0-9]+\ ([0-9\.]+-?[0-9]{0,2})\)" local IFS=$'\n' s=$(apt-cache showpkg $NODE | grep "^$VER - ." ) for package in $(echo $s | grep -Eo $pattern) do [[ $package =~ $pattern ]] [ "${BASH_REMATCH[1]}" == "${BASH_REMATCH[2]}" ] || echo -en " ${BASH_REMATCH[1]}=${BASH_REMATCH[2]} $EOL" [ "${BASH_REMATCH[1]}" == "duetcontrolserver" ] && depcheck ${BASH_REMATCH[1]} ${BASH_REMATCH[2]} done } [ $# -gt 0 ] && { V=$1 PARENT=duetsoftwareframework [ $# -gt 1 ] && PARENT=$2 EOL="" [ -t 1 ] && EOL="\\ \n" echo -en "sudo apt install $EOL" depcheck $PARENT $V [ -t 1 ] && EOL="\n" echo -en " $PARENT=$V $EOL" } || echo $0 version ;
save as
dsfdep.sh
and run likebash dsfdep.sh 1.3.1
to restore to 3.01-RC6
copy and paste the suggest command and hope for the best (or put in backticks if braver than most)pi@raspberrypi:~ $ bash dsfdep.sh 1.3.1 sudo apt install \ duetcontrolserver=1.3.1 \ duetruntime=1.3.1 \ duetsd=1.0.6 \ duettools=1.3.1 \ duetwebserver=1.3.1 \ duetwebcontrol=2.1.1 \ reprapfirmware=1.3.1-1 \ duetsoftwareframework=1.3.1
-
@gtj0 said in DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1:
@Danal When your print is done it's be helpful if you could test without DuetLapse and see if you can reproduce the issue, then try removing the CPUScheduling lines.
Will do.
May do a different print, this one is running MUCH longer than I anticipated. It is a toolchanger multi-material, and "estimators" do not (yet) account for the time spent changing tools. There are 1045 changes in this print.
-
@Garfield said in DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1:
Could really do with that 'version compatibility' matrix ....
I'm working on a script that generates one. No promises as to when... lots of learning and research on my part.
In fact, if anyone else is working on one, I'll stop.
-
Just as another data point. After my initial crashes I went on to print (for a couple of hours or so) with no problems and things seemed pretty stable. I wonder if forcing a reload of DWC had anything to do with the problem?
-
@gtj0 said in DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1:
@Danal said in DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1:
I believe he's saying, "start a job, and then close DWC".
Yes, I tried that. SSH only, no VNC, no DWC. Still locked within a few minutes.
Yeah that was it. I wanted to make sure it wasn't DWC related. I've been running RC10 + 2.1.1 and printing fine but I don't use the DWC.
Something to try... The systemd service file for the DCS was changed to set
CPUSchedulingPolicy=fifo CPUSchedulingPriority=20
which may be contributing to the problem.
Edit
/lib/systemd/system/duetcontrolserver.service
and remove those 2 lines, then reboot and see if that helps.I've checked the above folder and I don't have a duetcontrolserver.service file to edit
-
@jay_s_uk said in DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1:
@gtj0 said in DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1:
@Danal said in DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1:
I believe he's saying, "start a job, and then close DWC".
Yes, I tried that. SSH only, no VNC, no DWC. Still locked within a few minutes.
Yeah that was it. I wanted to make sure it wasn't DWC related. I've been running RC10 + 2.1.1 and printing fine but I don't use the DWC.
Something to try... The systemd service file for the DCS was changed to set
CPUSchedulingPolicy=fifo CPUSchedulingPriority=20
which may be contributing to the problem.
Edit
/lib/systemd/system/duetcontrolserver.service
and remove those 2 lines, then reboot and see if that helps.I've checked the above folder and I don't have a duetcontrolserver.service file to edit
See if it's in /usr/lib/systemd/system.
-
Thats where they are. I have commented them out and will report back
-
I have managed a small print without any failures.
So far so good. -
@Danal said in DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1:
In fact, if anyone else is working on one, I'll stop.
gave up on recursion seems all reprapfirmware from 1.0.4.1-1 to 1.2.5.0-1 has a dependency to duetcontrolserver 1.0.3.4 which doesn't exist (which probably means or greater but )
-
Data point: I have not changed the CPU scheduling and an approximate 18 hour print just finished.
Running DuetLapse on the same Pi. (Which I was not doing the other day).
I will try to reproduce, document variances, run without anything else running, etc.
-
@Danal I wonder if DuetLapse is using just enough time to keep the DCS from hogging it all.
-
@gtj0 said in DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1:
@Garfield @ChrisP Have you tried my suggestion above to remove the two CPUScheduling lines from /lib/systemd/system/duetcontrolserver.service and rebooting?
I haven't yet, but only because I've not had chance (5 and a half hour Teams meeting today - these really are "special" times). I'll give it a go now.
Do you think the priority is like to have any effect on the cause of the crash though? Certainly if DCS does go nuts and it has a high priority, this will result in the total lock-ups that we're seeing, but is it going to be part of the in initial cause? I guess perhaps if DCS is waiting for something that can get CPU time because it's being blocked by DCS.... but if this were the case, I'd have thought it'd recover at some point?
@Danal said in DCS Crash with 3.01-R10 / DWC 2.1.5 / DSF 2.1.1:
Data point: I have not changed the CPU scheduling and an approximate 18 hour print just finished.
To be honest, this doesn't entirely surprise me - I've managed to do a couple of decent length prints without issue... indeed, I've never had it crash mid-print. If my system is going to die, it usually does it pretty much immediately on startup and I think it's happened twice when I've opened a new DWC instance, but' I'm not confident to say that that is anything more than coincidence at the moment. My experience has mainly been that if it boots and doesn't crap out in the first few minutes then it'll just keep going.
The one thing that I have noticed that may or may not be related is that I've been noticing that on the DWC instance that running on the Pi, the left hand menu bar frequently becomes totally unresponsive, even after a Ctrl-F5 of the page. DWC otherwise seems to be working as I can see temperature fluctuations and print status progressing but the only way I've found to get the menu bar to respond is to reset DCS.
Anyway, I'll try removing the CPUScheduling since I have no better ideas currently.
-
@ChrisP I don't think it's the cause of the crashes themselves but I do think that removing the real-time scheduling (fifo) will make it a LOT easier to troubleshoot further.