Bug 566145 - Segfault in gdb_bfd_ref when trying to print java.util.Properties value
Summary: Segfault in gdb_bfd_ref when trying to print java.util.Properties value
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gdb
Version: rawhide
Hardware: i686
OS: Linux
low
high
Target Milestone: ---
Assignee: Tom Tromey
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-02-17 12:39 UTC by Robin Green
Modified: 2014-08-11 05:46 UTC (History)
4 users (show)

Fixed In Version: gdb-7.0.1-48.fc12
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-06-03 18:07:36 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Java program which creates a java.util.Properties object (206 bytes, text/x-java)
2010-02-17 12:39 UTC, Robin Green
no flags Details

Description Robin Green 2010-02-17 12:39:58 UTC
Created attachment 394727 [details]
Java program which creates a java.util.Properties object

Description of problem:
gdb segfaults when asked to print a java.util.Properties value

Version-Release number of selected component (if applicable):
gdb-7.0.1-31.fc12.i686

How reproducible:
Always

Steps to Reproduce:
1. Download attached file
2. gcj -g PropsBug.java --main=PropsBug
3. gdb --args gdb ./a.out
4. r
5. b PropsBug.java:7
6. r
7. p *info
  
Actual results:
warning: RTTI symbol not found for class 'java::util::Properties'

Program received signal SIGSEGV, Segmentation fault.
gdb_bfd_ref (abfd=0x0) at ../../gdb/objfiles.c:1350
1350      int *p_refcount = bfd_usrdata (abfd);
(gdb) bt
#0  gdb_bfd_ref (abfd=0x0) at ../../gdb/objfiles.c:1350
#1  0x08085acc in allocate_objfile (abfd=<value optimized out>, flags=<value optimized out>) at ../../gdb/objfiles.c:185
#2  0x081e982c in get_dynamics_objfile () at ../../gdb/jv-lang.c:79
#3  0x081ea85d in type_from_class (gdbarch=<value optimized out>, clas=<value optimized out>) at ../../gdb/jv-lang.c:272
#4  0x081eb007 in evaluate_subexp_java (expect_type=<value optimized out>, exp=<value optimized out>, pos=<value optimized out>, 
    noside=<value optimized out>) at ../../gdb/jv-lang.c:884
#5  0x0812d5c0 in evaluate_expression (exp=<value optimized out>) at ../../gdb/eval.c:167
#6  0x08144c94 in print_command_1 (exp=0x843688a "*info", inspect=0, voidprint=<value optimized out>) at ../../gdb/printcmd.c:905
#7  0x0808c6da in execute_command (p=0x843688e "o", from_tty=<value optimized out>) at ../../gdb/top.c:454
#8  0x081786dc in command_handler (command=0x8436888 "p *info") at ../../gdb/event-top.c:516
#9  0x08179422 in command_line_handler (rl=<value optimized out>) at ../../gdb/event-top.c:741
#10 0x009bdf32 in rl_callback_read_char () at ../callback.c:208
#11 0x0817882c in rl_callback_read_char_wrapper (client_data=<value optimized out>) at ../../gdb/event-top.c:179
#12 0x08177cc1 in handle_file_event (data=...) at ../../gdb/event-loop.c:826
#13 0x081774fb in process_event () at ../../gdb/event-loop.c:395
#14 0x081783ba in gdb_do_one_event (data=<value optimized out>) at ../../gdb/event-loop.c:473
#15 0x0817262d in catch_errors (func=<value optimized out>, func_args=<value optimized out>, errstring=<value optimized out>, mask=<value optimized out>)
    at ../../gdb/exceptions.c:510
#16 0x080f38dc in tui_command_loop (data=<value optimized out>) at ../../gdb/tui/tui-interp.c:156
#17 0x08172d13 in current_interp_command_loop () at ../../gdb/interps.c:291
#18 0x0808212c in captured_command_loop (data=<value optimized out>) at ../../gdb/main.c:227
#19 0x0817262d in catch_errors (func=<value optimized out>, func_args=<value optimized out>, errstring=<value optimized out>, mask=<value optimized out>)
    at ../../gdb/exceptions.c:510
#20 0x08082a44 in captured_main (data=<value optimized out>) at ../../gdb/main.c:949
#21 0x0817262d in catch_errors (func=<value optimized out>, func_args=<value optimized out>, errstring=<value optimized out>, mask=<value optimized out>)
    at ../../gdb/exceptions.c:510
#22 0x08082063 in gdb_main (args=<value optimized out>) at ../../gdb/main.c:959
#23 0x0808201a in main (argc=<value optimized out>, argv=<value optimized out>) at ../../gdb/gdb.c:47

Expected results:
{}

Comment 1 Robin Green 2010-02-17 12:50:51 UTC
Bug present in both F12 and rawhide.

Comment 2 Tom Tromey 2010-02-17 22:25:49 UTC
I checked in a fix for this upstream.
Jan, it is worth pulling this over -- it is very small & safe.

Comment 3 Fedora Update System 2010-06-02 11:21:49 UTC
gdb-7.0.1-48.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/gdb-7.0.1-48.fc12

Comment 4 Fedora Update System 2010-06-03 18:07:27 UTC
gdb-7.0.1-48.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.