-
Notifications
You must be signed in to change notification settings - Fork 141
Segmentation Fault when launching drone #298
Comments
I've encountered the same behavior on a Raspberry Pi. Building with |
With a debug build, run drone using gdb. Provide output of 'bt full' and
the file/line of the crash alongwith any other info that you find.
Srivats
|
Can you try the following patch and see if it fixes the problem?
|
The patch fixed the seg fault, and drone is now running on the Balena Fin. Thank you for your quick fix! |
@mcmillanda : Thanks for verifying that the patch fixes the crash. This was really a shot in the dark from my side, so to better understand the issue could you provide me the |
I now see that it is important to note that this device is using modem manager and network manager to manage an LTE chipset attached via serial interface. Because of this the MAC address of wwan0 is not present. In order to run modem manager and network manager, openresolv and dhcpd5 were purged from the pi. With the patch applied drone ran without issue, but any frames generated were invalid due to the MAC address not being present. In the end, I attached a separate device running Ostinato to the Ethernet port on the pi and used it as a LAN by creating NAT rules in iptables. Here is the
Here is sanitized output of ifconfig -a:
|
@mcmillanda It's indeed the lack of a mac address (technically, link layer address) on wwan0 that was causing the crash.
You can still have Ostinato directly generate frames on wwan0 by using the Advanced Protocol Selection_ tab and select just the protocols that you need excluding the mac address. I'm curious - does this device have a link layer protocol? How does a IP/UDP packet look on the wire for this device in terms of frame format? |
@pstavirs I was able to use Ostinato on my balenaFin using your suggested method of modifying the protocols under the Advanced Protocol Selection tab. I had to remove both the MAC and Eth II protocols to get this to work. The modem manager application allows me to communicate directly with the LTE chipset via serial interface. Since LTE does not use Ethernet for the link layer protocol over the air interface, a MAC address is not necessary. Confusingly, LTE uses a protocol titled Media Access Control (MAC) and Radio Link Control (RLC) as link layer protocols. Thanks for your assistance. |
Getting a seg fault when first launching drone on a Balena Fin running Raspbian Buster. It was compiled natively. Based on debug output shown below it seg faults after cap file creation. File is created in /tmp file with no content.
pi@raspberrypi:~ $ sudo drone -d
Version: 1.0
Revision: 2966884
PCAP Lib: libpcap version 1.8.1
Retrieving the device list from the local machine
txStats: collection start
cap file = /tmp/Drone.GSNvjm
Segmentation fault
The text was updated successfully, but these errors were encountered: