Ethereal-dev: Re: [Ethereal-dev] help: new dissector debugging questions

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Wei Li (Michael)" <mich@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 19 Apr 2004 17:38:14 -0500
I tried other protocol with the corresponding dump file. There is the same problem of turning (proto_tree * tree) into NULL in Tethereal debugging. Now that I think it's because Tethereal is non-GUI program. But still I cannot figure out the second problem: (pinfo->cinfo) turns into NULL after calling asn1_open( ). This doesn't affect the dissection, but at the end of the packet dissection, there comes a segmentation fault as follows:
 
0x401645b6 in check_col (cinfo=0xe, el=31) at column-utils.c:107
107       if (cinfo && cinfo->writable) {
#0  0x401645b6 in check_col (cinfo=0xe, el=31) at column-utils.c:107
#1  0x401f04e7 in dissect_csta_pdu (tvb=0x8185cb4, pinfo=0x8185b38, tree=0x0)
    at ../packet-csta.c:7525
#2  0x401687cf in call_dissector_through_handle (handle=0x8088ca0,
    tvb=0x8185cb4, pinfo=0x8185b38, tree=0x0) at packet.c:363
#3  0x40168ae5 in call_dissector_work (handle=0x8088ca0, tvb=0x8185cb4,
    pinfo=0x8185b38, tree=0x0) at packet.c:513
#4  0x40168e98 in dissector_try_port (sub_dissectors=0x80fd7c8, port=2555,
    tvb=0x8185cb4, pinfo=0x8185b38, tree=0x0) at packet.c:776
#5  0x403ec46a in decode_tcp_ports (tvb=0x8185c80, offset=20, pinfo=0x8185b38,
    tree=0x0, src_port=2555, dst_port=1028) at ../packet-tcp.c:2359
#6  0x403ec5b8 in process_tcp_payload (tvb=0x8185c80, offset=20,
    pinfo=0x8185b38, tree=0x0, tcp_tree=0x0, src_port=2555, dst_port=1028,
    seq=0, nxtseq=14, is_tcp_segment=1) at ../packet-tcp.c:2401
#7  0x403ec72e in dissect_tcp_payload (tvb=0x8185c80, pinfo=0x8185b38,
    offset=20, seq=0, nxtseq=14, sport=2555, dport=1028, tree=0x0,
    tcp_tree=0x0) at ../packet-tcp.c:2481
#8  0x403ed787 in dissect_tcp (tvb=0x8185c80, pinfo=0x8185b38, tree=0x0)
    at ../packet-tcp.c:2871
#9  0x401687cf in call_dissector_through_handle (handle=0x813ea88,
    tvb=0x8185c80, pinfo=0x8185b38, tree=0x0) at packet.c:363
#10 0x40168ae5 in call_dissector_work (handle=0x813ea88, tvb=0x8185c80,
    pinfo=0x8185b38, tree=0x0) at packet.c:513
#11 0x40168e98 in dissector_try_port (sub_dissectors=0x80a33a0, port=6,
    tvb=0x8185c80, pinfo=0x8185b38, tree=0x0) at packet.c:776
#12 0x402c8457 in dissect_ip (tvb=0x8185c4c, pinfo=0x8185b38, tree=0x0)
    at ../packet-ip.c:1096
#13 0x401687cf in call_dissector_through_handle (handle=0x80a34c0,
    tvb=0x8185c4c, pinfo=0x8185b38, tree=0x0) at packet.c:363
#14 0x40168ae5 in call_dissector_work (handle=0x80a34c0, tvb=0x8185c4c,
    pinfo=0x8185b38, tree=0x0) at packet.c:513
#15 0x40168e98 in dissector_try_port (sub_dissectors=0x8098a98, port=2048,
    tvb=0x8185c4c, pinfo=0x8185b38, tree=0x0) at packet.c:776
#16 0x4024a923 in ethertype (etype=2048, tvb=0x8185c18, offset_after_etype=14,
    pinfo=0x8185b38, tree=0x0, fh_tree=0x0, etype_id=3291, trailer_id=3293,
    fcs_len=-1) at ../packet-ethertype.c:176
#17 0x4024a2e0 in dissect_eth_common (tvb=0x8185c18, pinfo=0x8185b38,
    tree=0x0, fcs_len=-1) at ../packet-eth.c:292
#18 0x4024a42a in dissect_eth_maybefcs (tvb=0x8185c18, pinfo=0x8185b38,
    tree=0x0) at ../packet-eth.c:387
#19 0x401687cf in call_dissector_through_handle (handle=0x8134a98,
    tvb=0x8185c18, pinfo=0x8185b38, tree=0x0) at packet.c:363
#20 0x40168ae5 in call_dissector_work (handle=0x8134a98, tvb=0x8185c18,
    pinfo=0x8185b38, tree=0x0) at packet.c:513
#21 0x40168e98 in dissector_try_port (sub_dissectors=0x80989c8, port=1,
...........
 
Please help me out! I appreciate it very much.
Michael