Finally able to reproduce the crash with a Sierra device; the problem is specific to certain plugins where the PIN check takes a while to happen (because the CFUN needs time to complete). Because the PIN check fails during the Enable() call, ModemManager will move the device from enabling -> disabled state, and that changes the Enabled property to FALSE, upon which NetworkManager would deactivate the device. That's bad since we want to move the device to NEED_AUTH and ask for the PIN. But since the device was already deactivated when the Enable() call reply came through, the g_assert () in handle_enable_pin_required() would fire.
I've pushed a number of updates to NM and nm-applet to fix various bugs I found while investigating this problem, but there's still one issue with nm-applet I have to fix tomorrow. Setting a PIN in the connection itself should work fine now, but entering the PIN through the PIN request dialog will fail if you have a username set on the connection (which is what I still have to fix).
Finally able to reproduce the crash with a Sierra device; the problem is specific to certain plugins where the PIN check takes a while to happen (because the CFUN needs time to complete). Because the PIN check fails during the Enable() call, ModemManager will move the device from enabling -> disabled state, and that changes the Enabled property to FALSE, upon which NetworkManager would deactivate the device. That's bad since we want to move the device to NEED_AUTH and ask for the PIN. But since the device was already deactivated when the Enable() call reply came through, the g_assert () in handle_ enable_ pin_required( ) would fire.
I've pushed a number of updates to NM and nm-applet to fix various bugs I found while investigating this problem, but there's still one issue with nm-applet I have to fix tomorrow. Setting a PIN in the connection itself should work fine now, but entering the PIN through the PIN request dialog will fail if you have a username set on the connection (which is what I still have to fix).