Honestly, you are not making this easy...

Could you just do "p *ent" and "p *code" from this frame in gdb?

With -O0 you should hopefully see something like:

(gdb) p *ent
$1 = {code = TTYC_BEL, type = TTYCODE_STRING, name = 0x3c00cf68 "bel"}
(gdb) p *code
$2 = {type = TTYCODE_STRING, value = {string = 0x827955a0 "\a", ...




On Mon, Dec 02, 2013 at 06:25:26PM -0500, Eitan Adler wrote:
> On Mon, Dec 2, 2013 at 4:57 PM, Nicholas Marriott
> <nicholas.marri...@gmail.com> wrote:
> > yeah give that a try if you can
> 
> gdb$ p/x ent
> $1 = 0x478030
> gdb$ p/x *ent
> $2 = {
>   code = 0x1,
>   type = 0x1,
>   name = 0x4789f0
> }
> 
> (lldb) thread backtrace
> * thread #1: tid = 0, 0x000000080104a01b
> libc.so.7`strlen(str=0x0000000000000050) + 11 at strlen.c:100, name =
> 'tmux', stop reason = signal SIGSEGV
>   * frame #0: 0x000000080104a01b
> libc.so.7`strlen(str=0x0000000000000050) + 11 at strlen.c:100
>     frame #1: 0x0000000800fec57f
> libc.so.7`istrsenvisx(mbdst=0x00007fffffffa970,
> dlen=0x00007fffffffa898, mbsrc=0x0000000000000050,
> mblength=<unavailable>, flags=25, mbextra=0x0000000801058c0d,
> cerr_ptr=<unavailable>) + 79 at vis.c:379
>     frame #2: 0x0000000800fecc5b
> libc.so.7`strnvis(mbdst=<unavailable>, dlen=34385273408,
> mbsrc=<unavailable>, flags=<unavailable>) + 43 at vis.c:655
>     frame #3: 0x00000000004151de
> tmux`cmd_server_info_exec(self=0x00000008018814c0,
> cmdq=0x000000080187f160) + 1998 at cmd-server-info.c:148
>     frame #4: 0x0000000000411659
> tmux`cmdq_continue(cmdq=0x000000080187f160) + 441 at cmd-queue.c:229
>     frame #5: 0x0000000000411404
> tmux`cmdq_run(cmdq=0x000000080187f160, cmdlist=0x00000008018cfd80) +
> 68 at cmd-queue.c:180
>     frame #6: 0x0000000000440ba1
> tmux`server_client_msg_command(c=0x00000008018fd000,
> data=0x00007fffffffc158) + 321 at server-client.c:936
>     frame #7: 0x000000000043ee17
> tmux`server_client_msg_dispatch(c=0x00000008018fd000) + 439 at
> server-client.c:821
>     frame #8: 0x000000000043ec0f tmux`server_client_callback(fd=9,
> events=2, data=0x00000008018fd000) + 223 at server-client.c:230
>     frame #9: 0x0000000800d03b21 libevent-1.4.so.4`event_base_loop + 1553
>     frame #10: 0x0000000000444625 tmux`server_loop + 53 at server.c:207
>     frame #11: 0x00000000004442c5 tmux`server_start(lockfd=5,
> lockfile=0x0000000801812800) + 2405 at server.c:198
>     frame #12: 0x0000000000405886
> tmux`client_connect(path=0x0000000000699080, start_server=1) + 534 at
> client.c:124
>     frame #13: 0x0000000000405c3d tmux`client_main(argc=0,
> argv=0x00007fffffffd700, flags=1) + 605 at client.c:221
>     frame #14: 0x0000000000450d25 tmux`main(argc=0,
> argv=0x00007fffffffd700) + 2421 at tmux.c:406
>     frame #15: 0x0000000000403c8f tmux`_start(ap=<unavailable>,
> cleanup=<unavailable>) + 335 at crt1.c:78
> 
> (lldb) frame select 3
> frame #3: 0x00000000004151de
> tmux`cmd_server_info_exec(self=0x00000008018814c0,
> cmdq=0x000000080187f160) + 1998 at cmd-server-info.c:148
>    145                                      ent->code, ent->name);
>    146                                  break;
>    147                          case TTYCODE_STRING:
> -> 148                                  strnvis(out,
> code->value.string, sizeof out,
>    149                                      VIS_OCTAL|VIS_TAB|VIS_NL);
>    150                                  cmdq_print(cmdq, "%2u: %s: (string) 
> %s",
>    151                                      ent->code, ent->name, out);
> (lldb) frame variable
> (cmd *) self = 0x00000008018814c0
> (cmd_q *) cmdq = 0x000000080187f160
> (tty_term *) term = 0x00000008018aec00
> (client *) c = 0x00000008018fd000
> (session *) s = 0x0000000000000000
> (winlink *) wl = 0x0000000000000000
> (window *) w = 0x0000000801809b00
> (window_pane *) wp = 0x0000000000000000
> (tty_code *) code = 0x00000008018aee20
> (const tty_term_code_entry *) ent = 0x0000000000478030
> (utsname) un = (sysname = "FreeBSD", nodename = "gravity.local",
> release = "11.0-CURRENT", version = "FreeBSD 11.0-CURRENT #0 r258140M:
> Thu Nov 14 17:04:27 EST 2013
> eitan@gravity.local:/usr/obj/usr/src/sys/EADLER", machine = "amd64")
> (job *) job = 0x000000080180d710
> (grid *) gd = 0x00000008018cfd00
> (grid_line *) gl = 0x00000008018edff0
> (u_int) i = 0
> (u_int) j = 1
> (u_int) k = 64
> (u_int) lines = 13
> (size_t) size = 10192
> (char [80]) out = "\x10\e+\x01\b"
> (char *) tim = 0x00000008012aef40 "Mon Dec  2 18:20:26 2013"
> (time_t) t = 1386026426
> 
> 
> 
> -- 
> Eitan Adler

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to