public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
@ 2022-11-02 15:50 libin.dang at gmail dot com
  2022-11-03  8:32 ` [Bug gdb/29742] " luis.machado at arm dot com
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: libin.dang at gmail dot com @ 2022-11-02 15:50 UTC (permalink / raw)
  To: gdb-prs

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

            Bug ID: 29742
           Summary: [ARMv7] [gdbserver] maybe_hw_step: Assertion
                    `has_single_step_breakpoints (thread)' failed.
           Product: gdb
           Version: HEAD
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gdb
          Assignee: unassigned at sourceware dot org
          Reporter: libin.dang at gmail dot com
  Target Milestone: ---

The following GDBserver assertion failure happened:

../../gdb-13.0.50/gdbserver/linux-low.cc:2448: A problem internal to GDBserver
has been detected.
maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
Aborted (core dumped)

Here is the hardware information:

> cat /proc/cpuinfo 
processor       : 0
model name      : ARMv7 Processor rev 0 (v7l)
BogoMIPS        : 533.33
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc09
CPU revision    : 0

processor       : 1
model name      : ARMv7 Processor rev 0 (v7l)
BogoMIPS        : 533.33
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc09
CPU revision    : 0

Hardware        : Xilinx Zynq Platform
Revision        : 0003
Serial          : 0000000000000000

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug gdb/29742] [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
  2022-11-02 15:50 [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed libin.dang at gmail dot com
@ 2022-11-03  8:32 ` luis.machado at arm dot com
  2022-11-03 15:33 ` libin.dang at gmail dot com
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: luis.machado at arm dot com @ 2022-11-03  8:32 UTC (permalink / raw)
  To: gdb-prs

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

Luis Machado <luis.machado at arm dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |luis.machado at arm dot com

--- Comment #1 from Luis Machado <luis.machado at arm dot com> ---
Hi,

Do you have a reproducer testcase and versions of the tools involved?

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug gdb/29742] [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
  2022-11-02 15:50 [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed libin.dang at gmail dot com
  2022-11-03  8:32 ` [Bug gdb/29742] " luis.machado at arm dot com
@ 2022-11-03 15:33 ` libin.dang at gmail dot com
  2022-11-03 16:45 ` luis.machado at arm dot com
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: libin.dang at gmail dot com @ 2022-11-03 15:33 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #2 from Libin Dang <libin.dang at gmail dot com> ---
(In reply to Luis Machado from comment #1)
> Hi,
> 
> Do you have a reproducer testcase and

Unfortunately, we cannot create a reproducer testcase yet.

The program that triggered this assertion is a complicated private multithread
program, which I cannot share.

> versions of the tools involved?

We are using GDB 13.0.50.20221023.

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug gdb/29742] [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
  2022-11-02 15:50 [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed libin.dang at gmail dot com
  2022-11-03  8:32 ` [Bug gdb/29742] " luis.machado at arm dot com
  2022-11-03 15:33 ` libin.dang at gmail dot com
@ 2022-11-03 16:45 ` luis.machado at arm dot com
  2022-11-10 10:35 ` libin.dang at gmail dot com
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: luis.machado at arm dot com @ 2022-11-03 16:45 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #3 from Luis Machado <luis.machado at arm dot com> ---
Understood. Can you share the remote traffic between gdbserver and gdb?

set debug remote 1
set debug remote-packet-max-chars -1

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug gdb/29742] [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
  2022-11-02 15:50 [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed libin.dang at gmail dot com
                   ` (2 preceding siblings ...)
  2022-11-03 16:45 ` luis.machado at arm dot com
@ 2022-11-10 10:35 ` libin.dang at gmail dot com
  2022-11-10 10:37 ` libin.dang at gmail dot com
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: libin.dang at gmail dot com @ 2022-11-10 10:35 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #4 from Libin Dang <libin.dang at gmail dot com> ---
Created attachment 14447
  --> https://sourceware.org/bugzilla/attachment.cgi?id=14447&action=edit
Output of gdb debug remote

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug gdb/29742] [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
  2022-11-02 15:50 [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed libin.dang at gmail dot com
                   ` (3 preceding siblings ...)
  2022-11-10 10:35 ` libin.dang at gmail dot com
@ 2022-11-10 10:37 ` libin.dang at gmail dot com
  2022-11-10 10:45 ` libin.dang at gmail dot com
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: libin.dang at gmail dot com @ 2022-11-10 10:37 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #5 from Libin Dang <libin.dang at gmail dot com> ---
Created attachment 14448
  --> https://sourceware.org/bugzilla/attachment.cgi?id=14448&action=edit
Output of gdbserver debug remote

Output of `gdbserver --remote-debug --event-loop-debug'

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug gdb/29742] [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
  2022-11-02 15:50 [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed libin.dang at gmail dot com
                   ` (4 preceding siblings ...)
  2022-11-10 10:37 ` libin.dang at gmail dot com
@ 2022-11-10 10:45 ` libin.dang at gmail dot com
  2022-11-21 16:25 ` libin.dang at gmail dot com
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: libin.dang at gmail dot com @ 2022-11-10 10:45 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #6 from Libin Dang <libin.dang at gmail dot com> ---
(In reply to Luis Machado from comment #3)
> Understood. Can you share the remote traffic between gdbserver and gdb?
> 
> set debug remote 1
> set debug remote-packet-max-chars -1

We managed to reduce the reproduce session to this minimal one:

handle SIG32 nostop noprint
handle SIGSTOP nostop noprint

b vic_ar_work.c:2823

c
n
n
n
n
n

It may need a few less or more `next' commands to trigger this issue.

The outputs of debug remote for both host and target sides are attached.

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug gdb/29742] [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
  2022-11-02 15:50 [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed libin.dang at gmail dot com
                   ` (5 preceding siblings ...)
  2022-11-10 10:45 ` libin.dang at gmail dot com
@ 2022-11-21 16:25 ` libin.dang at gmail dot com
  2022-11-29 13:19 ` jeroen.hiddink at vialis dot nl
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: libin.dang at gmail dot com @ 2022-11-21 16:25 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #7 from Libin Dang <libin.dang at gmail dot com> ---
When we enable all-stop mode in GDB, this issue goes away.

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug gdb/29742] [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
  2022-11-02 15:50 [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed libin.dang at gmail dot com
                   ` (6 preceding siblings ...)
  2022-11-21 16:25 ` libin.dang at gmail dot com
@ 2022-11-29 13:19 ` jeroen.hiddink at vialis dot nl
  2023-02-10 14:45 ` libin.dang at gmail dot com
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jeroen.hiddink at vialis dot nl @ 2022-11-29 13:19 UTC (permalink / raw)
  To: gdb-prs

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

Jeroen Hiddink <jeroen.hiddink at vialis dot nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jeroen.hiddink at vialis dot nl

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug gdb/29742] [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
  2022-11-02 15:50 [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed libin.dang at gmail dot com
                   ` (7 preceding siblings ...)
  2022-11-29 13:19 ` jeroen.hiddink at vialis dot nl
@ 2023-02-10 14:45 ` libin.dang at gmail dot com
  2023-02-10 14:47 ` libin.dang at gmail dot com
  2023-02-10 14:50 ` libin.dang at gmail dot com
  10 siblings, 0 replies; 12+ messages in thread
From: libin.dang at gmail dot com @ 2023-02-10 14:45 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #8 from Libin Dang <libin.dang at gmail dot com> ---
(In reply to Libin Dang from comment #7)
> When we enable all-stop mode in GDB, this issue goes away.

Update:

For all-stop mode and step scheduler-locking mode, this issue goes away.

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug gdb/29742] [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
  2022-11-02 15:50 [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed libin.dang at gmail dot com
                   ` (8 preceding siblings ...)
  2023-02-10 14:45 ` libin.dang at gmail dot com
@ 2023-02-10 14:47 ` libin.dang at gmail dot com
  2023-02-10 14:50 ` libin.dang at gmail dot com
  10 siblings, 0 replies; 12+ messages in thread
From: libin.dang at gmail dot com @ 2023-02-10 14:47 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #9 from Libin Dang <libin.dang at gmail dot com> ---
Backtrace of gdbserver:

(gdb) bt
#0  0x76c7e216 in ?? () from /lib/libc.so.6
#1  0x76c8c9d4 in raise () from /lib/libc.so.6
#2  0x76c7dca0 in abort () from /lib/libc.so.6
#3  0x0041f1e0 in abort_or_exit () at
../../gdb-14.0.50.20230201/gdbserver/utils.cc:39
#4  internal_verror (file=<optimized out>, line=line@entry=2448, fmt=0x0,
fmt@entry=0x7ec8e2bc "\260KF", args=..., args@entry=...)
    at ../../gdb-14.0.50.20230201/gdbserver/utils.cc:108
#5  0x0044fd32 in internal_error_loc (file=<optimized out>,
line=line@entry=2448, fmt=0x45c8b0 "%s. Switching to stderr.\n") at
../../gdb-14.0.50.20230201/gdbsupport/errors.cc:58
#6  0x0043cfbc in linux_process_target::maybe_hw_step (this=<optimized out>,
thread=<optimized out>) at
../../gdb-14.0.50.20230201/gdbserver/linux-low.cc:2448
#7  linux_process_target::maybe_hw_step (this=<optimized out>,
thread=<optimized out>) at
../../gdb-14.0.50.20230201/gdbserver/linux-low.cc:2440
#8  0x0043d99e in linux_process_target::resume_stopped_resumed_lwps
(this=this@entry=0x4821ec <the_arm_target>, thread=0x9c17d0)
    at ../../gdb-14.0.50.20230201/gdbserver/linux-low.cc:2466
#9  0x0043e9ac in <lambda(thread_info*)>::operator() (__closure=<synthetic
pointer>, thread=<optimized out>) at
../../gdb-14.0.50.20230201/gdbserver/linux-low.cc:2606
#10 for_each_thread<linux_process_target::wait_for_event_filtered(ptid_t,
ptid_t, int*, int)::<lambda(thread_info*)> > (func=...)
    at ../../gdb-14.0.50.20230201/gdbserver/gdbthread.h:159
#11 linux_process_target::wait_for_event_filtered (this=this@entry=0x4821ec
<the_arm_target>, wait_ptid=..., filter_ptid=..., wstatp=0x7ec8e544,
options=1073741824)
    at ../../gdb-14.0.50.20230201/gdbserver/linux-low.cc:2604
#12 0x00440e2a in linux_process_target::wait_for_event (options=1078469316,
wstatp=0x7ec8e544, ptid=..., this=0x4821ec <the_arm_target>)
    at ../../gdb-14.0.50.20230201/gdbserver/linux-low.cc:2676
#13 linux_process_target::wait_1 (this=this@entry=0x4821ec <the_arm_target>,
ptid=..., ourstatus=ourstatus@entry=0x484818 <g_client_state+1288>,
target_options=..., 
    target_options@entry=...) at
../../gdb-14.0.50.20230201/gdbserver/linux-low.cc:2970
#14 0x0044256c in linux_process_target::wait (this=0x4821ec <the_arm_target>,
ptid=..., ourstatus=0x484818 <g_client_state+1288>, target_options=...)
    at ../../gdb-14.0.50.20230201/gdbserver/linux-low.cc:3624
#15 0x00430a1c in target_wait (options=..., status=0x484818
<g_client_state+1288>, ptid=...) at
../../gdb-14.0.50.20230201/gdbserver/target.cc:199
#16 mywait (ptid=..., ourstatus=ourstatus@entry=0x484818 <g_client_state+1288>,
options=..., connected_wait=connected_wait@entry=1)
    at ../../gdb-14.0.50.20230201/gdbserver/target.cc:144
#17 0x0042a6c0 in resume (actions=<optimized out>, num_actions=<optimized out>)
at ../../gdb-14.0.50.20230201/gdbserver/server.cc:2917
#18 resume (actions=0x9d4b18, num_actions=<optimized out>) at
../../gdb-14.0.50.20230201/gdbserver/server.cc:2889
#19 0x0042b168 in handle_v_cont (own_buf=0x9d4b18 "<\001") at
../../gdb-14.0.50.20230201/gdbserver/server.cc:2876
#20 handle_v_requests (own_buf=own_buf@entry=0x9b50a8
"vCont;r45b52a,45b52c:p13c.17d;c:p13c.-1", packet_len=packet_len@entry=39,
new_packet_len=new_packet_len@entry=0x7ec8e8ac)
    at ../../gdb-14.0.50.20230201/gdbserver/server.cc:3136
#21 0x0042de1e in process_serial_event () at
../../gdb-14.0.50.20230201/gdbserver/server.cc:4482
#22 handle_serial_event (err=<optimized out>, client_data=<optimized out>) at
../../gdb-14.0.50.20230201/gdbserver/server.cc:4514
#23 0x0045026c in gdb_wait_for_event (block=block@entry=1) at
../../gdb-14.0.50.20230201/gdbsupport/event-loop.cc:694
#24 0x0045099c in gdb_wait_for_event (block=1) at
../../gdb-14.0.50.20230201/gdbsupport/event-loop.cc:593
#25 gdb_do_one_event (mstimeout=mstimeout@entry=-1) at
../../gdb-14.0.50.20230201/gdbsupport/event-loop.cc:264
#26 0x0041f9cc in start_event_loop () at
../../gdb-14.0.50.20230201/gdbserver/server.cc:3512
#27 captured_main (argv=<optimized out>, argc=4) at
../../gdb-14.0.50.20230201/gdbserver/server.cc:3992
#28 main (argc=4, argv=<optimized out>) at
../../gdb-14.0.50.20230201/gdbserver/server.cc:4078

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug gdb/29742] [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed.
  2022-11-02 15:50 [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed libin.dang at gmail dot com
                   ` (9 preceding siblings ...)
  2023-02-10 14:47 ` libin.dang at gmail dot com
@ 2023-02-10 14:50 ` libin.dang at gmail dot com
  10 siblings, 0 replies; 12+ messages in thread
From: libin.dang at gmail dot com @ 2023-02-10 14:50 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #10 from Libin Dang <libin.dang at gmail dot com> ---
It seems this issue can be fixed by the following change:

diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc
index 7e1de39..6639f6e 100644
--- a/gdbserver/linux-low.cc
+++ b/gdbserver/linux-low.cc
@@ -2460,16 +2460,11 @@ linux_process_target::resume_stopped_resumed_lwps
(thread_info *thread)
       && !lp->status_pending_p
       && thread->last_status.kind () == TARGET_WAITKIND_IGNORE)
     {
-      int step = 0;
-
-      if (thread->last_resume_kind == resume_step)
-       step = maybe_hw_step (thread);
-
-      threads_debug_printf ("resuming stopped-resumed LWP %s at %s: step=%d",
+      threads_debug_printf ("resuming stopped-resumed LWP %s at %s",
                            target_pid_to_str (ptid_of (thread)).c_str (),
-                           paddress (lp->stop_pc), step);
+                           paddress (lp->stop_pc));

-      resume_one_lwp (lp, step, GDB_SIGNAL_0, NULL);
+      proceed_one_lwp (thread, NULL);
     }
 }

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2023-02-10 14:50 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-02 15:50 [Bug gdb/29742] New: [ARMv7] [gdbserver] maybe_hw_step: Assertion `has_single_step_breakpoints (thread)' failed libin.dang at gmail dot com
2022-11-03  8:32 ` [Bug gdb/29742] " luis.machado at arm dot com
2022-11-03 15:33 ` libin.dang at gmail dot com
2022-11-03 16:45 ` luis.machado at arm dot com
2022-11-10 10:35 ` libin.dang at gmail dot com
2022-11-10 10:37 ` libin.dang at gmail dot com
2022-11-10 10:45 ` libin.dang at gmail dot com
2022-11-21 16:25 ` libin.dang at gmail dot com
2022-11-29 13:19 ` jeroen.hiddink at vialis dot nl
2023-02-10 14:45 ` libin.dang at gmail dot com
2023-02-10 14:47 ` libin.dang at gmail dot com
2023-02-10 14:50 ` libin.dang at gmail dot com

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).