Dectmon problems on malloc function

Oscar Soriano Riera oskar at enrutador.com
Sun Nov 7 23:43:13 UTC 2010



Hello Everyone for Spain
I have some problems in the startup or
running Dectmon. I use the lasted drivers (today 20101008) packets on
http://dect.osmocom.org. This is my runbook:

1) I compile dectmon with
this:

#sh autogen.sh
#sh configure
#make
#make install 

2)I getup the
interface:

#dect-cluster-add --name cluster0 --emc 0x12f5 --fpn 0x0be9f
--mode PP
#dect-cell-add --name cell0 --cluster cluster0 --flags
monitor
#dect-transceiver-bind --transceiver trx0 --cell cell0

Added:
0: DECT Cluster cluster0:
 Mode: PP
 PARI: class A (residential) EMC:
12f5 FPN: 0be9f
Added: 0: DECT Cell cell0 at cluster0: 
Bound: DECT
Transceiver trx0 at cell0:
 RF-band: 00000
 Events: busy: 0 late: 0

3)I
can see in the log that the device is correct getup (some fragment): 

[
3709.832225] extended fixed part capabilities: fpc: 00022 hlc: 000000
[
3710.099164] extended fixed part capabilities: fpc: 00020 hlc: 000000
[
3710.914148] identities information: e: 0 class: 0 emc: 1106 fpn: 08f71
rpn: 0
[ 3711.382176] identities information: e: 0 class: 0 emc: 065f
fpn: 1d9d8 rpn: 0
[ 3712.039334] identities information: e: 0 class: 0
emc: 0f73 fpn: 1066a rpn: 0
[ 3712.120434] identities information: e: 0
class: 0 emc: 0d24 fpn: 04834 rpn: 0
[ 3713.079207] identities
information: e: 0 class: 0 emc: 1056 fpn: 158ee rpn: 0
[ 3713.345455]
identities information: e: 0 class: 0 emc: 1133 fpn: 1e399 rpn: 0
[
3713.467939] identities information: e: 0 class: 0 emc: 0de9 fpn: 1bc8c
rpn: 0
[ 3713.550437] page: RFPI: 241a0 bearer description: bt:
5000000000 sn: 2 sp: 0 cn: 4
[ 3713.632170] identities information: e: 0
class: 0 emc: 065f fpn: 1d9d8 rpn: 0
[ 3713.877937] identities
information: e: 0 class: 0 emc: 0de9 fpn: 1bc8c rpn: 0
[ 3714.736021]
identities information: e: 0 class: 0 emc: 0726 fpn: 16bc9 rpn: 0
[
3714.960698] page: RFPI: cf0b0 blind full slots: 2aa
[ 3715.329202]
identities information: e: 0 class: 0 emc: 1056 fpn: 158ee rpn: 0
[
3715.390439] static system information: nr: 0 sn: 2 cn: 4 pscn: 4
[
3716.044455] identities information: e: 0 class: 0 emc: 12fd fpn: 1b11b
rpn: 0
[ 3716.166016] identities information: e: 0 class: 0 emc: 0726
fpn: 16bc9 rpn: 0
[ 3716.576015] full/long page: extend: 0 length:
4000000000000000
[ 3716.986016] identities information: e: 0 class: 0
emc: 0726 fpn: 16bc9 rpn: 0
[ 3717.230442] page: RFPI: 241a0 bearer
description: bt: 5000000000 sn: 2 sp: 0 cn: 4
[ 3717.392245] identities
information: e: 0 class: 0 emc: 101b fpn: 13012 rpn: 0
[ 3717.432942]
identities information: e: 0 class: 0 emc: 1133 fpn: 1e399 rpn: 0
[
3717.757908] identities information: e: 0 class: 0 emc: 0de9 fpn: 1bc8c
rpn: 0
[ 3718.023878] identities information: e: 0 class: 0 emc: 14d4
fpn: 18fc7 rpn: 0
[ 3718.779329] identities information: e: 0 class: 0
emc: 0f73 fpn: 1066a rpn: 0
[ 3719.086319] identities information: e: 0
class: 0 emc: 0747 fpn: 06960 rpn: 0
[ 3719.433269] identities
information: e: 0 class: 0 emc: 0a6d fpn: 061c7 rpn: 0
[ 3719.494174]
identities information: e: 0 class: 0 emc: 1106 fpn: 08f71 rpn: 0
[
3719.657595] identities information: e: 0 class: 0 emc: 07ef fpn: 17322
rpn: 0 

4) Launch Dectmon return a segment
fault

root at DECT:/usr/src/dectmon# src/dectmon
*** glibc detected ***
./dectmon: free(): invalid next size (normal): 0x084d15c8 ***
=======
Backtrace:
=========
/lib/i686/cmov/libc.so.6(+0x6b281)[0xb772d281]
/lib/i686/cmov/libc.so.6(+0x6cad8)[0xb772ead8]
/lib/i686/cmov/libc.so.6(cfree+0x6d)[0xb7731bbd]
/usr/local/lib/libnl.so.3(nlmsg_free+0x83)[0xb784a1d3]
/usr/local/lib/libnl-dect.so.3(nl_dect_cluster_query+0x50)[0xb78570b0]
/usr/lib/libdect.so.0(+0x1cc9d)[0xb7830c9d]
/usr/lib/libdect.so.0(dect_open_handle+0xbd)[0xb7818e5d]
./dectmon[0x804cbec]
/lib/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0xb76d8c76]
./dectmon[0x8049021]
=======
Memory map: ========
08048000-0804e000 r-xp 00000000 03:01 794829
/usr/src/dectmon/src/dectmon
0804e000-0804f000 rw-p 00006000 03:01
794829 /usr/src/dectmon/src/dectmon
084d1000-084f2000 rw-p 00000000
00:00 0 [heap]
b7500000-b7521000 rw-p 00000000 00:00 0

b7521000-b7600000 ---p 00000000 00:00 0 
b7669000-b7686000 r-xp
00000000 03:01 2154538 /lib/libgcc_s.so.1
b7686000-b7687000 rw-p
0001c000 03:01 2154538 /lib/libgcc_s.so.1
b769b000-b769c000 rw-p
00000000 00:00 0 
b769c000-b76c0000 r-xp 00000000 03:01 2171097
/lib/i686/cmov/libm-2.11.2.so
b76c0000-b76c1000 r--p 00023000 03:01
2171097 /lib/i686/cmov/libm-2.11.2.so
b76c1000-b76c2000 rw-p 00024000
03:01 2171097 /lib/i686/cmov/libm-2.11.2.so
b76c2000-b7802000 r-xp
00000000 03:01 2171331 /lib/i686/cmov/libc-2.11.2.so
b7802000-b7804000
r--p 0013f000 03:01 2171331
/lib/i686/cmov/libc-2.11.2.so
b7804000-b7805000 rw-p 00141000 03:01
2171331 /lib/i686/cmov/libc-2.11.2.so
b7805000-b7808000 rw-p 00000000
00:00 0 
b7808000-b7813000 r-xp 00000000 03:01 2048785
/usr/lib/libev.so.3.0.0
b7813000-b7814000 rw-p 0000b000 03:01 2048785
/usr/lib/libev.so.3.0.0
b7814000-b783a000 r-xp 00000000 03:01 2048792
/usr/lib/libdect.so.0.0.1
b783a000-b783e000 rw-p 00025000 03:01 2048792
/usr/lib/libdect.so.0.0.1
b783e000-b783f000 rw-p 00000000 00:00 0

b783f000-b7851000 r-xp 00000000 03:01 762960
/usr/local/lib/libnl.so.3.0.0
b7851000-b7852000 rw-p 00012000 03:01
762960 /usr/local/lib/libnl.so.3.0.0
b7852000-b785b000 r-xp 00000000
03:01 762976 /usr/local/lib/libnl-dect.so.3.0.0
b785b000-b785c000 rw-p
00009000 03:01 762976
/usr/local/lib/libnl-dect.so.3.0.0
b7870000-b7872000 rw-p 00000000 00:00
0 
b7872000-b7873000 r-xp 00000000 00:00 0 [vdso]
b7873000-b788e000 r-xp
00000000 03:01 2155169 /lib/ld-2.11.2.so
b788e000-b788f000 r--p 0001a000
03:01 2155169 /lib/ld-2.11.2.so
b788f000-b7890000 rw-p 0001b000 03:01
2155169 /lib/ld-2.11.2.so
bfcae000-bfccf000 rw-p 00000000 00:00 0
[stack] 

5) I use Valgrid to see a problem, but valgrid fails, i think
that is a problem with the malloc when it get memory for the
stack:

root at DECT:/usr/src/dectmon# valgrind src/dectmon 
==10731==
Memcheck, a memory error detector
==10731== Copyright (C) 2002-2010, and
GNU GPL'd, by Julian Seward et al.
==10731== Using Valgrind-3.6.0 and
LibVEX; rerun with -h for copyright info
==10731== Command:
src/dectmon
==10731== 
==10731== Invalid write of size 2
==10731== at
0x408E568: event_set (in /usr/lib/libev.so.3.0.0)
==10731== by
0x804940E: register_fd (event_ops.c:35)
==10731== by 0x4078361:
dect_fd_register (io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7d8 is not stack'd, malloc'd or (recently)
free'd
==10731== 
==10731== Invalid write of size 4
==10731== at
0x408E57C: event_set (in /usr/lib/libev.so.3.0.0)
==10731== by
0x804940E: register_fd (event_ops.c:35)
==10731== by 0x4078361:
dect_fd_register (io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7c0 is 0 bytes after a block of size 88 alloc'd
==10731==
at 0x4023FE0: malloc (vg_replace_malloc.c:236)
==10731== by 0x407897D:
dect_malloc (utils.c:21)
==10731== by 0x4078486: dect_fd_alloc
(io.c:56)
==10731== by 0x4077BBF: dect_netlink_init
(netlink.c:352)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==

==10731== Invalid write of size 4
==10731== at 0x408E582: event_set (in
/usr/lib/libev.so.3.0.0)
==10731== by 0x804940E: register_fd
(event_ops.c:35)
==10731== by 0x4078361: dect_fd_register
(io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7cc is 12 bytes after a block of size 88 alloc'd
==10731==
at 0x4023FE0: malloc (vg_replace_malloc.c:236)
==10731== by 0x407897D:
dect_malloc (utils.c:21)
==10731== by 0x4078486: dect_fd_alloc
(io.c:56)
==10731== by 0x4077BBF: dect_netlink_init
(netlink.c:352)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==

==10731== Invalid write of size 4
==10731== at 0x408E589: event_set (in
/usr/lib/libev.so.3.0.0)
==10731== by 0x804940E: register_fd
(event_ops.c:35)
==10731== by 0x4078361: dect_fd_register
(io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7d0 is not stack'd, malloc'd or (recently)
free'd
==10731== 
==10731== Invalid write of size 4
==10731== at
0x408E590: event_set (in /usr/lib/libev.so.3.0.0)
==10731== by
0x804940E: register_fd (event_ops.c:35)
==10731== by 0x4078361:
dect_fd_register (io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7c8 is 8 bytes after a block of size 88 alloc'd
==10731==
at 0x4023FE0: malloc (vg_replace_malloc.c:236)
==10731== by 0x407897D:
dect_malloc (utils.c:21)
==10731== by 0x4078486: dect_fd_alloc
(io.c:56)
==10731== by 0x4077BBF: dect_netlink_init
(netlink.c:352)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==

==10731== Invalid write of size 4
==10731== at 0x408E593: event_set (in
/usr/lib/libev.so.3.0.0)
==10731== by 0x804940E: register_fd
(event_ops.c:35)
==10731== by 0x4078361: dect_fd_register
(io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7c4 is 4 bytes after a block of size 88 alloc'd
==10731==
at 0x4023FE0: malloc (vg_replace_malloc.c:236)
==10731== by 0x407897D:
dect_malloc (utils.c:21)
==10731== by 0x4078486: dect_fd_alloc
(io.c:56)
==10731== by 0x4077BBF: dect_netlink_init
(netlink.c:352)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==

==10731== Invalid write of size 4
==10731== at 0x408E596: event_set (in
/usr/lib/libev.so.3.0.0)
==10731== by 0x804940E: register_fd
(event_ops.c:35)
==10731== by 0x4078361: dect_fd_register
(io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7d4 is not stack'd, malloc'd or (recently)
free'd
==10731== 
==10731== Invalid read of size 2
==10731== at
0x408EC70: event_add (in /usr/lib/libev.so.3.0.0)
==10731== by
0x804941E: register_fd (event_ops.c:36)
==10731== by 0x4078361:
dect_fd_register (io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7d8 is not stack'd, malloc'd or (recently)
free'd
==10731== 
==10731== Invalid read of size 4
==10731== at
0x408ECD3: event_add (in /usr/lib/libev.so.3.0.0)
==10731== by
0x804941E: register_fd (event_ops.c:36)
==10731== by 0x4078361:
dect_fd_register (io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7c8 is 8 bytes after a block of size 88 alloc'd
==10731==
at 0x4023FE0: malloc (vg_replace_malloc.c:236)
==10731== by 0x407897D:
dect_malloc (utils.c:21)
==10731== by 0x4078486: dect_fd_alloc
(io.c:56)
==10731== by 0x4077BBF: dect_netlink_init
(netlink.c:352)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==

==10731== Invalid read of size 4
==10731== at 0x408ECF0: event_add (in
/usr/lib/libev.so.3.0.0)
==10731== by 0x804941E: register_fd
(event_ops.c:36)
==10731== by 0x4078361: dect_fd_register
(io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7d4 is not stack'd, malloc'd or (recently)
free'd
==10731== 
==10731== Invalid read of size 4
==10731== at
0x408ED2F: event_add (in /usr/lib/libev.so.3.0.0)
==10731== by
0x804941E: register_fd (event_ops.c:36)
==10731== by 0x4078361:
dect_fd_register (io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7d4 is not stack'd, malloc'd or (recently)
free'd
==10731== 
==10731== Invalid write of size 4
==10731== at
0x408ED35: event_add (in /usr/lib/libev.so.3.0.0)
==10731== by
0x804941E: register_fd (event_ops.c:36)
==10731== by 0x4078361:
dect_fd_register (io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7d4 is not stack'd, malloc'd or (recently)
free'd
==10731== 
==10731== Invalid write of size 4
==10731== at
0x408ECB5: event_add (in /usr/lib/libev.so.3.0.0)
==10731== by
0x804941E: register_fd (event_ops.c:36)
==10731== by 0x4078361:
dect_fd_register (io.c:103)
==10731== by 0x4077C14: dect_netlink_init
(netlink.c:358)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)
==10731==
Address 0x41ff7d4 is not stack'd, malloc'd or (recently)
free'd
==10731== 
--10731-- VALGRIND INTERNAL ERROR: Valgrind received a
signal 11 (SIGSEGV) - exiting
--10731-- si_code=1; Faulting address:
0x74616874; sp: 0x62bdea58

valgrind: the 'impossible' happened:
 Killed
by fatal signal
==10731== at 0x3809F551: myvprintf_str
(m_debuglog.c:530)
==10731== by 0x3809FD32: vgPlain_debugLog_vprintf
(m_debuglog.c:877)
==10731== by 0x3802A555: vprintf_WRK
(m_libcprint.c:111)
==10731== by 0x3802A617: vgPlain_printf
(m_libcprint.c:143)
==10731== by 0x380286C6: vgPlain_assert_fail
(m_libcassert.c:261)
==10731== by 0x656C501F: ???

sched status:

running_tid=1

Thread 1: status = VgTs_Runnable
==10731== at 0x402331F:
calloc (vg_replace_malloc.c:467)
==10731== by 0x4055394: nl_object_alloc
(object.c:49)
==10731== by 0x404284F: nl_dect_cluster_alloc
(cluster_obj.c:64)
==10731== by 0x4077C34: dect_netlink_init
(netlink.c:148)
==10731== by 0x405FE5C: dect_open_handle
(libdect.c:66)
==10731== by 0x804CBEB: main (main.c:108)

Thanks for
help me 

 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/linux-dect/attachments/20101108/a24bf151/attachment.html>


More information about the linux-dect mailing list