-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Hotfix for PR #7778 on Silicon Labs targets #8023
Hotfix for PR #7778 on Silicon Labs targets #8023
Conversation
/morph build |
Build : FAILUREBuild number : 3025 |
@stevew817 We'll do what we can to get this in for RC2 (currently slipping to Monday), but it looks like this still needs some work with TB_Sense_1 |
@SeppoTakalo TB_SENSE_1 is failing because some (netsocket) tests do not fit in its memory. What's the recommended course of action to turn off these tests? |
@ARMmbed/mbed-os-test Please review |
Recommended way is to have:
in the test configuration, in case test cases do not fit. But this is already provided, so I don't understand why it does not build... |
This is what happens on my machine, so I don't understand why the skipping does not work on CI |
Enable these |
Please keep in mind that it is |
@stevew817 Please provide the test config for Mesh application might fit, if configured to be minimal enough, but same does not apply to our test applications which might use full set of Socket operations, DNS libraries, etc. So in this first phase, provide the support for interface with test configurations disabled. Also, another reason to use the So, add:
to the |
@SeppoTakalo @0xc0170 @cmonr fixed. |
/morph build |
Build : SUCCESSBuild number : 3033 Triggering tests/morph test |
Test : FAILUREBuild number : 2803 |
Unrelated failure... |
Correct, both are not. |
Exporter Build : FAILUREBuild number : 2648 |
At the minute, it does seem to be. I think you've been spectacularly unlucky here. The fundamental problem in question is fairly recent - apparently an IAR assembler bug triggered by the complicated (and wrongly-quoted) new error message config option that's recently been added to JSON. There must be some lingering instability not addressed by the previous workaround, and somehow your xcl file manages to achieve some sort of failure (on 7.80.1, but not 7.80.4?). Presumably the same thing would pop up on other targets later if they changed something about their config - it seems deterministic for a particular config. I've done a bit more local testing - it seems that However, we still don't know what exactly it is that is upsetting just this particular target. I will try that substitution, to see if maybe adding the quotes back avoids some other problem with the But given that we already know the -11 error is target-specific, maybe /any/ change we made to the xcl file would make it go away like for the other targets. It seems like the safest bet is to err on the side of caution and eliminate all string macros, hoping and assuming that this -11 is also something about string macros. |
/morph mbed2-build |
And, that fails. Okay, should I make a separate PR for the string macro strip out, or fold it into this one? It's logically separate, but CI load is high, and there's already loads of discussion here. |
In this case here to make it green |
IAR assembler 7.80 has some problems handling difficult macros, leading to immediate exit with return value -11. In particular, a URL string has been causing problems, presumably due to the "//" resembling a comment. A previous escaping workaround in 0d97803 seemed to work, but the crash has still been seen with a particular target. Previous creation of the extended command line file for the IAR assembler was stripping quotes from macros. This rendered the resulting definitions for string-containing macros incorrect, which means that we can assume no assembler code is currently relying on them. Therefore, as a precautionary measure to avoid the crash, simply remove all macros containing strings when creating them for IAR. This apparently clears the crashes seen during testing of ARMmbed#8023
3d0e2e4
to
0e7eda0
Compare
@theotherjimmy and @TTornblom could you review the last commit messing with IAR assembler, please? |
/morph mbed2-build |
I have been playing some with the macro rewrite, and here is an alternative to remove the double quotes that seems to work. It will leave the double quotes in, but "//" still needs to be rewritten as "/\/". diff --git a/tools/toolchains/iar.py b/tools/toolchains/iar.py
index b54487869..ed93dee1c 100644
--- a/tools/toolchains/iar.py
+++ b/tools/toolchains/iar.py
@@ -167,7 +167,7 @@ class IAR(mbedToolchain):
opts = ['-D%s' % d for d in defines]
if for_asm:
config_macros = self.config.get_config_data_macros()
- macros_cmd = ['"-D%s"' % d.replace('"', '').replace('//','/\/') for d in config_macros]
+ macros_cmd = ['"-D%s"' % d.replace('"', '""').replace('//','/\/') for d in config_macros]
if self.RESPONSE_FILES:
via_file = self.make_option_file(
macros_cmd, "asm_macros_{}.xcl") |
The plan: I'm going to take @TTornblom's patch and commit it to this PR. If the mbed2-build job passes with it, then we'll progress the PR. If not, then I'll revert the PR, progress the PR asis, and open a new issue to look into why the patch didin't work. |
/morph mbed2-build |
Welp, since that didn't work, backing out the commit and progressing the PR with only @kjbracey-arm's change. |
eb2af03
to
0e7eda0
Compare
/morph mbed2-build |
/morph build |
Build : SUCCESSBuild number : 3118 Triggering tests/morph test |
Exporter Build : SUCCESSBuild number : 2727 |
Test : FAILUREBuild number : 2915 |
/morph test |
Test : SUCCESSBuild number : 2919 |
Phew. That took waaay too long. |
IAR assembler 7.80 has some problems handling difficult macros, leading to immediate exit with return value -11. In particular, a URL string has been causing problems, presumably due to the "//" resembling a comment. A previous escaping workaround in 0d97803 seemed to work, but the crash has still been seen with a particular target. Previous creation of the extended command line file for the IAR assembler was stripping quotes from macros. This rendered the resulting definitions for string-containing macros incorrect, which means that we can assume no assembler code is currently relying on them. Therefore, as a precautionary measure to avoid the crash, simply remove all macros containing strings when creating them for IAR. This apparently clears the crashes seen during testing of #8023
IAR assembler 7.80 has some problems handling difficult macros, leading to immediate exit with return value -11. In particular, a URL string has been causing problems, presumably due to the "//" resembling a comment. A previous escaping workaround in 0d97803 seemed to work, but the crash has still been seen with a particular target. Previous creation of the extended command line file for the IAR assembler was stripping quotes from macros. This rendered the resulting definitions for string-containing macros incorrect, which means that we can assume no assembler code is currently relying on them. Therefore, as a precautionary measure to avoid the crash, simply remove all macros containing strings when creating them for IAR. This apparently clears the crashes seen during testing of #8023
IAR assembler 7.80 has some problems handling difficult macros, leading to immediate exit with return value -11. In particular, a URL string has been causing problems, presumably due to the "//" resembling a comment. A previous escaping workaround in 0d97803 seemed to work, but the crash has still been seen with a particular target. Previous creation of the extended command line file for the IAR assembler was stripping quotes from macros. This rendered the resulting definitions for string-containing macros incorrect, which means that we can assume no assembler code is currently relying on them. Therefore, as a precautionary measure to avoid the crash, simply remove all macros containing strings when creating them for IAR. This apparently clears the crashes seen during testing of #8023
Description
TB_SENSE_12 was left behind by the changes in #7778. As discussed with @SeppoTakalo over email, this commit implements the changes required to allow TB_SENSE_12 to provide a default network interface for Silicon Labs targets. This was done by mimicking the changes that were put in place by @SeppoTakalo for NCS36510/KW24D.
Considering #7778 made it in for 5.10.0-rc1, I strongly suggest you pull in this PR for the same release to keep continuity. CC @0xc0170 @kjbracey-arm @screamerbg
Pull request type