From dc03cf4eb4d2cb515d79d26f7b4cdef174ffa677 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Wed, 2 Mar 2016 09:48:04 -0500 Subject: Remove spurious call to unix_physmem_init(...) It turns out that unix_physmem_init(...) has been effectively disabled for a very long time. The vnet library supplied a weak symbol override for the vlib_app_physmem_init(...) which returned 1, meaning "do nothing." When we switched libvnet.a -> libvnet.so, the symbol override stopped working. Presto: unix_physmem_init(...) romps all over the data set up by vlib_buffer_pool_create(...), leading to ASSERT failures and/or bus errors, but only when using worker threads. Even then, the failure depended in some complicated way on library dynamic load order. We should remove .../vlib/vlib/unix/physmem.c entirely once we're sure we'll never want it back. Change-Id: I27747edbeb0de88d2f2d8728f7f8eb3135e7f0cf Signed-off-by: Dave Barach --- vlib/vlib/threads.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'vlib') diff --git a/vlib/vlib/threads.c b/vlib/vlib/threads.c index 1f3c141b..15eb9599 100644 --- a/vlib/vlib/threads.c +++ b/vlib/vlib/threads.c @@ -674,8 +674,6 @@ static clib_error_t * start_workers (vlib_main_t * vm) clib_mem_set_heap (oldheap); vec_add1 (vlib_mains, vm_clone); - unix_physmem_init (vm_clone, 0 /* physmem not required */); - vm_clone->error_main.counters = vec_dup(vlib_mains[0]->error_main.counters); vm_clone->error_main.counters_last_clear = -- cgit 1.2.3-korg