-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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
mec15xxevb_assy6853:arch.arm.arch.arm.no.multithreading failed to run #27574
Comments
Thanks for the bug report @Zhaoningx Could you please
|
Setting bug priority to LOW, for now. It seems the test passes on multiple cortex-m platforms. Waiting for more input from @Zhaoningx |
Hi @ioannisg , I test two tests of the other tests/arch/arm and the log output as below: 1. tests/arch/arm/arm_interrupt/ =================================================================== E: Current thread: 0x00118890 (unknown) E: Current thread: 0x00118890 (unknown) E: r0/a1: 0x00000004 r1/a2: 0x00000031 r2/a3: 0x00118890 E: Current thread: 0x00118890 (unknown) E: Current thread: 0x00118890 (unknown) =================================================================== =================================================================== =================================================================== 2.tests/arch/arm/arm_irq_advanced_features/ =================================================================== =================================================================== =================================================================== =================================================================== 3.tests/arch/arm/arm_no_multithreading/ ran report at the lasting master E: ***** HARD FAULT ***** |
Thanks a lot for the log @Zhaoningx with
and see if you can get the IRQ triggered? |
Hi @ioannisg , I replaced this at the end of the file /tests/arch/arm/arm_no_multithreading/src/main.c:110. But the report log is same as the failure log before, also failure. |
So is it a problem that the IRQ is not triggered at all? Or that the test_flag is not updated? |
It showed me that ASSERTION FAIL [flag > 0] @ WEST_TOPDIR/zephyr/tests/arch/arm/arm_no_multithreading/src/main.c:119 Test flag not set by IRQ. |
Yeap, I understand that. I wonder if you could verify whether the ISR handler has run (and updated the test_flag) or not. Maybe with some debugger, or just a printf you could check this :) |
Hi @ioannisg , yup, I debugged it followed your idea, I added 'printk' into the ISR handler function, and hand and tail of main function, it showed me that the handler function didn't run, and the test_flag didn't updated, either, stay zero all time. E: ***** HARD FAULT ***** As you see, there isn't output inform print in the arm_isr_handler function. |
@Zhaoningx thanks, so it looks like something blocks the ISR to run.
and you said you replaced NVIC_EnableIRQ(i) with Unless I am missing something, it seems weird that the ISR line is not triggered. Also, right before the ASSERT line can you add a check to see if the IRQs are enabled? |
Hey @ioannisg , the macro CONFIG_DYNAMIC_INTERRUPTS=y has done in prj.conf. And I asserted the IRQs i, it showed me the output as follows: *** Booting Zephyr OS build zephyr-v2.3.0-1774-g34859d0d3e40 *** E: ***** HARD FAULT ***** |
OK then this means you can pend an interrupt but not enable it. E.g. start from i = CONFIG_NUM_IRQS/2, so the CPU will find another NVIC line. |
Hi @ioannisg , I have a try to preset some starting points to test this like /2 /3 /6 /10 and so on, but it also returns a error 'ASSERT failed to indicate that IRQs enabled failed', the reports as below: E: ***** HARD FAULT ***** E: ***** HARD FAULT ***** E: ***** HARD FAULT ***** E: ***** HARD FAULT ***** E: ***** HARD FAULT ***** Waiting for your replying. |
@Zhaoningx you need to disable all drivers or subsystems that make use of kernel blocking calls such as mutexes or semaphores. |
Hi @carlescufi , I have a try to disable all device drivers that the board mec15xxevb_assy6853 supported, and extra configure as below: but the bug is still met, so I think we should re-open this bug to continue to work on it. :) |
@Zhaoningx I don't see error now in the latest main 1921a2d
|
This issue has solved, so close it. |
Describe the bug
It will make system crash, when running test cast of tests/arch/arm/arm_no_multithreading/
To Reproduce
Steps to reproduce the behavior:
Logs and console output
*** Booting Zephyr OS build zephyr-v2.3.0-1774-g34859d0d3e40 ***
ARM no-multithreading test
Available IRQ line: 173
ASSERTION FAIL [flag > 0] @ WEST_TOPDIR/zephyr/tests/arch/arm/arm_no_multithreading/src/main.c:105
Test flag not set by IRQ
E: ***** HARD FAULT *****
E: Fault escalation (see below)
E: r0/a1: 0x00000004 r1/a2: 0x00000069 r2/a3: 0x00000000
E: r3/a4: 0x00000000 r12/ip: 0x00000000 r14/lr: 0x000e0733
E: xpsr: 0x61000000
E: Faulting instruction address (r15/pc): 0x000e4bec
E: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
E: Current thread: 0x00000000 (Y�)
E: Halting system
Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: