Re: mesh-cfgclient fails with 'Segmentation fault'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Yury,

On Tue, 2019-12-17 at 16:19 +0000, Yury Galustov wrote:
> Hi Michał,
> Thanks for the quick response.
> 
> > On 12/17, Yury Galustov wrote:
> > > pi@raspberrypi:~/bluez-master $ ./tools/mesh-cfgclient
> > > Warning: config file "/home/pi/.config/meshcfg/config_db.json" not found
> > > 
> > > [mesh-cfgclient]# create
> > > Segmentation fault
> > > 
> > > Happy to debug the code if somebody would explain how )
> > 
> > You might try running it under a debugger:
> >  $ gdb ./tools/mesh-cfgclient -ex run
> > and capture the backtrace via "bt" command.
> > 
> > Although honestly, I'd recommend playing with D-Bus API directly, e.g.
> > in Python.
> > 
> > The command line is a bit alpha.
> > 
> > -- 
> > Michał Lowas-Rzechonek <michal.lowas-rzechonek@xxxxxxxxxxx>
> > Silvair http://silvair.com
> > Jasnogórska 44, 31-358 Krakow, POLAND
> 
> Warning: config file "/home/pi/.config/meshcfg/config_db.json" not found
> [mesh-cfgclient]# create
> 
> Program received signal SIGSEGV, Segmentation fault.
> l_dbus_proxy_method_call (proxy=0x0, method=method@entry=0x342c0 "CreateNetwork", setup=setup@entry=0x14fa0
> <create_net_setup>,

This failure occurs (with proxy=NULL) when the bluetooth-meshd daemon is running, but it was unable to find an
LE capable BT controller.  This is a lnown issue, that we should probably put in the bluez/tools/mesh/README
file...   But for now there are a few ways to address it:

1. Make sure that the bluetoothd daemon is not claiming all the BT controllers.  If you have multiple BT
controllers in your system, change the following value in your /etc/bluetooth/main.conf file:

[Policy]
AutoEnable=false

With AutoEnable true, bluetoothd claims all controllers. (bluetoothd must be restarted for change to take
effect).

2. If you have only one BT controller in your system, you *must* disable bluetooth daemon to use mesh-
bluetooth...  To disable bluetoothd entirely (leaving the controller(s) to bluetooth-meshd) disable and stop
the main bluetooth daemon:

# systemctl disable bluetooth
# systemctl stop bluetooth


We hope to get the two daemons to co-exist at some point, but that will require kernel changes, so for now
these are your two choices.


>     reply=reply@entry=0x14e04 <create_net_reply>, user_data=0x0, destroy=0x0) at ell/dbus-client.c:304
> 304             req = l_new(struct method_call_request, 1);
> (gdb) bt
> #0  l_dbus_proxy_method_call (proxy=0x0, method=method@entry=0x342c0 "CreateNetwork", setup=setup@entry=0x14f
> a0 <create_net_setup>,
>     reply=reply@entry=0x14e04 <create_net_reply>, user_data=0x0, destroy=0x0) at ell/dbus-client.c:304
> #1  0x00015b00 in cmd_create_network (argc=<optimized out>, argv=<optimized out>) at tools/mesh-
> cfgclient.c:711
> #2  0x0001e398 in cmd_exec (argv=0x69308, argc=1, entry=0x33210 <main_menu+8>) at src/shared/shell.c:441
> #3  menu_exec (entry=0x33210 <main_menu+8>, argc=argc@entry=1, argv=argv@entry=0x69308) at
> src/shared/shell.c:468
> #4  0x0001e730 in shell_exec (argc=1, argv=0x69308) at src/shared/shell.c:511
> #5  0x0001f684 in rl_handler (input=0x69068 "create") at src/shared/shell.c:713
> #6  0xb6f7cdc0 in rl_callback_read_char () from /lib/arm-linux-gnueabihf/libreadline.so.7
> #7  0x0001e608 in input_read (io=<optimized out>, user_data=<optimized out>) at src/shared/shell.c:1256
> #8  0x00022f9c in io_callback (fd=<optimized out>, events=1, user_data=0x69280) at ell/io.c:126
> #9  0x00023e28 in l_main_iterate (timeout=<optimized out>) at ell/main.c:470
> #10 0x00023ef0 in l_main_run () at ell/main.c:520
> #11 l_main_run () at ell/main.c:502
> #12 0x00024150 in l_main_run_with_signal (callback=<optimized out>, user_data=user_data@entry=0x0) at
> ell/main.c:642
> #13 0x000202d0 in mainloop_run_with_signal (func=<optimized out>, user_data=user_data@entry=0x0) at
> src/shared/mainloop-ell.c:87
> #14 0x0001f90c in bt_shell_run () at src/shared/shell.c:1174
> #15 0x00012980 in main (argc=<optimized out>, argv=<optimized out>) at tools/mesh-cfgclient.c:1982
> 
> 




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux