Skip to contentSkip to conversation

crash after updating iw and libnl to latest.

DISCUSSION Ben Greear 1 participant 2 messages Nov 16, 2011

lore
Share & tools
lore

Ben Greear

author
#0 lore raw

I updated everything yesterday, and now iw crashes every time. The biggest change was that I updated libnl to the latest....

I'll start digging, but will not be offended if someone finds it first!

[root@lec2010-ath9k-1 lanforge]# ldd ./local/sbin/iw

	linux-gate.so.1 =>  (0xb78bb000)
	libnl-genl.so.3 => /home/lanforge/local/lib/libnl-genl.so.3 (0xb78b6000)
	libnl-genl-3.so.200 => /home/lanforge/local/lib/libnl-genl-3.so.200 (0xb78b2000)
	libnl-3.so.200 => /home/lanforge/local/lib/libnl-3.so.200 (0xb789f000)
	libc.so.6 => /lib/libc.so.6 (0x42b28000)
	libnl.so.3 => /home/lanforge/local/lib/libnl.so.3 (0xb7878000)
	libm.so.6 => /lib/libm.so.6 (0x42cfa000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x42cb4000)
	/lib/ld-linux.so.2 (0x42b07000)

[root@lec2010-ath9k-1 lanforge]# ./local/sbin/iw phy nl80211 not found.
Segmentation fault

Core was generated by `./local/sbin/iw phy'.
Program terminated with signal 11, Segmentation fault. #0 nl_list_del (ops=0xb780d2c0) at ../include/netlink/list.h:51
51 ../include/netlink/list.h: No such file or directory.
in ../include/netlink/list.h
(gdb) bt

#0  nl_list_del (ops=0xb780d2c0) at ../include/netlink/list.h:51
#1  genl_unregister (ops=0xb780d2c0) at genl/mngt.c:212
#2  0xb780b440 in ctrl_exit () at genl/ctrl.c:377
#3  0xb780b3b8 in __do_global_dtors_aux () from /home/lanforge/local/lib/libnl-genl-3.so.200
#4  0xb780cb50 in _fini () from /home/lanforge/local/lib/libnl-genl-3.so.200
#5  0x42b15f2d in _dl_fini () at dl-fini.c:249
#6  0x42b56cdf in __run_exit_handlers (status=1) at exit.c:78
#7  exit (status=1) at exit.c:100
#8  0x42b3ee3e in __libc_start_main (main=0x8049c60 <main>, argc=2, ubp_av=0xbfe93c74, init=0x80553b0 <__libc_csu_init>,
    fini=0x80553a0 <__libc_csu_fini>, rtld_fini=0x42b15d50 <_dl_fini>, stack_end=0xbfe93c6c) at libc-start.c:258

#9 0x08049261 in _start ()
(gdb)

[root@lec2010-ath9k-1 lanforge]# valgrind ./local/sbin/iw phy ==25107== Memcheck, a memory error detector
==25107== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. ==25107== Using Valgrind-3.7.0.SVN and LibVEX; rerun with -h for copyright info ==25107== Command: ./local/sbin/iw phy
==25107==
nl80211 not found.
==25107== Invalid read of size 4

==25107==    at 0x400F7C5: genl_unregister (list.h:51)
==25107==    by 0x401343F: ctrl_exit (ctrl.c:377)
==25107==    by 0x40133B7: ??? (in /home/lanforge/local/lib/libnl-genl-3.so.200.3.0)
==25107==    by 0x4014B4F: ??? (in /home/lanforge/local/lib/libnl-genl-3.so.200.3.0)
==25107==    by 0x42B15F2C: _dl_fini (dl-fini.c:249)
==25107==    by 0x42B56CDE: exit (exit.c:78)
==25107==    by 0x42B3EE3D: (below main) (libc-start.c:258)

==25107== Address 0x18 is not stack'd, malloc'd or (recently) free'd ==25107==
==25107==
==25107== Process terminating with default action of signal 11 (SIGSEGV): dumping core ==25107== Access not within mapped region at address 0x18

==25107==    at 0x400F7C5: genl_unregister (list.h:51)
==25107==    by 0x401343F: ctrl_exit (ctrl.c:377)
==25107==    by 0x40133B7: ??? (in /home/lanforge/local/lib/libnl-genl-3.so.200.3.0)
==25107==    by 0x4014B4F: ??? (in /home/lanforge/local/lib/libnl-genl-3.so.200.3.0)
==25107==    by 0x42B15F2C: _dl_fini (dl-fini.c:249)
==25107==    by 0x42B56CDE: exit (exit.c:78)
==25107==    by 0x42B3EE3D: (below main) (libc-start.c:258)
==25107==  If you believe this happened as a result of a stack
==25107==  overflow in your program's main thread (unlikely but
==25107==  possible), you can try to increase the size of the
==25107==  main thread stack using the --main-stacksize= flag.
==25107==  The main thread stack size used in this run was 8388608.

==25107==
==25107== HEAP SUMMARY:
==25107== in use at exit: 0 bytes in 0 blocks
==25107== total heap usage: 11 allocs, 11 frees, 9,420 bytes allocated
==25107==
==25107== All heap blocks were freed -- no leaks are possible ==25107==
==25107== For counts of detected and suppressed errors, rerun with: -v ==25107== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 22 from 8) Segmentation fault

Signature · 2 lines
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com
author
#1 lore raw
Quoted 5 lines · Ben Greear

I updated everything yesterday, and now iw crashes every time. The biggest change was that I updated libnl to the latest....

I'll start digging, but will not be offended if someone finds it first!

It seems that the problem is that if you run 'make' in the iw directory, it doesn't relink if the libraries change. Somehow it was linked against both new and old libnl-genl libraries, maybe because I didn't purge the old libnl libraries after I upgraded it.

I purged all of the old libnl libraries, completely rebuilt iw, and now it is working much better.

Thanks,
Ben

Signature · 2 lines
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com