Upgrade to nuttx 9.1.0+#15139
Conversation
43b6745 to
1feeaa3
Compare
|
@dagar - let's see how the test rack feels about this, that we should start testing! |
I think they're all in the same hardfault loop. http://ci.px4.io:8080/blue/organizations/jenkins/PX4_misc%2FFirmware-hardware/detail/pr-nuttx-9.1.0-/5/pipeline/517 |
139f50c to
8621b2a
Compare
9475bd5 to
0e90507
Compare
0e90507 to
09ae5ac
Compare
|
@dagar - I was able to build the nuttx CI list locally. The mac flock should get us the rest of the way. |
|
@dagar We are going to need GCC 9.3.1 also |
|
Issues list:
|
|
V3: 2.4.6 mro SYS_AUTOSTART 4001 uorb top top work_queue status sd_bench 8G Sans Issues: |
|
FMU V5 Holybro pixhawk4 SYS_AUTOSTART 4001 top work_queue status sd_bench 8G Sans |
09ae5ac to
178396a
Compare
https://github.com/PX4/Firmware/runs/980783156 Can we get flock on today? |
|
holybro_durandal SYS_AUTOSTART 4001 top work_queue status sd_bench 8G Sans perf latency |
|
px4_fmu-v5x SYS_AUTOSTART 4001 top work_queue status sd_bench 8G Sans perf latency |
178396a to
b288de1
Compare
|
On fmu-v4 performance was still good (even better than master) up until 2 days ago (09ae5ac). http://ci.px4.io:8080/blue/organizations/jenkins/PX4_misc%2FFirmware-hardware/detail/pr-nuttx-9.1.0-/13/pipeline/624/ First bad build 178396a. |
|
It was this NuttX change. |
49be031 to
ea4afb7
Compare
| if [ -f $FRC ] | ||
| then | ||
| sh $FRC | ||
| . $FRC |
There was a problem hiding this comment.
Can we use source everywhere for consistency?
There was a problem hiding this comment.
I am glad you mentioned this, sure we can but do we want to inherit the env on this call out?
There was a problem hiding this comment.
Yes the scripts currently assume that. Is that not the case on NuttX?
There was a problem hiding this comment.
sh is now a new process. No parent ENV changes are possible. . or source are inclusions and can modify the parent.
|
I'm on my way to generate a new Cygwin Toolchain version with ARM GCC 9 (again) and checked Looks to me like it doesn't allow overriding the existing |
| @@ -28,6 +28,19 @@ sh() { | |||
| . "$(pwd)$script" | |||
| } | |||
|
|
|||
| source() { | |||
There was a problem hiding this comment.
If I rename this to e.g. so() SITL tests all pass on Windows. I'm sure there's a reason to do this but Cygwin shell seems to not allow overriding the symbol source. Can you think of any workaround?
There was a problem hiding this comment.
This comment hints already that overriding set and source is not a good idea:
https://github.com/PX4/Firmware/blob/2128679ab3e4ba888cc3f8b1cb9b00a398847cc5/platforms/posix/src/px4/common/px4-alias.sh_in#L7
There was a problem hiding this comment.
The main difficulty is that both source and . require an absolute path.
If we need to avoid overriding altogether, we can add a prefix variable, $PWD on POSIX, and / on NuttX: . ${R}etc/init.d/rc.fw_defaults
There was a problem hiding this comment.
@dagar argued we should clean all the invocations up and only uses sh hence the action listed in the title block after this comes in but maybe we need an interim fix:
Use $sh and assign to source on linux and . on nuttx?
Can we discuss it on the dev-call Wed?
There was a problem hiding this comment.
I would do whatever works for now and once this settles I'll take a look to see if we can start isolating some of the scripts and not have to track setting and unsetting every variable in rcS.
| @@ -89,6 +89,7 @@ function(px4_add_common_flags) | |||
| -Wno-missing-field-initializers | |||
| -Wno-missing-include-dirs # TODO: fix and enable | |||
| -Wno-unused-parameter | |||
|
|
|||
| ARCHINCLUDES += $(CINCPATH) | ||
| ARCHXXINCLUDES += $(CINCPATH) $(CXXINCPATH) | ||
|
|
||
| ifeq ($(CONFIG_CYGWIN_WINTOOL),y) |
There was a problem hiding this comment.
The include paths are all broken on Cygwin with this change. ifeq ($(CONFIG_CYGWIN_WINTOOL),y) doesn't detect Cygwin.
We'll probably need something like:
ifneq (, $(findstring CYGWIN, $(shell uname)))
CONFIG_CYGWIN_WINTOOL = y
I started testing but don't have all paths properly converted for successful compilation yet.
There was a problem hiding this comment.
I'm still looking for the correct way to deal with this. I have the detection and the TOPDIR conversion but still have to figure out the BOARD_DIR again. I feel it's all deja vu but forgot how it worked. I think last time I looked into it was 2018 #8737
|
As discussed on the dev call, let's get this in to get as much time as possible before the next release and continue to work through any remaining minor regressions with cygwin. |
after NuttX 9.1.0+ upgrade #15139
after NuttX 9.1.0+ upgrade #15139
after NuttX 9.1.0+ upgrade PX4#15139




@dagar FYI: @MaEtUgR @TSC21
I am adding the todo list we discussed yesterday. All Please add what I am missing.
PR is in https://github.com/apache/incubator-nuttx/pull/1741/files
H7 Is failingafter this comes in