-
Notifications
You must be signed in to change notification settings - Fork 13.6k
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
2 hard faults (on ground + in air) with PX4FW v1.7.4 #9348
Comments
The hardfault occurred in the high priority work queue (HPWORK). Things that would likely be running in HPWORK on your setup.
Are you using the AUX outputs on the pixhawk? Providing the elf that corresponds with the inflight hardfault (https://review.px4.io/plot_app?log=3b702655-6052-46e6-85e2-fd012d27c25f) might help. |
Stock, i.e. SDP3x
No, we are not using AUX channels.
Stock ADIS16448 driver.
Yes, we're running that.
Yes, our battery monitoring driver. But that is obviously quite a low-level driver. We'll double-check the code. I should also mention that after having this hard fault on the ground, we continued testing and the system ran for 8+ hours without an issue. |
Potentially related (although we didn't get a hardfault log): #9260 |
@philipoe Could you please provide the ELF? That's really important at this stage. |
@LorenzMeier @dagar ELF file is here : https://polybox.ethz.ch/index.php/s/p8raQspAmyN8yYX . |
I explored both hardfault logs a bit, but didn't find anything definitive. In both cases the program counter is HPWORK looks to be in your custom code ( |
Thanks a lot! @ASM3 Any idea? Could you look into this? |
probably not related, but here is a link to some other hard fault issues just in case: #8913 |
The hardfault log you sent me indicates a bad PC and corruption on the user stack. As I look up the stack for possible calling code I see 0x0801d9ff in sem_timeout possible called by 0x080f5ef5 in Bq78350::~Bq78350() @philipoe This is a custom, non-contributed driver and there is no way for us to tell if that's at fault nor can we debug it. If you want support for that peripheral and debugging in situations like this one you would need to make the driver and hardware available (= commercially available or as open hardware). That is a general rule for upstream debugging. I'm closing the issue with a tentative conclusion that the fault is due to user-changed code and not an actual PX4 issue. |
Bug Report
We (ASL/ETHZ) have recently had two hard faults that caused Pixhawk to reboot. One of them unfortunately happened in air with a 3.2m wingspan fixed-wing, one happened during on-ground testing.
Setup
Hard fault 1: In-air
We had done 3 short MANUAL flights before that, and in this flight first flew manual for about three minutes and then switched to stabilized. The hard fault ocured 1 minute after switching to stabilized mode. The pilot continued to fly in PX4IO's (important!) manual override mode, and, as he barely noticed the issues, actually went back into stabilized mode for some time before then landing the plane following our instructions. The ulogger-log of part 1 (see below) stops in air. We could not find any fancy stuff in the logs before the log stops. Pixhawk rebooted in-air, and continued logging as usual (part2, see below).
Hard fault 2: On-ground
This happened during in-lab testing. We performed extensive pre-flight checks, including rebooting FMU (by pressing the reset button) and checking that IO's manual override still works. It did, but (and i assume this is normal because there is already a mixer present) loading the mixer after that provoked reboot fails. We let the plane then just sit there for a couple of minutes, and suddenly Pixhawk rebooted. This was a hard fault, too. We unfortunately assumed this was BECAUSE we had provoked the in-air restart via pushing the FMU reset button (and after testing for another 8 hours in-lab without any hard fault assumed everything was OK). I don't have the ulog-files yet, but i have:
fault_2000_01_01_18_53_35.log
consoleLog.txt
I might be able to provide the firmware .elf file to allow debugging the hard fault as described in https://dev.px4.io/en/debug/gdb_debugging.html#debugging-hard-faults-in-nuttx if required.
I guess it makes sense to add this to #9271 @RomanBapst @LorenzMeier ?
The text was updated successfully, but these errors were encountered: