This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug python/20190] New: TLS symbol claims to need a frame


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

            Bug ID: 20190
           Summary: TLS symbol claims to need a frame
           Product: gdb
           Version: unknown
            Status: NEW
          Severity: normal
          Priority: P2
         Component: python
          Assignee: unassigned at sourceware dot org
          Reporter: tromey at sourceware dot org
  Target Milestone: ---

I'm getting this exception from a gdb unwinder:

#45 0xffffffffffffffff in  ()
Traceback (most recent call last):
  File "/usr/local/stow/my-gdb/share/gdb/python/gdb/__init__.py", line 91, in
execute_unwinders
    unwind_info = unwinder(pending_frame)
  File "/home/tromey/firefox-git/gecko/js/src/gdb/mozilla/unwind.py", line 452,
in __call__
    return self.unwinder_state.unwind(pending_frame)
  File "/home/tromey/firefox-git/gecko/js/src/gdb/mozilla/unwind.py", line 369,
in unwind
    return self.unwind_exit_frame(pc, pending_frame)
  File "/home/tromey/firefox-git/gecko/js/src/gdb/mozilla/unwind.py", line 323,
in unwind_exit_frame
    ptd = self.get_tls_per_thread_data()
  File "/home/tromey/firefox-git/gecko/js/src/gdb/mozilla/unwind.py", line 247,
in get_tls_per_thread_data
    return self.typecache.per_tls_data.value()['mValue']
gdb.error: symbol requires a frame to compute its value



The issue here is that the symbol in question (per_tls_data) is thread-local.
Accessing this value does not actually require a frame -- just registers.
And, since this code is in an unwinder, it seems like it can't really provide
a frame.

It seems to me that trying to fetch a TLS value in an unwinder ought to 
be perfectly ok.

This came up once before:

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

The patch that went in:

https://sourceware.org/ml/gdb-patches/2010-09/msg00270.html

The original patch, that tried to move the needs-frame requirement:

https://sourceware.org/ml/gdb-patches/2010-07/msg00374.html

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]