This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports 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]

Re: [PATCH] powerpc: 405/440/464/476 support and optimizations


On Tue, Jan 24, 2012 at 11:43 AM, acrux <acrux_it@libero.it> wrote:
> On Tue, 24 Jan 2012 11:19:54 -0600
> "Ryan S. Arnold" <ryan.arnold@gmail.com> wrote:
>
>> On Tue, Jan 24, 2012 at 10:48 AM, acrux <acrux_it@libero.it> wrote:
>> > Program received signal SIGINT, Interrupt.
>> > 0x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work/src/build32/libc.so.6
>> > (gdb) bt
>> > #0 Â0x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work/src/build32/libc.so.6
>> > #1 Â0x0febb2e4 in __new_exitfn () from /home/999/new/work/src/build32/libc.so.6
>> > #2 Â0x0febb338 in __internal_atexit () from /home/999/new/work/src/build32/libc.so.6
>> > #3 Â0x0fea174c in generic_start_main.clone.0 () from /home/999/new/work/src/build32/libc.so.6
>> > #4 Â0x0fea1970 in __libc_start_main () from /home/999/new/work/src/build32/libc.so.6
>> > #5 Â0x00000000 in ?? ()
>>
>> Wow, that is not what I expected at all...
>>
>> I can't imagine that there are other threads at this point but ....
>> (gdb) info threads
>>
>> And if there are, please dump the thread backtrace.
>>
>
>
> root@sam4x0:/home/999/ryan# CPP='gcc -m32 -E -x -c-header' /usr/bin/gdb -x rpcgen.gdb /home/999/new/work/src/build32/elf/ld.so.1
> GNU gdb (GDB) 7.3.1
> Copyright (C) 2011 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. ÂType "show copying"
> and "show warranty" for details.
> This GDB was configured as "powerpc-unknown-linux-gnu".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from /home/999/new/work/src/build32/elf/ld.so.1...(no debugging symbols found)...done.
> Breakpoint 1 at 0x163c0
>
> Breakpoint 1, 0x206f73c0 in _dl_main_dispatch () from /home/999/new/work/src/build32/elf/ld.so.1
> (gdb) info threads
> ÂId  Target Id     Frame
> * 1 Â Âprocess 2609 "ld.so.1" 0x206f73c0 in _dl_main_dispatch () from /home/999/new/work/src/build32/elf/ld.so.1
> (gdb) bt
> #0 Â0x206f73c0 in _dl_main_dispatch () from /home/999/new/work/src/build32/elf/ld.so.1
> #1 Â0x00000000 in ?? ()
> (gdb) continue
> Continuing.
> ^C
> Program received signal SIGINT, Interrupt.
> 0x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work/src/build32/libc.so.6
> (gdb) bt
> #0 Â0x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work/src/build32/libc.so.6
> #1 Â0x0febb2e4 in __new_exitfn () from /home/999/new/work/src/build32/libc.so.6
> #2 Â0x0febb338 in __internal_atexit () from /home/999/new/work/src/build32/libc.so.6
> #3 Â0x0fea174c in generic_start_main.clone.0 () from /home/999/new/work/src/build32/libc.so.6
> #4 Â0x0fea1970 in __libc_start_main () from /home/999/new/work/src/build32/libc.so.6
> #5 Â0x00000000 in ?? ()
> (gdb) info threads
> ÂId  Target Id     Frame
> * 1 Â Âprocess 2609 "ld.so.1" 0x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work/src/build32/libc.so.6
> (gdb) thread apply all bt full

I wonder if one of the string routine calls in the loader overwrote
its bounds and ended up writing over that lock, hence why the wait is
hanging.

Can you do an (gdb) info frame and try to figure out what the value of
the futex is when it's blocking?

Ryan

Ryan


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