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 675175 - New SMS messages aren't reported if they reuse an index number
New SMS messages aren't reported if they reuse an index number
Status: RESOLVED FIXED
Product: NetworkManager
Classification: Platform
Component: ModemManager
git master
Other Linux
: Normal normal
: ---
Assigned To: Aleksander Morgado
NetworkManager maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2012-04-30 18:01 UTC by Nathan Williams
Modified: 2012-09-14 06:03 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Nathan Williams 2012-04-30 18:01:57 UTC
ModemManager on ChromiumOS, corresponding to rev. e8bc2f41e710ed9e3a2576538f5c9fe74b7ef6db from master.

With ModemManager driving a GSM modem, attempt the following:

1. Send a SMS to the modem. Observe the new SMS object advertised in the "Added" signal. Observe the device index of the SMS in the verbose debug logs.

2. Delete the SMS with the Modem.Messaging.Delete method.

3. Send another SMS to the modem. Observe the device index of the SMS - if no other message has been received, it will likely be the same as the device index seen in step 2. No "Added" or "Completed" signal will be generated, and the message does not appear in the SMS list generated with 'mmcli -m 0 --list-sms'.

The issue is that ModemManager is keeping a set of index numbers that have been seen in CMTI notifications, in order to suppress duplicates (the 'known_sms_parts' field of MMBroadbandModemPrivate in src/mm-broadband-modem.c.
), but does not clear entries from this set when messages are deleted, or, in fact, ever.
Comment 1 Aleksander Morgado 2012-09-12 08:41:55 UTC
A fix for this is already available in the 'multipart-sms' branch, will resolve the bug as fixed when merged to master.
Comment 2 Aleksander Morgado 2012-09-14 06:03:36 UTC
Fixed in:

commit 815decb03474754a56e7572a2823ce438a81023b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 10:41:27 2012 +0200

    broadband-modem: properly avoid duplicate CMTI indications
    
    We will look for the part being notified in the CMTI indication directly in the
    list of processed parts; and if we have it there already we won't re-process it.
    
    Still, we may get several CMTI indications for the same part one after the
    other, so it may still happen that the second CMTI comes *before* we have parsed
    and created the part in the SMS list. For that case, the SMS list will reject
    taking the part if there is already a part with the same storage+index already
    processed.
    
    This fix removes the `known_sms_parts' hash table, which was being handled
    incorrectly.
    
    This should fix https://bugzilla.gnome.org/show_bug.cgi?id=675175