public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug python/14373] New: std::vector
@ 2012-07-19 11:33 andreasheimberger at gmx dot at
  2012-07-20 19:45 ` [Bug python/14373] std::vector tromey at redhat dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: andreasheimberger at gmx dot at @ 2012-07-19 11:33 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=14373

             Bug #: 14373
           Summary: std::vector
           Product: gdb
           Version: 7.4
            Status: NEW
          Severity: normal
          Priority: P2
         Component: python
        AssignedTo: unassigned@sourceware.org
        ReportedBy: andreasheimberger@gmx.at
    Classification: Unclassified


Created attachment 6537
  --> http://sourceware.org/bugzilla/attachment.cgi?id=6537
vector gdb frozen

Having an unitialized std::vector gdb freezes and doesn't respond anyway.
Especially when you call -var-list-children in the line where std::vector is
still uninitialized.

Example: 
Code                              GDB
------------------------------------------------------------------------------
std::vector<int> vec;             <<  -var-create - * vec  
                                  <<  -var-list-children var1
vec.push_back(1);
-------------------------------------------------------------------------------

Within Eclipse CDT they must have some implementation that debugging is still
available.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug python/14373] std::vector
  2012-07-19 11:33 [Bug python/14373] New: std::vector andreasheimberger at gmx dot at
@ 2012-07-20 19:45 ` tromey at redhat dot com
  2012-07-23  8:22 ` andreasheimberger at gmx dot at
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: tromey at redhat dot com @ 2012-07-20 19:45 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=14373

Tom Tromey <tromey at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tromey at redhat dot com

--- Comment #1 from Tom Tromey <tromey at redhat dot com> 2012-07-20 19:45:24 UTC ---
First, I agree it would be good to be able to interrupt
gdb when it gets wedged like this.

However, the problem here is that the varobj has
many children -- in my test, 105312 of them (but obviously
YMMV).

Front ends are supposed to limit dynamic varobj output
using the provided controls, like -var-set-update-range
or the optional arguments to -var-list-children.
Otherwise, bad things will happen.

In this case, the vector is uninitialized, causing problems.
But the same problems can occur due to other bugs in the program
(trashing the heap), or just if the program happens to create
a really huge data structure -- not unheard-of.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug python/14373] std::vector
  2012-07-19 11:33 [Bug python/14373] New: std::vector andreasheimberger at gmx dot at
  2012-07-20 19:45 ` [Bug python/14373] std::vector tromey at redhat dot com
@ 2012-07-23  8:22 ` andreasheimberger at gmx dot at
  2012-07-25 15:36 ` tromey at redhat dot com
  2022-06-05 15:04 ` tromey at sourceware dot org
  3 siblings, 0 replies; 5+ messages in thread
From: andreasheimberger at gmx dot at @ 2012-07-23  8:22 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=14373

--- Comment #2 from andreasheimberger at gmx dot at 2012-07-23 08:22:29 UTC ---
I agree to you that it is better to set an update range, also for the other
cases you mentioned. However is there no possibility to check if the variable
is unitialized, or do you know if a feature like that will be implemented in
future? Eventually from gcc perspective.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug python/14373] std::vector
  2012-07-19 11:33 [Bug python/14373] New: std::vector andreasheimberger at gmx dot at
  2012-07-20 19:45 ` [Bug python/14373] std::vector tromey at redhat dot com
  2012-07-23  8:22 ` andreasheimberger at gmx dot at
@ 2012-07-25 15:36 ` tromey at redhat dot com
  2022-06-05 15:04 ` tromey at sourceware dot org
  3 siblings, 0 replies; 5+ messages in thread
From: tromey at redhat dot com @ 2012-07-25 15:36 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=14373

--- Comment #3 from Tom Tromey <tromey at redhat dot com> 2012-07-25 15:36:43 UTC ---
(In reply to comment #2)
> I agree to you that it is better to set an update range, also for the other
> cases you mentioned. However is there no possibility to check if the variable
> is unitialized, or do you know if a feature like that will be implemented in
> future? Eventually from gcc perspective.

It may be possible to do this in gcc -- there was one attempt already, see
DW_OP_GNU_uninit -- but I think it is not a good approach, for the reasons
already outlined.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug python/14373] std::vector
  2012-07-19 11:33 [Bug python/14373] New: std::vector andreasheimberger at gmx dot at
                   ` (2 preceding siblings ...)
  2012-07-25 15:36 ` tromey at redhat dot com
@ 2022-06-05 15:04 ` tromey at sourceware dot org
  3 siblings, 0 replies; 5+ messages in thread
From: tromey at sourceware dot org @ 2022-06-05 15:04 UTC (permalink / raw)
  To: gdb-prs

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

Tom Tromey <tromey at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |NOTABUG
             Status|NEW                         |RESOLVED
                 CC|                            |tromey at sourceware dot org

--- Comment #4 from Tom Tromey <tromey at sourceware dot org> ---
I'm going to mark this one as not a bug.
There isn't much gdb can or should do about uninitialized memory.
Front ends can limit the number of varobj children, and should
do so for exactly this reason.

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

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

end of thread, other threads:[~2022-06-05 15:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-19 11:33 [Bug python/14373] New: std::vector andreasheimberger at gmx dot at
2012-07-20 19:45 ` [Bug python/14373] std::vector tromey at redhat dot com
2012-07-23  8:22 ` andreasheimberger at gmx dot at
2012-07-25 15:36 ` tromey at redhat dot com
2022-06-05 15:04 ` tromey at sourceware dot org

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