public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
From: "ydeng339 at gatech dot edu" <sourceware-bugzilla@sourceware.org>
To: gdb-prs@sourceware.org
Subject: [Bug gdb/31465] New: gdb batch mode crashes when execute "gdb.post_event(lambda: gdb.execute("c"))" in a stop event handler
Date: Fri, 08 Mar 2024 17:10:02 +0000	[thread overview]
Message-ID: <bug-31465-4717@http.sourceware.org/bugzilla/> (raw)

https://sourceware.org/bugzilla/show_bug.cgi?id=31465

            Bug ID: 31465
           Summary: gdb batch mode crashes when execute
                    "gdb.post_event(lambda: gdb.execute("c"))" in a stop
                    event handler
           Product: gdb
           Version: 15.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gdb
          Assignee: unassigned at sourceware dot org
          Reporter: ydeng339 at gatech dot edu
  Target Milestone: ---

I want to debug my program (with multiple breakpoints) automatically. When
reaching a breakpoint, I want to do some operations and continue the execution. 

Here is the code snippet of my python script:
```
def set_breakpoints():
    # Just add multiple breakpoints
    ...

def on_stop(event):
    # Do some operations
    gdb.post_event(lambda: gdb.execute("c"))

gdb.events.stop.connect(on_stop)

gdb.execute("run")
```

And here is my command: "gdb -x [MY_PYTHON_SCRIPT] --batch --args
[MY_PROGRAM]".

And then, gdb crashes with the following logs:
```
Fatal signal: Segmentation fault
----- Backtrace -----
0x55a013532077 ???
0x55a013634859 ???
0x55a013634a22 ???
0x7eff7742c51f ???
        ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
0x7eff780093eb ???
0x7eff78009f1b ???
0x55a013797a2a ???
0x55a0137d01d5 ???
0x7eff7742f494 __run_exit_handlers
        ./stdlib/exit.c:113
0x7eff7742f60f __GI_exit
        ./stdlib/exit.c:143
0x55a01385f3e4 ???
0x55a0136f3554 ???
0x55a0136f404e ???
0x55a01348a15f ???
0x7eff77413d8f __libc_start_call_main
        ../sysdeps/nptl/libc_start_call_main.h:58
0x7eff77413e3f __libc_start_main_impl
        ../csu/libc-start.c:392
0x55a01348fbf4 ???
0xffffffffffffffff ???
---------------------
```

Such crash only appears in batch mode. If I run the program in interactive
mode, the program will not crash (but interactive mode is inefficient). Based
on my test, this bug appears in version 12.1 and version 15.0.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

             reply	other threads:[~2024-03-08 17:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-08 17:10 ydeng339 at gatech dot edu [this message]
2024-03-08 21:25 ` [Bug gdb/31465] " tromey at sourceware dot org
2024-03-08 22:30 ` ydeng339 at gatech dot edu
2024-03-12 18:15 ` tromey at sourceware dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-31465-4717@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=gdb-prs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).