bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ncurses 20170401 (+) SEGV gdb 7.12.1 in TUI mode on MinGW-w64


From: Johann Klammer
Subject: Re: ncurses 20170401 (+) SEGV gdb 7.12.1 in TUI mode on MinGW-w64
Date: Mon, 12 Jun 2017 11:40:11 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Icedove/24.5.0

On 06/12/2017 04:11 AM, Allen Hewes wrote:
> Hi,
> 
> The ncurses 20170401 (onwards) release/snapshot causes SEGV in GDB 7.12.1 in 
> TUI mode on MinGW-w64. I build my own MinGW-w64 toolchains. When I upgrade 
> from 20170325, I get SEGVs from GDB in TUI mode:
> 
> gdb --args gdbt --tui
> GNU gdb (GDB) 7.12.1
> Copyright (C) 2017 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later 
> <http://gnu.org/licenses/gpl.html><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 "x86_64-w64-mingw32".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/><http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/><http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from gdbt...done.
> (gdb) thread apply all bt full
> (gdb) run
> Starting program: C:\mingw64\bin\gdbt.exe --tui
> [New Thread 48316.0xb16c]
> [New Thread 48316.0x9cf8]
> [New Thread 48316.0xcc68]
> [New Thread 48316.0xd24c]
> 
> Thread 1 received signal SIGSEGV, Segmentation fault.
> 0x00007ffcd179cdb8 in strncpy () from C:\WINDOWS\System32\msvcrt.dll
> (gdb) bt full
> #0  0x00007ffcd179cdb8 in strncpy () from C:\WINDOWS\System32\msvcrt.dll
> No symbol table info available.
> #1  0x0000000000742037 in set_curterm_sp (address@hidden, address@hidden)
>     at ../../../../src/ncurses-6.0-20170401/ncurses/tinfo/lib_cur_term.c:110
>         TCB = 0x169e7610
>         oldterm = 0x0
> #2  0x00000000007436fe in _nc_setupterm_ex (address@hidden, tname=<optimized 
> out>, address@hidden, Filedes=1,
>     address@hidden, address@hidden) at 
> ../../../../src/ncurses-6.0-20170401/ncurses/tinfo/lib_setup.c:777
>         TCB = 0x169e7610
>         termp = 0x169e7610
>         code = 0
> #3  0x0000000000739ad1 in newterm_sp (sp=<optimized out>, address@hidden, 
> address@hidden <msvcrt!_iob+48>,
>     address@hidden <msvcrt!_iob>) at 
> ../../../../src/ncurses-6.0-20170401/ncurses/base/lib_newterm.c:200
>         errret = 0
>         result = 0x0
>         current = 0x0
>         its_term = 0x0
>         _ofp = 0x7ffcd17cf030 <msvcrt!_iob+48>
>         _ifp = 0x7ffcd17cf000 <msvcrt!_iob>
>         new_term = 0x169e7610
> #4  0x0000000000739eb3 in newterm (address@hidden, ofp=0x7ffcd17cf030 
> <msvcrt!_iob+48>,
>     address@hidden <msvcrt!_iob>) at 
> ../../../../src/ncurses-6.0-20170401/ncurses/base/lib_newterm.c:352
> No locals.
> #5  0x0000000000476229 in tui_enable () at 
> ../../../../src/gdb-7.12.1/gdb/tui/tui.c:425
>         w = <optimized out>
>         s = <optimized out>
>         interp = <optimized out>
> #6  0x000000000046e8e3 in tui_resume (data=<optimized out>) at 
> ../../../../src/gdb-7.12.1/gdb/tui/tui-interp.c:283
>         ui = 0x12722810
>         stream = 0x12722980
> #7  0x000000000054595a in interp_set (interp=0x1698a000, address@hidden)
>     at ../../../../src/gdb-7.12.1/gdb/interps.c:253
>         ui_interp = <optimized out>
>         old_interp = 0x0
>         first_time = 1
>         buffer = 
> "\005\000\000\000\000\000\000\000\020-r\022\000\000\000\000\000 
> \230\026\000\000\000\000\177UT", '\000' <repeats 14 times>, 
> "d|Ñü\177\000\000\002\000\000\000\000\000\201\001\000\000\000\000\000\000"
>         __PRETTY_FUNCTION__ = "int interp_set(interp*, int)"
> #8  0x0000000000545b0b in set_top_level_interpreter (name=0x12722d10 "tui") 
> at ../../../../src/gdb-7.12.1/gdb/interps.c:333
>         interp = <optimized out>
> #9  0x0000000000546df0 in captured_main (address@hidden) at 
> ../../../../src/gdb-7.12.1/gdb/main.c:968
>         context = 0x1270fe20
>         argc = <optimized out>
>         argv = <optimized out>
>         quiet = 0
>         set_args = 0
>         inhibit_home_gdbinit = 0
>         symarg = 0x0
>         execarg = 0x0
>         pidarg = 0x0
>         corearg = 0x0
>         pid_or_core_arg = 0x0
>         cdarg = 0x0
>         ttyarg = 0x0
>         print_help = 0
>         print_version = 0
>         print_configuration = 0
>         cmdarg_vec = 0x0
>         cmdarg_p = <optimized out>
>         dirarg = 0x14e34ee0
>         dirsize = <optimized out>
>         ndir = 0
>         system_gdbinit = 0x1690b070 "c:\\mingw64\\bin\\../etc/gdbinit"
>         home_gdbinit = 0x0
>         local_gdbinit = 0x0
>         i = <optimized out>
>         save_auto_load = 350439216
>         objfile = <optimized out>
>         pre_stat_chain = 0x981660 <sentinel_cleanup>
> #10 0x00000000005473b7 in gdb_main (address@hidden) at 
> ../../../../src/gdb-7.12.1/gdb/main.c:1159
> No locals.
> #11 0x00000000004015e8 in main (argc=2, argv=0x14e34730) at 
> ../../../../src/gdb-7.12.1/gdb/gdb.c:32
>         args = {argc = 2, argv = 0x14e34730, interpreter_p = 0x92c030 
> "console"}
> 
> Using the ncurses 20170325 release GDB 7.12.1 TUI mode works fine.
> 
> Toolchain I build ncurses with:
> mingw-w64 v5 (v5 branch)
> binutils 2.28
> gcc 6.3.1 (gcc-6-branch)
> libsystre 1.0.1
> 
> I don't where / how to do more troubleshooting. Any ideas would be great.
> 

(gdb) frame 1
list (or look at the line 110 in a text editor)
look how the strncpy is called
print the arguments
so if it's strncpy(a,b,c)
enter 
(gdb) p a
(gdb) p b
(gdb) p c

Look for NULL values in pointer variables (here a and b)
or a missing string terminator.

see where it comes from.
ahead of the faulting line or
if necessary searching up the call chain.

(gdb) frame 2
(gdb) frame 3

etc...

> Thanks,
> 
> /allen
> 
> 
> --
> Sent from 
> Postbox<https://www.postbox-inc.com/?utm_source=email&utm_medium=siglink&utm_campaign=reach>
> 
> 
> 
> _______________________________________________
> Bug-ncurses mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/bug-ncurses
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]