Closed Bug 955043 Opened 10 years ago Closed 10 years ago

Twitter feed stops receiving incoming tweets (without disconnecting)

Categories

(Chat Core :: Twitter, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bugzilla, Assigned: florian)

Details

(Whiteboard: [1.3-blocking][regression])

Attachments

(1 file, 1 obsolete file)

*** Original post on bio 1613 by deOmega <jahkae AT gmail.com> at 2012-08-02 15:16:00 UTC ***

I look at  my twitter feeds on a daily basis of course...  i have noticed in the past week or so, that the  feeds would stop... i would know that because i get a constant feed of stories, so there is hardly a minute that goes by without a story.

The indication of the issue is that I would notice no stories showing up for some time.  I would then have to disconnect and reconnect the account in order to get the stories that were missing. 

It is hard to know when it is going to do it, but does so  it seems about three plus times in an 9 hour work day. 

version 1.2a1pre (20120802051840)
*** Original post on bio 1613 at 2012-08-02 15:20:51 UTC ***

Are there any (seemingly related) errors or warnings in the error console?
*** Original post on bio 1613 by deOmega <jahkae AT gmail.com> at 2012-08-02 15:46:46 UTC ***

I do not know if these are related, but it IS doing it at this present moment.


Timestamp: 8/2/2012 9:33:24 AM
Error: account-connecting: null
Source File: chrome://buddystatus/content/buddystatus.js
Line: 186


Timestamp: 8/2/2012 9:33:25 AM
Error: account-connected: null
Source File: chrome://buddystatus/content/buddystatus.js
Line: 186


Timestamp: 8/2/2012 9:33:59 AM
Error: contact-status-changed: null
Source File: chrome://buddystatus/content/buddystatus.js
Line: 186
*** Original post on bio 1613 by deOmega <jahkae AT gmail.com> at 2012-08-03 13:22:19 UTC ***

Maybe these are related to it:   

Timestamp: 8/3/2012 7:14:09 AM
Warning: Ignoring obsolete chrome registration modifier 'xpcnativewrappers=yes'.
Source File: jar:file:///C:/Users/MYNAME/AppData/Roaming/Instantbird/Profiles/hu4mxj0y.default/extensions/highlight@florian.instantbird.org.xpi!/chrome.manifest
Line: 1

Timestamp: 8/3/2012 7:14:10 AM
Error: TypeError: redeclaration of const Ci
Source File: chrome://instantbird/content/accounts.js
Line: 5

Timestamp: 8/3/2012 7:14:14 AM
Error: Couldn't find slpmsg

Source File: http://hg.instantbird.org/instantbird/raw-file/83739a138f9d/purple/libpurple/protocols/msn/slplink.c
Line: 601
Source Code:
msn: msn_slplink_process_msg
*** Original post on bio 1613 by jahkae AT gmail.com at 2012-08-03 15:36:43 UTC ***

This seems related to the Highlight addon.
Status: UNCONFIRMED → RESOLVED
Closed: 10 years ago
Resolution: --- → INVALID
*** Original post on bio 1613 by deOmega <jahkae AT gmail.com> at 2012-08-06 12:46:17 UTC ***

Arrgh, still happens.  Will  seek an alternative.
*** Original post on bio 1613 at 2012-08-06 12:48:42 UTC ***

Reopening.
Status: RESOLVED → REOPENED
Ever confirmed: true
Resolution: INVALID → ---
*** Original post on bio 1613 by bluemaximax011 AT hotmail.com at 2012-08-13 10:50:41 UTC ***

This happens to me too, but it only seems to happen once per day. Maybe the more/less traffic your Twitter feed gets the more likely it is to happen?
*** Original post on bio 1613 by bluemaximax011 AT hotmail.com at 2012-08-14 13:11:13 UTC ***

Curse my luck. Now I'm lucky to go an hour without it failing.
*** Original post on bio 1613 at 2012-08-14 19:03:13 UTC ***

deOmega said that in the problematic state it is still possible to send tweets.
No pertinent error messages.

This may be relevant:
https://dev.twitter.com/discussions/2856
Summary: Twitter feed stops → Twitter feed stops receiving incoming tweets (without disconnecting)
*** Original post on bio 1613 by deOmega <jahkae AT gmail.com> at 2012-08-15 16:37:27 UTC ***

This has really become so bad for me, that I am forced to use a different client.  The feed is absolutely unreliable for me and i have have grown hooked to it since the implementation in IB.

So I am using two different chat clients for the sake of a working Twitter feed.  I wish i could help in resolving it but I am as lost as could be.

By the way, I did a clean install of IB, hoping  maybe i had some junk caught somewhere.

I am also using these addons (a lot less than I used to):

CleanlessSharpMOD
Hide Participant List
Minimal Input height
session restore
sort by status
vertical tabs (Hooked on this feature now)
*** Original post on bio 1613 by bluemaximax011 AT hotmail.com at 2012-08-16 02:40:17 UTC ***

He's right. The disconnects have become incredibly frequent, sometimes happening three times an hour.
*** Original post on bio 1613 at 2012-08-17 20:58:40 UTC ***

So do we have any way to reproduce this to see what's going on?
*** Original post on bio 1613 by deOmega <jahkae AT gmail.com> at 2012-08-17 22:48:13 UTC ***

I posted in #instantbird that today 8/17 I did not have any drops.  I am sure it is not related but I also noted that I was  using the updated version from today..version 1.3a1pre (20120817043010)

I would like to know if bluemaximax011 had any issues today.
*** Original post on bio 1613 by bluemaximax011 AT hotmail.com at 2012-08-18 04:00:07 UTC ***

I haven't had the chance to try it out. Might go do that.
*** Original post on bio 1613 by bluemaximax011 AT hotmail.com at 2012-08-18 09:56:11 UTC ***

Happened to me on the new build. Problem's not fixed.
*** Original post on bio 1613 by deOmega <jahkae AT gmail.com> at 2012-08-20 13:45:02 UTC ***

I am on the 1.2 official release... and  it is happening to me also this morning.
*** Original post on bio 1613 by deOmega <jahkae AT gmail.com> at 2012-08-20 14:18:56 UTC ***

Only way I could propose duplicating it is to  subscribe to very active stream sources.  I could give suggestions, but I am sure there are enough to be found.
*** Original post on bio 1613 at 2012-08-23 21:21:45 UTC ***

It's also happened to me now. I wondered why the feed seemed to have gone silent, disconnected and reconnected, and a ton of backdated tweets appeared.
OS: Windows 7 → All
Hardware: x86 → All
Whiteboard: [regression]
*** Original post on bio 1613 by bluemaximax011 AT hotmail.com at 2012-08-24 02:00:05 UTC ***

Sometimes backdated tweets don't appear. One or two are dropped from the stream (I have checked).
*** Original post on bio 1613 by bluemaximax011 AT hotmail.com at 2012-08-24 14:18:07 UTC ***

Also the disconnect can happen very quickly, even after one or two tweets
*** Original post on bio 1613 at 2012-11-02 00:22:12 UTC ***

I (or anybody else) need to spend time investigating what's going on here before we release 1.3.
Whiteboard: [regression] → [1.3-blocking][regression]
Attached patch Patch (obsolete) — Splinter Review
*** Original post on bio 1613 as attmnt 2080 at 2012-11-10 19:33:00 UTC ***

During my tests today with NSPR_LOG_MODUES=nsHttp:5 on a debug build, I saw that necko wasn't aware that the stream is dead after the computer has slept for a few minutes (and netstat still shows the connection too), so I think the only solution is to add a timer in the twitter code to reopen the user stream if it has stalled.

The twitter server reliably send us some whitespace in the stream every 30s, so using 2 minutes as the timeout seems safe.

I wondered if when timeouting we should disconnect the account and make a full new connection attempt, or just reopen the stream. I decided for the latter before the former would require a localizable string for the connection error (and we are already past the 1.3 string freeze). I suspect this may lead to missing a few tweets in some corner cases, but I'm not completely sure if the stream sends us a few recent message when connecting or starts with live messages directly.

This patch should already be a huge improvement compared to the status quo, and doesn't seem too risky to me (ie I think we could take it for 1.3).
Attachment #8353840 - Flags: review?(bugzilla)
Assignee: nobody → florian
*** Original post on bio 1613 by deOmega <jahkae AT gmail.com> at 2012-11-10 20:00:29 UTC ***

This sounds great and very promising.  Looking forward to trying it out in the beta. Is it possible to add a manual refresh button or does the proposed implementation make this unnecessary?
*** Original post on bio 1613 at 2012-11-10 20:03:57 UTC ***

Comment on attachment 8353840 [details] [diff] [review] (bio-attmnt 2080)
Patch

>I wondered if when timeouting we should disconnect the account and make a full
>new connection attempt, or just reopen the stream. I decided for the latter
>before the former would require a localizable string for the connection error
>(and we are already past the 1.3 string freeze). I suspect this may lead to
>missing a few tweets in some corner cases, but I'm not completely sure if the
>stream sends us a few recent message when connecting or starts with live
>messages directly.
When subscribing to a timeline we specify from which tweet we wish to receive the timeline. It does seem possible we might miss some tweets this way if we are unlucky - this will have to be tested. But if the connection was dropped at the server end (which seems likely as the pings are no longer sent) this might not be the case.

I can't test this as I never could reproduce this bug (though it happened to me once or twice), but it's clearly a massive improvement over the status quo. We should find out if we are losing tweets though and if necessary fix that after 1.3.
Comment on attachment 8353840 [details] [diff] [review]
Patch

*** Original change on bio 1613 attmnt 2080 at 2012-11-10 20:05:08 UTC ***

BIO dropped the r+
Attachment #8353840 - Flags: review?(bugzilla) → review+
Attached patch Patch v2Splinter Review
*** Original post on bio 1613 as attmnt 2081 at 2012-11-10 22:39:00 UTC ***

I had after-thoughts about this during dinner, and I think the risk of losing some tweets while we are offline is unacceptable, especially if we are offline for a long time while a laptop is asleep.

I prefer going with the solution of really disconnecting the account (I need an error message for that and I can't add a localizable string now, so I just used "timeout"; I will file a bug to get that localized for 1.4).

Also, I remembered that Twitter has some kind of specification about this (https://dev.twitter.com/docs/streaming-apis/connecting#Stalls) and the spec specifies that we should use 90s as a timeout, so I changed my 2 minutes timeout to 90s.
Attachment #8353841 - Flags: review?(bugzilla)
Comment on attachment 8353840 [details] [diff] [review]
Patch

*** Original change on bio 1613 attmnt 2080 at 2012-11-10 22:39:18 UTC was without comment, so any subsequent comment numbers will be shifted ***
Attachment #8353840 - Attachment is obsolete: true
Comment on attachment 8353841 [details] [diff] [review]
Patch v2

*** Original change on bio 1613 attmnt 2081 at 2012-11-10 22:42:04 UTC ***

As discussed on IRC, this is definitely the better and correct way to go, given the spec.
Attachment #8353841 - Flags: review?(bugzilla) → review+
*** Original post on bio 1613 at 2012-11-10 22:45:57 UTC ***

(In reply to comment #23)
> This sounds great and very promising.  Looking forward to trying it out in the
> beta.

It should be in the next nightly. Feedback welcome as usual, and maybe even more than usual, as we are going to release 1.3 very soon and want to be sure it's working correctly.

> Is it possible to add a manual refresh button or does the proposed
> implementation make this unnecessary?

A manual refresh button doesn't really make sense, except if you think that having a twitter stream stalled for 90 seconds is unacceptable; and you know it's stalled (unless you typically have tweets appearing every second, I don't see how you could know that in less than 90 seconds). In that case, the way to manually refresh the stream immediately is to go to the account manager, disconnect the twitter account, and reconnect it.
*** Original post on bio 1613 at 2012-11-10 23:48:10 UTC ***

http://hg.instantbird.org/instantbird/rev/1566e1bf0c8b
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.3
*** Original post on bio 1613 by bluemaximax011 AT hotmail.com at 2012-11-11 09:49:01 UTC ***

This isn't fixed, I'm sorry to say. Happened to me again in the latest nightly.
*** Original post on bio 1613 at 2012-11-11 23:56:58 UTC ***

(In reply to comment #30)
> This isn't fixed, I'm sorry to say. Happened to me again in the latest nightly.

What is the date for the "latest" nightly you're using? What OS was it on? Are you sure there was a nightly built for your system that night?
*** Original post on bio 1613 by bluemaximax011 AT hotmail.com at 2012-11-12 00:03:51 UTC ***

(In reply to comment #31)
> (In reply to comment #30)
> > This isn't fixed, I'm sorry to say. Happened to me again in the latest nightly.
> 
> What is the date for the "latest" nightly you're using? What OS was it on? Are
> you sure there was a nightly built for your system that night?

Apologies, flo informed me that the nightly build I was using didn't have the fix applied. Using the new one now, will report back if I have any problems.
*** Original post on bio 1613 by deOmega <jahkae AT gmail.com> at 2012-11-12 13:28:40 UTC ***

No problems thus far.  Thank you.  Someone I cannot imagine this not resolving this issue anyway using the presented method.
You need to log in before you can comment on or make changes to this bug.