GDB crash (KDS 3.2.0 Freedom K64F)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

GDB crash (KDS 3.2.0 Freedom K64F)

496 Views
davenadler
Senior Contributor I

When I try to debug my project, GDB crashes with the following internal error:

/home/build/work/GCC-4-8-build/src/gdb/gdb/linespec.c:2445: internal-error: decode_line_full: Assertion `state->canonical_names[i].suffix != NULL' failed.

Here's the complete info:

168627_168627.PNGKSDK_GDB_crash.PNG

Latest updates applied to KDS two days ago.

Thanks, Best Regards, Dave

 

PS: Problem is GDB crashes when setting a breakpoint on code that is not linked into executable.
Clearing all breakpoints, restarting debug session, and then trying to set each breakpoint individually showed where GDB crashes. This GDB bug was listed as fixed in 2014 but it's still there:
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1375517

Labels (1)
0 Kudos
3 Replies

278 Views
BlackNight
NXP Employee
NXP Employee

Hi Dave,

this is the message produced when you have a breakpoint on non-linked code location.

As you say that you have deleted all breakpoints: is that true for watchpoint (data breakpoints) too? I don't remember I have seen that crash for it, but really could be the reason too?

Maybe you could see the reason in the GDB traces (see Failed to Debug with GDB: Breakpoints or Expressions on non-existing Locations )?

I hope this helps,

Erich

278 Views
BlackNight
NXP Employee
NXP Employee

Hi Dave,

as another thought: Check the breakpoint which is set in the debugger launch configuration (disable it):

pastedImage_1.png

Erich

0 Kudos

278 Views
davenadler
Senior Contributor I

Thanks Eric. I this morning found the gdb crash was caused by the same bug you ran into a couple years back:
I tried to set a breakpoint on code that was not linked in.
Unfortunately this bug is still not fixed in GDB...

Eric's blog on GDB crash

In my case I accidentally disabled an ISR by changing the code from c to cpp and forgetting to add extern "C" to the ISR declaration (hence the ISR was optimized out). Inserting the missing extern "C" solves the problem.

Thanks,
Best Regards, Dave

0 Kudos