After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 696695 - [MM 0.8] crash probing Sierra USB306
[MM 0.8] crash probing Sierra USB306
Status: RESOLVED FIXED
Product: NetworkManager
Classification: Platform
Component: ModemManager
unspecified
Other Linux
: Normal normal
: ---
Assigned To: NetworkManager maintainer(s)
NetworkManager maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2013-03-27 14:29 UTC by Dan Williams
Modified: 2013-03-29 13:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
probing crash (64.09 KB, text/plain)
2013-03-27 14:29 UTC, Dan Williams
Details

Description Dan Williams 2013-03-27 14:29:02 UTC
Created attachment 239953 [details]
probing crash

I can't reproduce it under valgrind, so clearly timing sensitive.  But here's the crash in gdb.  I plug the modem in, wait about 5 seconds, and then start ModemManager.

Looks like something is closing the port too early and qcdm probing expects it to be open?
Comment 1 Aleksander Morgado 2013-03-29 11:37:48 UTC
The issue is really coming because the serial buffer in ttyUSB0 gets full of garbage, and we actually re-schedule the next probing task when that happens, so we end up with the same task being processed twice in parallel.

Prepared a fix in the 'aleksander/fix-sierra-usb306-probing' branch in the upstream git repo. The fix will just cancel the at probing GCancellable instead of re-scheduling the next probing step.

Dan, could you test it before merging the issue?
Comment 2 Dan Williams 2013-03-29 13:32:49 UTC
Looks good:

ModemManager[6625]: <debug> [1364563921.672430] [mm-at-serial-port.c:408] debug_log(): (ttyUSB0): <-- '~\0\245y\0}^M3_0_10_1BT C:/WS/FW/M3_0_10_1BT/MDM8200/SRC/AMSS 2010/03/29 17:27:54\0\0\0\0\0\0\0\0\0\0\0M3_0_10_1AP C:/WS/FW/M3_0_10_1AP/MDM8200/SRC/AMSS 2010/03/29 17:52:11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\003\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0~~\0Tb\0M3_0_10_1AP C:/WS/FW/M3_0_10_1AP/MDM8200/SRC/AMSS 2010/03/29
ModemManager[6625]: <debug> [1364563921.673128] [mm-at-serial-port.c:408] debug_log(): (ttyUSB0): <-- '010/03/29 17:52:11\0\170\170\170\170\170\170\170\170\170\170\170\170\170\170~~\0\245y\0}^M3_0_10_1BT C:/WS/FW/M3_0_10_1BT/MDM8200/SRC/AMSS 2010/03/29 17:27:54\0\0\0\0\0\0\0\0\0\0\0M3_0_10_1AP C:/WS/FW/M3_0_10_1AP/MDM8200/SRC/AMSS 2010/03/29 17:52:11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\003\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
ModemManager[6625]: <debug> [1364563921.673389] [mm-port-probe.c:948] serial_buffer_full(): (tty/ttyUSB0) serial buffer full
ModemManager[6625]: <debug> [1364563921.673412] [mm-port-probe.c:148] mm_port_probe_set_result_at(): (tty/ttyUSB0) port is not AT-capable
ModemManager[6625]: <debug> [1364563921.673678] [mm-at-serial-port.c:408] debug_log(): (ttyUSB0): <-- 'SS 2010/03/29 17:52:11\0\170\170\170\170\170\170\170\170\170\170\170\170\170\170~~\0\245y\0}^M3_0_10_1BT C:/WS/FW/M3_0_10_1BT/MDM8200/SRC/AMSS 2010/03/29 17:27:54\0\0\0\0\0\0\0\0\0\0\0M3_0_10_1AP C:/WS/FW/M3_0_10_1AP/MDM8200/SRC/AMSS 2010/03/29 17:52:11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\003\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
ModemManager[6625]: <debug> [1364563921.673901] [mm-port-probe.c:948] serial_buffer_full(): (tty/ttyUSB0) serial buffer full
ModemManager[6625]: <debug> [1364563921.673923] [mm-port-probe.c:148] mm_port_probe_set_result_at(): (tty/ttyUSB0) port is not AT-capable
ModemManager[6625]: <debug> [1364563921.758310] [sierra/mm-plugin-sierra.c:130] sierra_custom_init_step(): (Sierra) no need to keep on running custom init in 'ttyUSB0'