Segmentation fauilt on connecting via USB modem
When I try to connect to the internet via my USB 3G modem, I always get a segmentation fault, and I have to unplug the modem to be able to start NetworkManager again.
Thread 1 "NetworkManager" received signal SIGSEGV, Segmentation fault.
0x00005555556fa56e in act_stage2_config (device=0x555555926cf0, out_failure_reason=0x7fffffffe730) at ../NetworkManager/src/devices/nm-device-ppp.c:152
152 _LOGW (LOGD_DEVICE | LOGD_PPP, "PPPoE failed to start: %s", error->message);
- Distibution: Arch Linux.
- Package version: networkmanager 1.19.4dev+65+g3698e24e (git snapshot from 2019.06.29)
I tried to bisect the problem, and it seems that it happens after this commit: 33a88ca5
Here is the backtrace:
Thread 5 (Thread 0x7fffe7e17700 (LWP 3310)):
#0 0x00007ffff7ebde3d in syscall () at /usr/lib/libc.so.6
#1 0x00007ffff7a7a141 in g_cond_wait_until () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff7afb343 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff7a9ff4b in () at /usr/lib/libglib-2.0.so.0
#4 0x00007ffff7aa6f21 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff772c57f in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007ffff7ec30e3 in clone () at /usr/lib/libc.so.6
Thread 4 (Thread 0x7ffff4ee2700 (LWP 3309)):
#0 0x00007ffff7ebde3d in syscall () at /usr/lib/libc.so.6
#1 0x00007ffff7a7a141 in g_cond_wait_until () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff7afb343 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff7a9ff4b in () at /usr/lib/libglib-2.0.so.0
#4 0x00007ffff7aa6f21 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff772c57f in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007ffff7ec30e3 in clone () at /usr/lib/libc.so.6
Thread 3 (Thread 0x7ffff56e3700 (LWP 3308)):
#0 0x00007ffff7eb8667 in poll () at /usr/lib/libc.so.6
#1 0x00007ffff7acb7c0 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff7acc7f2 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff7c3d508 in () at /usr/lib/libgio-2.0.so.0
#4 0x00007ffff7aa6f21 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff772c57f in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007ffff7ec30e3 in clone () at /usr/lib/libc.so.6
Thread 2 (Thread 0x7ffff5ee4700 (LWP 3307)):
#0 0x00007ffff7eb8667 in poll () at /usr/lib/libc.so.6
#1 0x00007ffff7acb7c0 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff7acb8ae in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff7acb902 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007ffff7aa6f21 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff772c57f in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007ffff7ec30e3 in clone () at /usr/lib/libc.so.6
Thread 1 (Thread 0x7ffff64ebd80 (LWP 3303)):
#0 0x00005555556fa56e in act_stage2_config (device=0x555555926cf0, out_failure_reason=0x7fffffffe730) at ../NetworkManager/src/devices/nm-device-ppp.c:152
__prefix = 0x555555748470 "device"
_self = 0x555555926cf0
_ifname = 0x555555925ed0 "ppp0"
_level = LOGL_WARN
_domain = 2097408
self = 0x555555926cf0
priv = 0x555555926d60
s_pppoe = 0x5555559250a0
req = 0x555555864350
error = 0x0
#1 0x00005555557185cc in activate_stage2_device_config (self=<optimized out>) at ../NetworkManager/src/devices/nm-device.c:6838
failure_reason = NM_DEVICE_STATE_REASON_NONE
priv = <optimized out>
klass = 0x5555559264d0
ret = <optimized out>
no_firmware = 0
iter = <optimized out>
#2 0x000055555561415b in activation_source_handle_cb (self=0x555555926cf0, addr_family=2) at ../NetworkManager/src/devices/nm-device.c:6165
act_data = <optimized out>
a = {func = 0x555555718360 <activate_stage2_device_config>, id = 70}
#3 0x000055555561433e in activation_source_handle_cb4 (user_data=<optimized out>) at ../NetworkManager/src/devices/nm-device.c:6095
#4 0x00007ffff7ac97b1 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff7acb869 in () at /usr/lib/libglib-2.0.so.0
#6 0x00007ffff7acc7f2 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#7 0x0000555555583a39 in main (argc=<optimized out>, argv=<optimized out>) at ../NetworkManager/src/main.c:465
success = 1
manager = 0x5555558590b0
config = 0x555555821810
error = 0x0
wrote_pidfile = 0
bad_domains = 0x0
config_cli = 0x0
sd_id = 50
error_invalid_logging_config = 0x0
warnings = <optimized out>
errsv = <optimized out>
Details of the used USB modem:
Bus 002 Device 105: ID 19d2:0117 ZTE WCDMA Technologies MSM
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x19d2 ZTE WCDMA Technologies MSM
idProduct 0x0117
bcdDevice 0.00
iManufacturer 3 ZTE,Incorporated
iProduct 2 ZTE WCDMA Technologies MSM
iSerial 4 MF6670TMOD010000
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x006c
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 1 ZTE Configuration
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0000
(Bus Powered)