[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-devel] lwip_unittests crash
From: |
Gisle Vanem |
Subject: |
Re: [lwip-devel] lwip_unittests crash |
Date: |
Tue, 25 Aug 2015 15:59:03 +0200 |
User-agent: |
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 SeaMonkey/2.33.1 |
Erik Ekman wrote:
The debug messages above look strange, I didnt think there were any
loopback or igmp in the tests. How do you compile the unit tests?
By a home-brew GNU-makefile. And igmp_init() is called
from lwip_init() in test\unit\lwip_unittests.c.
Are we speaking of the same tests?
Do you include any file you made yourself? The tests are meant to run
by themselves, and they will init any netifs they need.
No, I've not included any private .c-files to the test. Only files
from git. You mean call netif_add()? There are 2 'netif structures'
under test\unit with a total of 5 calls to netif_add():
test\unit\dhcp\test_dhcp.c:
netif_add(&net_test, &addr, &netmask, &gw, &net_test, testif_init,
ethernet_input);
netif_add(&net_test, &addr, &netmask, &gw, &net_test, testif_init,
ethernet_input);
netif_add(&net_test, &addr, &netmask, &gw, &net_test, testif_init,
ethernet_input);
netif_add(&net_test, &addr, &netmask, &gw, &net_test, testif_init,
ethernet_input);
test\unit\etharp\test_etharp.c:
netif_set_default(netif_add(&test_netif, &test_ipaddr, &test_netmask, ...
Can you get a backtrace from the crash? Exactly which test case is it?
Seems to crash during 'Running suite(s): UDP'.
The call-stack from WinDbg:
lwip_unittests!ip4_route(struct ip4_addr * dest = 0x00a61a44)+0x30
lwip_unittests!ip4_output(struct pbuf * p = 0x00a42c60, struct ip4_addr * src = 0x00a61a40, struct ip4_addr * dest =
0x00a61a44, unsigned char ttl = 0xff '', unsigned char tos = 0x00 '', unsigned char proto = 0x06 '')+0x41
lwip_unittests!tcp_rst(unsigned long seqno = 0x196e, unsigned long ackno = 4, struct ip4_addr * local_ip = 0x00a61a40,
struct ip4_addr * remote_ip = 0x00a61a44, unsigned short local_port = 0x101, unsigned short remote_port = 0x100)+0xd6
lwip_unittests!tcp_abandon(struct tcp_pcb * pcb = <Value unavailable error>,
int reset = 0n1)+0x13b
lwip_unittests!tcp_abort(struct tcp_pcb * pcb = 0x00a61a40)+0xb
lwip_unittests!tcp_remove+0x19
lwip_unittests!tcp_remove_all(void)+0x39
lwip_unittests!tcp_teardown(void)+0x5
lwip_unittests!srunner_run_teardown(struct List * fixture_list = 0x00a58ec8,
fork_status fork_usage = CK_NOFORK (0n2))+0x56
lwip_unittests!tcase_run_checked_teardown+0xd
lwip_unittests!tcase_run_tfun_nofork(struct SRunner * sr = 0x00a586a0, struct TCase * tc = 0x00a57f80, struct TF * tfun
= 0x00a58f08, int i = 0n0)+0xb1
lwip_unittests!srunner_iterate_tcase_tfuns(struct SRunner * sr = 0x00a586a0,
struct TCase * tc = 0x00a57f80)+0xdf
lwip_unittests!srunner_run_tcase+0xd2
lwip_unittests!srunner_iterate_suites(struct SRunner * sr = 0x00a58f08, char * sname = 0x00000000 "", char * tcname =
0x00000000 "", print_output print_mode = CK_NORMAL (0n2))+0x1c2
lwip_unittests!srunner_run+0x6c
lwip_unittests!srunner_run_all(struct SRunner * sr = 0x00a586a0, print_output
print_mode = CK_NORMAL (0n2))+0x6f
lwip_unittests!main(void)+0xbb
But if it's UDP test-suite, why is tcp_abort() called?
--
--gv
- [lwip-devel] lwip_unittests crash, Gisle Vanem, 2015/08/25
- Re: [lwip-devel] lwip_unittests crash, Erik Ekman, 2015/08/25
- Re: [lwip-devel] lwip_unittests crash,
Gisle Vanem <=
- Re: [lwip-devel] lwip_unittests crash, Erik Ekman, 2015/08/25
- Re: [lwip-devel] lwip_unittests crash, Gisle Vanem, 2015/08/25
- Re: [lwip-devel] lwip_unittests crash, Erik Ekman, 2015/08/25
- Re: [lwip-devel] lwip_unittests crash, Gisle Vanem, 2015/08/25
- Re: [lwip-devel] lwip_unittests crash, address@hidden, 2015/08/25
- Re: [lwip-devel] lwip_unittests crash, Gisle Vanem, 2015/08/26
- Re: [lwip-devel] lwip_unittests crash, address@hidden, 2015/08/26
- Re: [lwip-devel] lwip_unittests crash, Erik Ekman, 2015/08/26
Re: [lwip-devel] lwip_unittests crash, Erik Ekman, 2015/08/25