Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1132488 - test_gdb check fails on PPC
Summary: test_gdb check fails on PPC
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: python2
Version: 28
Hardware: powerpc
OS: Linux
medium
high
Target Milestone: ---
Assignee: Charalampos Stratakis
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PPCTracker
TreeView+ depends on / blocked
 
Reported: 2014-08-21 12:38 UTC by Karsten Hopp
Modified: 2018-06-21 14:30 UTC (History)
19 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-06-21 14:30:02 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
build.log (8.44 MB, text/x-log)
2014-08-21 12:38 UTC, Karsten Hopp
no flags Details
strace output (6.11 MB, text/plain)
2014-08-21 16:11 UTC, Dan Horák
no flags Details

Description Karsten Hopp 2014-08-21 12:38:01 UTC
Created attachment 929195 [details]
build.log

Description of problem:
test_gdb
test_NULL_instance_dict (test.test_gdb.PrettyPrintTests)
Ensure that a PyInstanceObject with with a NULL in_dict is handled ... FAIL
test_NULL_ob_type (test.test_gdb.PrettyPrintTests)
Ensure that a PyObject* with NULL ob_type is handled gracefully ... FAIL
test_NULL_ptr (test.test_gdb.PrettyPrintTests)
Ensure that a NULL PyObject* is handled gracefully ... FAIL
test_builtin_function (test.test_gdb.PrettyPrintTests) ... FAIL
test_builtin_method (test.test_gdb.PrettyPrintTests) ... FAIL
....
======================================================================
FAIL: test_NULL_instance_dict (test.test_gdb.PrettyPrintTests)
Ensure that a PyInstanceObject with with a NULL in_dict is handled
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-2.7.8/Lib/test/test_gdb.py", line 506, in test_NULL_instance_dict
    exptype='Foo')
  File "/builddir/build/BUILD/Python-2.7.8/Lib/test/test_gdb.py", line 444, in assertSane
    cmds_after_breakpoint=cmds_after_breakpoint)
  File "/builddir/build/BUILD/Python-2.7.8/Lib/test/test_gdb.py", line 224, in get_gdb_repr
    import_site=import_site)
  File "/builddir/build/BUILD/Python-2.7.8/Lib/test/test_gdb.py", line 209, in get_stack_trace
    self.assertEqual(unexpected_errlines, [])
AssertionError: Lists differ: ["Can't read symbols from syst... != []
First list contains 1 additional elements.
First extra element 0:
Can't read symbols from system-supplied DSO at 0x3fffb7f80000: File truncated
- ["Can't read symbols from system-supplied DSO at 0x3fffb7f80000: File truncated"]
+ []

Version-Release number of selected component (if applicable):
2.7.8.3

How reproducible:
always

Steps to Reproduce:
1. ppc-koji build --scratch f21 python-2.7.8-3.fc21.src.rpm
2.
3.

Actual results:
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2002288

Expected results:


Additional info:
rhbz#1125657 looks similar, but the workaround from there doesn't fix this issue with the F21 package


As this is currently blocking ~800 other packages on PPC*, I'll disable the test_gdb test on those arches for now.

Comment 1 Mark Hamzy 2014-08-21 15:02:54 UTC
<mock-chroot>[root@ppc64lehamzytest2 ~]# (cd ~/build/BUILD/Python-2.7.8/build/debug/; export LD_LIBRARY_PATH=~/build/BUILD/Python-2.7.8/build/debug; gdb ./python-debug)
...
(gdb) run -Wd -3 -E -tt ~/build/BUILD/Python-2.7.8/Lib/test/regrtest.py -l --verbose test_gdb
...
Can't read symbols from system-supplied DSO at 0x3fffb7f80000: File truncated
...
^C
Program received signal SIGINT, Interrupt.
0x00003fffb7a75edc in __poll_nocancel () from /lib64/libc.so.6
(gdb) shell ps -efl | grep debug/python
4 t root     23198 23026  0  80   0 -  2031 ptrace 09:07 ?        00:00:00 /builddir/build/BUILD/Python-2.7.8/build/debug/python-deb
4 S root     23248 23026  0  80   0 -  1700 wait   09:10 ?        00:00:00 bash -c ps -efl | grep debug/python
4 S root     23250 23248  0  80   0 -  1689 pipe_w 09:10 ?        00:00:00 grep debug/python
(gdb) shell grep 3fffb7f8 /proc/23198/maps
3fffb7f70000-3fffb7f80000 rw-p 00000000 00:00 0
3fffb7f80000-3fffb7fa0000 r-xp 00000000 00:00 0                          [vdso]
(gdb) dump memory /tmp/test.dso 0x3fffb7f80000 0x3fffb7fa0000
(gdb) shell file /tmp/test.dso
/tmp/test.dso: ELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=9c7dcc69acdc7d5d5ee258a244ec8b648f0242a5, not stripped
(gdb) shell readelf --all /tmp/test.dso
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              DYN (Shared object file)
  Machine:                           PowerPC64
  Version:                           0x1
  Entry point address:               0x0
  Start of program headers:          64 (bytes into file)
  Start of section headers:          5616 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         4
  Size of section headers:           64 (bytes)
  Number of section headers:         20
  Section header string table index: 17

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  [ 0]                   NULL             0000000000000000  00000000
       0000000000000000  0000000000000000           0     0     0
  [ 1] .hash             HASH             0000000000000120  00000120
       000000000000004c  0000000000000004   A       2     0     8
  [ 2] .dynsym           DYNSYM           0000000000000170  00000170
       0000000000000150  0000000000000018   A       3     2     8
  [ 3] .dynstr           STRTAB           00000000000002c0  000002c0
       000000000000010d  0000000000000000   A       0     0     1
  [ 4] .gnu.version      VERSYM           00000000000003ce  000003ce
       000000000000001c  0000000000000002   A       2     0     2
  [ 5] .gnu.version_d    VERDEF           00000000000003f0  000003f0
       0000000000000038  0000000000000000   A       3     2     8
  [ 6] .note             NOTE             0000000000000428  00000428
       000000000000003c  0000000000000000   A       0     0     4
  [ 7] .text             PROGBITS         0000000000000470  00000470
       0000000000000324  0000000000000000  AX       0     0     8
  [ 8] .dynamic          DYNAMIC          0000000000000798  00000798
       0000000000000100  0000000000000010  WA       3     0     8
  [ 9] .eh_frame_hdr     PROGBITS         0000000000000898  00000898
       000000000000006c  0000000000000000   A       0     0     4
  [10] .eh_frame         PROGBITS         0000000000000908  00000908
       0000000000000538  0000000000000000   A       0     0     8
  [11] .got              PROGBITS         0000000000000e40  00000e40
       0000000000000008  0000000000000008  WA       0     0     8
  [12] .debug_aranges    PROGBITS         0000000000000000  00000e50
       00000000000000f0  0000000000000000           0     0     16
  [13] .debug_info       PROGBITS         0000000000000000  00000f40
       00000000000002fc  0000000000000000           0     0     1
  [14] .debug_abbrev     PROGBITS         0000000000000000  0000123c
       0000000000000064  0000000000000000           0     0     1
  [15] .debug_line       PROGBITS         0000000000000000  000012a0
       000000000000028c  0000000000000000           0     0     1
  [16] .rela.dyn         RELA             0000000000000e40  00000e40
       0000000000000000  0000000000000018   A       2     0     8
  [17] .shstrtab         STRTAB           0000000000000000  0000152c
       00000000000000be  0000000000000000           0     0     1
  [18] .symtab           SYMTAB           0000000000000000  00001af0
       0000000000000318  0000000000000018          19    21     8
  [19] .strtab           STRTAB           0000000000000000  00001e08
       0000000000000127  0000000000000000           0     0     1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)

There are no section groups in this file.

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  LOAD           0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x0000000000000e48 0x0000000000000e48  R E    10000
  DYNAMIC        0x0000000000000798 0x0000000000000798 0x0000000000000798
                 0x0000000000000100 0x0000000000000100  R      8
  NOTE           0x0000000000000428 0x0000000000000428 0x0000000000000428
                 0x000000000000003c 0x000000000000003c  R      4
  GNU_EH_FRAME   0x0000000000000898 0x0000000000000898 0x0000000000000898
                 0x000000000000006c 0x000000000000006c  R      4

 Section to Segment mapping:
  Segment Sections...
   00     .hash .dynsym .dynstr .gnu.version .gnu.version_d .note .text .dynamic .eh_frame_hdr .eh_frame .got .rela.dyn 
   01     .dynamic 
   02     .note 
   03     .eh_frame_hdr 

Dynamic section at offset 0x798 contains 11 entries:
  Tag        Type                         Name/Value
 0x000000000000000e (SONAME)             Library soname: [linux-vdso64.so.1]
 0x0000000000000004 (HASH)               0x120
 0x0000000000000005 (STRTAB)             0x2c0
 0x0000000000000006 (SYMTAB)             0x170
 0x000000000000000a (STRSZ)              269 (bytes)
 0x000000000000000b (SYMENT)             24 (bytes)
 0x0000000070000003 (PPC64_OPT)          0x0
 0x000000006ffffffc (VERDEF)             0x3f0
 0x000000006ffffffd (VERDEFNUM)          2
 0x000000006ffffff0 (VERSYM)             0x3ce
 0x0000000000000000 (NULL)               0x0

There are no relocations in this file.

The decoding of unwind sections for machine type PowerPC64 is not currently supported.

Symbol table '.dynsym' contains 14 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 0000000000000470     0 SECTION LOCAL  DEFAULT    7 
     2: 0000000000000668     0 NOTYPE  GLOBAL DEFAULT    7 __kernel_datapage_offset@@LINUX_2.6.15
     3: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS LINUX_2.6.15
     4: 0000000000000764    48 NOTYPE  GLOBAL DEFAULT    7 __kernel_getcpu@@LINUX_2.6.15
     5: 000000000000058c    64 NOTYPE  GLOBAL DEFAULT    7 __kernel_clock_getres@@LINUX_2.6.15
     6: 00000000000006ac    24 NOTYPE  GLOBAL DEFAULT    7 __kernel_get_tbfreq@@LINUX_2.6.15
     7: 00000000000004a0    84 NOTYPE  GLOBAL DEFAULT    7 __kernel_gettimeofday@@LINUX_2.6.15
     8: 0000000000000750    20 NOTYPE  GLOBAL DEFAULT    7 __kernel_sync_dicache@@LINUX_2.6.15
     9: 0000000000000750    20 NOTYPE  GLOBAL DEFAULT    7 __kernel_sync_dicache_p5@@LINUX_2.6.15
    10: 0000000000000478    12 NOTYPE  GLOBAL DEFAULT    7 __kernel_sigtramp_rt64@@LINUX_2.6.15
    11: 00000000000005cc    44 NOTYPE  GLOBAL DEFAULT    7 __kernel_time@@LINUX_2.6.15
    12: 00000000000004f4   152 NOTYPE  GLOBAL DEFAULT    7 __kernel_clock_gettime@@LINUX_2.6.15
    13: 0000000000000680    44 NOTYPE  GLOBAL DEFAULT    7 __kernel_get_syscall_map@@LINUX_2.6.15

Symbol table '.symtab' contains 33 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 0000000000000120     0 SECTION LOCAL  DEFAULT    1 
     2: 0000000000000170     0 SECTION LOCAL  DEFAULT    2 
     3: 00000000000002c0     0 SECTION LOCAL  DEFAULT    3 
     4: 00000000000003ce     0 SECTION LOCAL  DEFAULT    4 
     5: 00000000000003f0     0 SECTION LOCAL  DEFAULT    5 
     6: 0000000000000428     0 SECTION LOCAL  DEFAULT    6 
     7: 0000000000000470     0 SECTION LOCAL  DEFAULT    7 
     8: 0000000000000798     0 SECTION LOCAL  DEFAULT    8 
     9: 0000000000000898     0 SECTION LOCAL  DEFAULT    9 
    10: 0000000000000908     0 SECTION LOCAL  DEFAULT   10 
    11: 0000000000000e40     0 SECTION LOCAL  DEFAULT   11 
    12: 0000000000000000     0 SECTION LOCAL  DEFAULT   12 
    13: 0000000000000000     0 SECTION LOCAL  DEFAULT   13 
    14: 0000000000000000     0 SECTION LOCAL  DEFAULT   14 
    15: 0000000000000000     0 SECTION LOCAL  DEFAULT   15 
    16: 0000000000000e40     0 SECTION LOCAL  DEFAULT   16 
    17: 0000000000000798     0 OBJECT  LOCAL  DEFAULT    8 _DYNAMIC
    18: 0000000000000660    32 NOTYPE  LOCAL  DEFAULT    7 __get_datapage
    19: 00000000000005f8   104 NOTYPE  LOCAL  DEFAULT    7 __do_get_tspec
    20: 0000000000000e48     0 NOTYPE  LOCAL  DEFAULT   11 _end
    21: 0000000000000668     0 NOTYPE  GLOBAL DEFAULT    7 __kernel_datapage_offset
    22: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS LINUX_2.6.15
    23: 0000000000000764    48 NOTYPE  GLOBAL DEFAULT    7 __kernel_getcpu
    24: 000000000000058c    64 NOTYPE  GLOBAL DEFAULT    7 __kernel_clock_getres
    25: 00000000000006ac    24 NOTYPE  GLOBAL DEFAULT    7 __kernel_get_tbfreq
    26: 00000000000004a0    84 NOTYPE  GLOBAL DEFAULT    7 __kernel_gettimeofday
    27: 00000000000006c4   140 NOTYPE  GLOBAL DEFAULT    7 __kernel_sync_dicache
    28: 0000000000000750    20 NOTYPE  GLOBAL DEFAULT    7 __kernel_sync_dicache_p5
    29: 0000000000000478    12 NOTYPE  GLOBAL DEFAULT    7 __kernel_sigtramp_rt64
    30: 00000000000005cc    44 NOTYPE  GLOBAL DEFAULT    7 __kernel_time
    31: 00000000000004f4   152 NOTYPE  GLOBAL DEFAULT    7 __kernel_clock_gettime
    32: 0000000000000680    44 NOTYPE  GLOBAL DEFAULT    7 __kernel_get_syscall_map

Histogram for bucket list length (total of 3 buckets):
 Length  Number     % of total  Coverage
      0  1          ( 33.3%)
      1  0          (  0.0%)      0.0%
      2  0          (  0.0%)      0.0%
      3  0          (  0.0%)      0.0%
      4  0          (  0.0%)      0.0%
      5  1          ( 33.3%)     41.7%
      6  0          (  0.0%)     41.7%
      7  1          ( 33.3%)    100.0%

Version symbols section '.gnu.version' contains 14 entries:
 Addr: 00000000000003ce  Offset: 0x0003ce  Link: 2 (.dynsym)
  000:   0 (*local*)       0 (*local*)       2 (LINUX_2.6.15)   2 (LINUX_2.6.15)
  004:   2 (LINUX_2.6.15)   2 (LINUX_2.6.15)   2 (LINUX_2.6.15)   2 (LINUX_2.6.15)
  008:   2 (LINUX_2.6.15)   2 (LINUX_2.6.15)   2 (LINUX_2.6.15)   2 (LINUX_2.6.15)
  00c:   2 (LINUX_2.6.15)   2 (LINUX_2.6.15)

Version definition section '.gnu.version_d' contains 2 entries:
  Addr: 0x00000000000003f0  Offset: 0x0003f0  Link: 3 (.dynstr)
  000000: Rev: 1  Flags: BASE   Index: 1  Cnt: 1  Name: linux-vdso64.so.1
  0x001c: Rev: 1  Flags: none  Index: 2  Cnt: 1  Name: LINUX_2.6.15

Displaying notes found at file offset 0x00000428 with length 0x0000003c:
  Owner                 Data size	Description
  GNU                  0x00000014	NT_GNU_BUILD_ID (unique build ID bitstring)
    Build ID: 9c7dcc69acdc7d5d5ee258a244ec8b648f0242a5
  Linux                0x00000004	Unknown note type: (0x00000000)

Comment 2 Dan Horák 2014-08-21 16:11:45 UTC
Created attachment 929256 [details]
strace output

output of:
LD_LIBRARY_PATH=/builddir/build/BUILD/Python-2.7.8/build/optimized strace -f -o python-test.log ./python -Wd -3 -E -tt  /builddir/build/BUILD/Python-2.7.8/Lib/test/regrtest.py -l --verbose test_gdb

Comment 3 Dan Horák 2014-08-21 16:12:15 UTC
(In reply to Dan Horák from comment #2)
> Created attachment 929256 [details]
> strace output
> 
> output of:
> LD_LIBRARY_PATH=/builddir/build/BUILD/Python-2.7.8/build/optimized strace -f
> -o python-test.log ./python -Wd -3 -E -tt 
> /builddir/build/BUILD/Python-2.7.8/Lib/test/regrtest.py -l --verbose test_gdb

the host kernel is kernel-3.16.1-300.fc21.ppc64le

Comment 4 Menanteau Guy 2014-08-22 14:51:56 UTC
For info, 
I did a try on a ppc64le VM with a gdb version: gdb-7.7.1-14.fc21
and test_gdb of python-2.7.8-4.1.fc21 build went succesfull.
I upgraded this machine with gdb-7.8-19.fc21 and I hit test_gdb 

kernel is 3.16.0-0.rc6.git1.1.fc21

Comment 5 Fedora Update System 2014-09-16 09:29:27 UTC
python3-3.4.1-15.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/python3-3.4.1-15.fc21

Comment 6 Fedora Update System 2014-09-27 10:02:52 UTC
python3-3.4.1-15.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 7 Fedora Admin XMLRPC Client 2015-05-12 12:04:02 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 8 Fedora End Of Life 2015-11-04 15:57:16 UTC
This message is a reminder that Fedora 21 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 21. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '21'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 21 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 9 Fedora End Of Life 2015-12-02 03:27:54 UTC
Fedora 21 changed to end-of-life (EOL) status on 2015-12-01. Fedora 21 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 10 Petr Viktorin 2017-08-23 19:57:07 UTC
The GDB tests are still skipped on some architectures. We will eventually want to find the root cause here.

Comment 11 Fedora End Of Life 2018-02-20 15:33:32 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 28 development cycle.
Changing version to '28'.

Comment 12 Petr Viktorin 2018-04-19 13:54:08 UTC
Marcel, could you try looking into this bug when you get some time?

Comment 13 Charalampos Stratakis 2018-04-20 13:54:44 UTC
Python 3 doesn't have this issue anymore. Changing it to python2 (will need to test if it actually reproduces there atm).

Comment 14 Charalampos Stratakis 2018-06-21 14:30:02 UTC
Closing this as we can't realistically get enough time to investigate this issue and it's a low priority one as well.

Please re-open if the bug still affects you and we'll try to raise the priority.


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