Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] CDT Call Wednesday

Hi Jonah,

  Well  "-ix /Users/sam/eclipse-workspace/gdbinit” added to the command line enables the “set startup-with-shell off” to be given despite the “—nx”.  Doesn’t work around the GDB null-ptr issue sadly.  Something else from Eclipse/CDT startup is forcing the inferior thread issue of GDB.

  Worstcase, soon I’ll have a build environment for Eclipse/CDT and can try the Mi3, along with analyze the MI communications from the log.

Sam


On Jun 22, 2021, at 7:31 PM, Sam Warner via cdt-dev <cdt-dev@xxxxxxxxxxx> wrote:

Hi Jonah,

  While rebuilding I saw this little note (attached)
<Screen Shot 2021-06-22 at 7.24.52 PM.png>

  Roughly, the “NX” is stopping the “.gdbinit” override, and forcing the starting thread to be inferior, which in turn is exposing the GDB issue (Assertion `current_thread_ != nullptr’ failed).  I am going to look for a command line to add to the startup to get the same effect as “set startup-with-shell off

Sam

Ps, the Mi override will be helpful for me if I repeat my prior issue of Eclipse/CDT and GDB’s state-machines getting out-of-sync.  The logging info you provided will too. I’m gambling that Mi3 is backward compatible, and that the above bug will be easier to resolve if we can reproduce in Mi3




On Jun 22, 2021, at 6:59 PM, Sam Warner via cdt-dev <cdt-dev@xxxxxxxxxxx> wrote:

Hi Jonah,

  - great info - thank you.

  Yep, I confirmed the issue is only presently happening when Eclipse/CDT starts GDB.  It’s a GDB issue though.  I’ll use the traces to look into this further.  Someone’s posted a patch for this issue on GDB, and yep, I will need to a GDB image to get this, as I am pulling from Homebrew.

   Any way - manually - for me to configure to use ‘mi3’ when Eclipse/CDT launches GDB just to see?

Sam
Ps, I’ll follow the other information shortly (matters, setup build env, filing bug (if after building with the patch things aren’t resolved).
Pps, I’ll try lldb too



On Jun 22, 2021, at 6:35 PM, Jonah Graham <jonah@xxxxxxxxxxxxxxxx> wrote:

Hi Sam,

Not a problem at all. Let me see if I can answer your queries inline below.

On Tue, 22 Jun 2021 at 20:03, Sam Warner <samuel.r.warner@xxxxxx> wrote:
Hi Jonah,
 
   Apologize for missing this months meeting.  I’ve made some progress, though definitely this has been a bit of a challenge - despite getting to what seems like a productive point.  Seems Eclipse/CDT’s is starting up GDB with “—interpreter mi2 and —nx”.  

That is as expected :-)
 

  The terminated process shows this info on the MacOS (haven’t tried other OSes).  The net of the ‘mi2’ is it appears to not couple to GDB v10.2 properly, I keep getting:

“Gdb/thread.c:95: internal-error: struct….” 

  as an error message when I start a debug session with a “Local” app.  While I am certain we have exposed some GDB flaw, at the moment I am trying to scope out the issue a bit. (See attachments below).

Yes, nothing we have done in CDT should cause GDB to have an internal error, and if possible the bug should indeed be reported to GDB or, if the package was built by someone else, to them (e.g. if you got it from homebrew and the have their own patches that may need to be first port of call - https://formulae.brew.sh/formula/gdb)
 

   Any way to alter this to other MI interfaces manually, to see if another just works - before I dive deeper?

Background: MI is short for machine interface (just in case you didn't know). The 2 is the version number of the protocol. GDB has been on version 2 for a long time, but recently added a version 3. Version 3 is mostly the same as version 2, but with some protocol errors from version 2 fixed. See https://sourceware.org/gdb/current/onlinedocs/gdb/GDB_002fMI-Development-and-Front-Ends.html 

CDT can only talk to GDB with version mi2. What I do when trying to track down such problems is use the GDB CLI (start gdb without --interpreter argument) to reproduce similar sequences to make sure things work properly.

To create a bug report for GDB you may want to create the minimal sequence of commands that exposes the problem. If you want to see what CDT is sending/receiving with GDB you can turn on the MI traces view (see https://wiki.eclipse.org/CDT/User/NewIn92#Hide_gdb_traces_by_default) then you can start gdb in a terminal (with  --interpreter mi2)




Sam

Ps, does the team have Slack/Teams or some other equivalent method for questions/answers ?

There is a very underused (by CDT) mattermost channel https://mattermost.eclipse.org/eclipse/channels/cdt-developers - we can certainly chat on there.
 

pps, I am going to need some info on the build setup/environment for Eclipse/CDT too, so any pointers?

https://wiki.eclipse.org/Getting_started_with_CDT_development - Try the Oomph instructions first (https://wiki.eclipse.org/Getting_started_with_CDT_development#Using_Oomph) if you are not familiar with setting up Eclipse dev environments.
 

ppps, The “—nx” is rather interesting, as I spent quite a while trying to follow the exact directions for installing and coupling GDB to Eclipse/CDT, and the startup command disables the entire startup-script.  The interesting part being I kept trying to debut why the startup-script wasnt being used… but … hey…. Call me stupid :).  I could have just asked.

The --nx is to ensure nothing from the "external" environment affects the GDB/CDT interface. Many normal settings in .gdbinit files can cause problems. Individual launches can have init files (specified in the launch configuration) and that may be a good place to add the extra items like "set startup-with-shell off". 
 

<Screen Shot 2021-06-22 at 4.44.56 PM.png>

 What will be interesting about the above screenshot is what sequence of MI commands leads to that assertion.
 
<Screen Shot 2021-06-22 at 4.39.13 PM.png>

Cool to see new features of CDT being used already - https://wiki.eclipse.org/CDT/User/NewIn103#Debug

Let me know what else I can do to help you.

Jonah


 


On Apr 9, 2021, at 10:26 AM, Sam Warner via cdt-dev <cdt-dev@xxxxxxxxxxx> wrote:

Hi Johan,
   I’d be interested in helping, sorry I hadn’t helped before on the GDB issues I had identified with OS-X.  I’ll join the meeting to see how I might be of help, or if you know way beforehand - please do reply back.

Thanks,
Sam


On Apr 9, 2021, at 7:27 AM, Jonah Graham <jonah@xxxxxxxxxxxxxxxx> wrote:

Hello folks,

See you all on Wednesday for our monthly call:

CDT Monthly Call April 14 2021

  1. Welcome and sign yourself in
  2. Actions from last meeting
  3. CDT 10.3 / 2020-06 planning (M1 is on 12 April)
  4. Increasing minimum version of GDB we test and support “officially” Bug 572582
  5. Reenabling long disabled DSF-GDB tests (these were initially disabled when we moved to Jiro)
  6. Status of cdt-gdb-adapter
  7. Any other business?


~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev


_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev


Back to the top