Ethereal-dev: [Ethereal-dev] Core dump at start up - Ethereal 0.10.6
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: "Nicky Song" <nicky.song@xxxxxxxxxx>
Date: Mon, 20 Sep 2004 23:11:56 +0800
Hi,
My ethereal generates core dump at start up
(windows 2000). The following information seems to indicate that the error
exists in function proto_reg_handoff_asn1 (plugins\asn1\packet-asn1.c). Please
correct me if I am wrong...
The stack trace:
---------------------------------------------------------
NTDLL! 77f813b1()
NTDLL! 77fb6972()
NTDLL! 77fb57a2()
NTDLL! 77fac49a()
ASN1! 024be497()
ASN1! 024bb2cd()
ASN1! 024bc22d()
register_all_plugin_handoffs() line 416 + 6 bytes
proto_init(const char * 0x00000000, void (void)* 0x00477d20 register_all_protocols, void (void)* 0x00477d26 register_all_protocol_handoffs) line 270
epan_init(const char * 0x00000000, void (void)* 0x00477d20 register_all_protocols, void (void)* 0x00477d26 register_all_protocol_handoffs, void (const char *, char *)* 0x00406990 failure_alert_box(const char *, char *), void (const char *, int, int)* 0x004069a9 open_failure_alert_box(const char *, int, int), void (const char *, int)* ...) line 64 + 17 bytes
main(int 0x00000001, char * * 0x01334d20) line 1633 + 32 bytes
WinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x001353d0, int 0x00000001) line 2588 + 23 bytes
ETHEREAL! WinMainCRTStartup + 308 bytes
KERNEL32! 7c581af6()
NTDLL! 77fb6972()
NTDLL! 77fb57a2()
NTDLL! 77fac49a()
ASN1! 024be497()
ASN1! 024bb2cd()
ASN1! 024bc22d()
register_all_plugin_handoffs() line 416 + 6 bytes
proto_init(const char * 0x00000000, void (void)* 0x00477d20 register_all_protocols, void (void)* 0x00477d26 register_all_protocol_handoffs) line 270
epan_init(const char * 0x00000000, void (void)* 0x00477d20 register_all_protocols, void (void)* 0x00477d26 register_all_protocol_handoffs, void (const char *, char *)* 0x00406990 failure_alert_box(const char *, char *), void (const char *, int, int)* 0x004069a9 open_failure_alert_box(const char *, int, int), void (const char *, int)* ...) line 64 + 17 bytes
main(int 0x00000001, char * * 0x01334d20) line 1633 + 32 bytes
WinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x001353d0, int 0x00000001) line 2588 + 23 bytes
ETHEREAL! WinMainCRTStartup + 308 bytes
KERNEL32! 7c581af6()
---------------------------------------------------------
It seems that the function upon
"register_all_plugin_handoffs()" (namely, ASN1!024bc22d) should be
plugin_reg_handoff. If so, then "ASN1!024bc2cd" should be
"proto_reg_handoff_asn1". So double-click "ASN1!024bc2cd":
024BB268
mov eax,dword ptr
[edx]
024BB26A push eax
024BB26B push 24C98CCh // The memory content for 24C98CCh is "sctp.port", so this should be the code at line 5090?
024BB270 call dword ptr ds:[24D10ECh]
024BB276 add esp,0Ch
024BB279 cmp dword ptr [ebp-4],0
024BB27D je 024BB28A
024BB27F mov ecx,dword ptr [ebp-4]
024BB282 mov edx,dword ptr [ecx+4]
024BB285 mov dword ptr [ebp-14h],edx
024BB288 jmp 024BB291
024BB28A mov dword ptr [ebp-14h],0
024BB291 mov eax,dword ptr [ebp-14h]
024BB294 mov dword ptr [ebp-4],eax
024BB297 jmp 024BB258
024BB299 mov ecx,dword ptr ds:[24CCA10h]
024BB29F push ecx
024BB2A0 call 024BD316
024BB2A5 add esp,4
024BB2A8 mov edx,dword ptr ds:[24CC9FCh]
024BB2AE push edx
024BB2AF call 024BD6C0
024BB2B4 add esp,4
024BB2B7 add eax,20h // Seems to be the code at line 5106?
024BB2BA mov dword ptr [ebp-8],eax
024BB2BD mov eax,dword ptr [ebp-8]
024BB2C0 push eax
024BB2C1 mov ecx,dword ptr ds:[24CC9FCh]
024BB2C7 push ecx
024BB2C8 call 024BE216 //Here, core dump
024BB2CD add esp,8
024BB2D0 mov [024CC9FC],eax
024BB2D5 mov edx,dword ptr [ebp-8]
024BB2D8 push edx
024BB2D9 mov eax,[024CC9FC]
024BB2DE push eax
024BB2DF call 024BA92B
024BB26A push eax
024BB26B push 24C98CCh // The memory content for 24C98CCh is "sctp.port", so this should be the code at line 5090?
024BB270 call dword ptr ds:[24D10ECh]
024BB276 add esp,0Ch
024BB279 cmp dword ptr [ebp-4],0
024BB27D je 024BB28A
024BB27F mov ecx,dword ptr [ebp-4]
024BB282 mov edx,dword ptr [ecx+4]
024BB285 mov dword ptr [ebp-14h],edx
024BB288 jmp 024BB291
024BB28A mov dword ptr [ebp-14h],0
024BB291 mov eax,dword ptr [ebp-14h]
024BB294 mov dword ptr [ebp-4],eax
024BB297 jmp 024BB258
024BB299 mov ecx,dword ptr ds:[24CCA10h]
024BB29F push ecx
024BB2A0 call 024BD316
024BB2A5 add esp,4
024BB2A8 mov edx,dword ptr ds:[24CC9FCh]
024BB2AE push edx
024BB2AF call 024BD6C0
024BB2B4 add esp,4
024BB2B7 add eax,20h // Seems to be the code at line 5106?
024BB2BA mov dword ptr [ebp-8],eax
024BB2BD mov eax,dword ptr [ebp-8]
024BB2C0 push eax
024BB2C1 mov ecx,dword ptr ds:[24CC9FCh]
024BB2C7 push ecx
024BB2C8 call 024BE216 //Here, core dump
024BB2CD add esp,8
024BB2D0 mov [024CC9FC],eax
024BB2D5 mov edx,dword ptr [ebp-8]
024BB2D8 push edx
024BB2D9 mov eax,[024CC9FC]
024BB2DE push eax
024BB2DF call 024BA92B
Therefore the core dump happens at line
5107:
global_tcp_ports_asn1 =
realloc(global_tcp_ports_asn1, len);
I traced to the stack for function
proto_reg_handoff_asn1, and it appears like the following:
0012FAE8: 0012FB18 024BB2CD
01DFA2C8 00000023
0012FAF8: 00000004 01E0C908 02278450 0012FB18
0012FB08: 0248111F 0248E9E8 00000023 02278428
0012FB18: 0012FB20 024BC22D 0012FB2C 004EB814
0012FAF8: 00000004 01E0C908 02278450 0012FB18
0012FB08: 0248111F 0248E9E8 00000023 02278428
0012FB18: 0012FB20 024BC22D 0012FB2C 004EB814
The data confuses me because I don't know why
function proto_reg_handoff_asn1 contains 0x20 bytes of stack space. I also can't
tell what causes realloc to generate core dump.
- References:
- [Ethereal-dev] Help with a scoping problem
- From: Palmer Thomas J Civ HQ SSG/ENEP
- Re: [Ethereal-dev] Help with a scoping problem
- From: Ulf Lamping
- [Ethereal-dev] Help with a scoping problem
- Prev by Date: Re: [Ethereal-dev] Retransmissions
- Next by Date: [Ethereal-dev] Patch to packet-isakmp.c
- Previous by thread: Re: [Ethereal-dev] Help with a scoping problem
- Next by thread: RE: [Ethereal-dev] Help with a scoping problem
- Index(es):
- Get Wireshark
- Download
- Code of Conduct