Reply
Thread Tools
Posts: 12 | Thanked: 17 times | Joined on Aug 2010
#1
Hi!

As I repeatedly had problems lately with SMS not being saved and therefore lost or pending forever in "sending" status I just started looking into fixing this.

I have just summarized possible solutions and items to think about on which I would greatly appreciate any comments or pointers into the right direction.

Problem:
SMS Conversations end up pending/not sent but are actually sent - Ui shows them as pending
and after closing they are removed/ui goes wild

References (some of them):
One of the "fixes" (which didn't work for me): http://talk.maemo.org/showpost.php?p...2&postcount=40
Database location: /home/user/.rtcom-eventlogger/el-v1.db
View the database using sqlitebrowser (fast and all you need imho) (can also edit display the statements in the application log)

What goes wrong?
Events.remote_uid: empty --> remoteid of a contact must be added
Events.flags: 1 --> 0 (change from pending to sent)

SQL Statement:
UPDATE Events SET flags='0' WHERE rowid=ROWID;
UPDATE Events SET remote_uid='remoteid' WHERE rowid=ROWID;

Ideas to keep integrity while editing:
Solution 1: set offline mode (to ensure not receiving sms while doing this)
Solution 2: transaction? - should definately be used
Possibility to integrate:
Solution 1: automatic check interval (daemon?)
Personal note: I would like to trigger it as soon as I see a problematic message/let it happen automatically for me)

Solution 2: on sms send --> (.js) --> check database - may be really slow (needs to be tested)
--> is modifying the sqlite database from js possible?
--> can the system be notified? is there already such a solution? (afaik there is a solution to send sms from commandline)
--> could just check the last entry and fix it if it failed - how to determine if sms sending really failed or who is the contact to update the entry
Possible solution for the "who is the contact the sms was sent to": set the field to an identifier nobody would ever use on a real name (e.g.: "_smsSendCorruption") where all a utility could read out all those fields containing that text and present the user the option to choose the right one (on device))
Source for the responsible library (longer term fix):
http://maemo.gitorious.org/maemo-rtcom

Imho there should be added a simple transaction and that's about it... but well I have no idea up to now what is going wrong... the C Code looks pretty... ugly...

Collaboration:
If you think I should create a wiki page to collaborate on this I would appreciate to do so - or even better: let it do someone else as I'm pretty short on time...

[Edit]: yes if we come up with a good fix I'll for sure be glad to get this integrated into the CSSU

Last edited by friesoft; 2011-03-01 at 10:22.
 

The Following 13 Users Say Thank You to friesoft For This Useful Post:
Posts: 12 | Thanked: 17 times | Joined on Aug 2010
#2
After further investigation I have the bad feeling that sometimes (in my case all the time atm) new messages from myself are not even inserted into the database.

At least opening sqlite3 el-v1.db and selecting the last entries doesn't show my last messages ;(

Statement:
select * from Events order by rowid desc limit 3;
 

The Following User Says Thank You to friesoft For This Useful Post:
Posts: 1,397 | Thanked: 2,126 times | Joined on Nov 2009 @ Dublin, Ireland
#3
Is this reported in Bugzilla?
 
Posts: 12 | Thanked: 17 times | Joined on Aug 2010
#4
To admit I didn't yet look for it on bugzilla... I guessed that because there are so many people having that problem someone has already looked... but well then they could have already filed a bug... so no I didn't look yet.... but I should :P

[Update]: after looking around I didn't find anything related beside of this:
https://bugs.maemo.org/show_bug.cgi?id=10614

but it doesn't completely match the problems I'm having and others were/are having...

Last edited by friesoft; 2011-03-02 at 08:54.
 
Posts: 100 | Thanked: 22 times | Joined on Jan 2010 @ San Diego, CA
#5
Any updates? Ive had this problem months ago and tried the above fixes which worked for the time being. Within the last month or so it has occurring much more frequently
 
Posts: 13 | Thanked: 1 time | Joined on Aug 2010 @ India
#6
This problem appears to me when my sent/received sms's cross 8000. It kept on continuing from the past 4-5 months and last week i flashed the EMMC and now everything is back to normal.
 
Flandry's Avatar
Posts: 1,559 | Thanked: 1,786 times | Joined on Oct 2009 @ Boston
#7
This has just happened to me for the second time. it seems to tend to happen when the N900 gets frozen and has to be power cycled (typically during processing by Panorama or BlessN900), presumably due to corruption of the database, and once it has started, it's hard to get rid of. in fact, i think i ended up flashing last time and restoring an old backup. I'd prefer not to have to do that again because i don't have a recent backup preserving some important SMSes. What have people found to work?
__________________

Unofficial PR1.3/Meego 1.1 FAQ

***
Classic example of arbitrary Nokia decision making. Couldn't just fallback to the no brainer of tagging with lat/lon if network isn't accessible, could you Nokia?
MAME: an arcade in your pocket
Accelemymote: make your accelerometer more joy-ful
 
dchky's Avatar
Posts: 549 | Thanked: 299 times | Joined on Jun 2010 @ Australian in the Philippines
#8
Not sure if this is useful, but I've been able to reproduce the same issue fairly regularly in the following way:

Create and send an SMS to a contact in the normal way, however, before that SMS is actually indicated as being sent (little square arrow thing vanishes) delete the conversation thread entirely.

I'm not really convinced this is the actual trigger of the problem itself rather than just an indicator of the actual cause - which is I think: 'n900 becomes sluggish after a few days'

It happens for me with much greater frequency when my uptime is over the 1 day mark, conversations is often bogged down, takes a while to open incoming messages, the application is slow and the CPU is often pegged at max.

Whatever conversations is doing under the hood, I figure some of it is time sensitive, when the N900 is busy I suspect it doesn't gather all the data points it needs to populate the sqlite db, thus corrupting it.

I guess it would be pretty straight forward to code up a daemon in C to listen for db events and take a look each time a message passes over the bus, though given my suspicion on the cause, it'd also be a good idea to have that daemon wake up every few minutes while the screen is active and do the same check.

I don't have the problem terribly often, so the manual corrections to the sqlite db aren't terribly bothersome.
 
Posts: 48 | Thanked: 3 times | Joined on May 2010 @ malaysia
#9
This is also happening to me especially when skype messages and other IM messaging are downloaded from the respective providers. Only way is to reboot but the problem appears again after a few connects and disconnects. Even the desktop becomes sluggish -AFTER RUNNING the speedup scripts. its fine for a while until conversations is opened up a couple of times.
 
Flandry's Avatar
Posts: 1,559 | Thanked: 1,786 times | Joined on Oct 2009 @ Boston
#10
Thanks again for the triage report, friesoft. The other "solutions" floating around didn't work, but i copied the database

/home/user/.rtcomm-eventlogger/el-v1.db

to MyDocs and then connected up to my comp in mass storage mode. I opened the db file with sqlitebrowser as suggested and, sure enough, found that the SMS right when things went bad was missing the remote_uid field, with the flag still 1 (unsent). I changed the two fields, saved, disconnected, and copied the db back to its location in home. After a reboot, all is well.

Hooray!
__________________

Unofficial PR1.3/Meego 1.1 FAQ

***
Classic example of arbitrary Nokia decision making. Couldn't just fallback to the no brainer of tagging with lat/lon if network isn't accessible, could you Nokia?
MAME: an arcade in your pocket
Accelemymote: make your accelerometer more joy-ful
 
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 11:58.