Ticket #13362 (closed defect: fixed)
message history loads some sections of conversation multiple times
| Reported by: | mathuaerknedam | Owned by: | |
|---|---|---|---|
| Milestone: | Adium 1.4.2 | Component: | Message View |
| Version: | 1.4 | Severity: | regression |
| Keywords: | duplicate logs history | Cc: | |
| Patch Status: |
Description (last modified by evands) (diff)
Summary
Message history loads some sections of conversation multiple times.
Steps to reproduce
When I see it, it's consistent in that opening and closing the window or changing messages styles doesn't affect the bug. But I don't often notice it happening, so I don't know how to reproduce it. Since message history is loaded from the logs, maybe I can find a problem log and attach it to let others try reproducing this. Should that work?
Expected results
Each message in the chat transcript should be loaded once, up to the set number of lines.
Actual results
Some sections of conversation are repeated. In the conversation for the attached pic, the visible segment of conversation was repeated 4 times in 200 lines of history.
Regression
I think I've seen this for a long time, at least as long ago as when IRC was added, but it's always been hard to reproduce and I've often gone long periods without seeing it. It's also in 1.5hgr2871, but I don't believe it happens in 1.3.
Attachments
Change History
comment:1 Changed 3 years ago by mathuaerknedam
- Severity changed from normal to regression
- Description modified (diff)
- Milestone set to Adium 1.4
Changed 3 years ago by mathuaerknedam
-
attachment
#adium (2009-11-10T14.58.36-0600).xml
added
Logfile from #adium
Changed 3 years ago by mathuaerknedam
-
attachment
Picture 44.png
added
Pic of the chat window after loading attached log as message history
Changed 3 years ago by mathuaerknedam
-
attachment
##php (2009-11-09T09.45.16-0600).xml
added
##php log
comment:2 Changed 3 years ago by mathuaerknedam
I've attached two log files, hopefully someone can use them to reproduce this. Looking at the pic, you can easily see how the messages from ThainEshKelch and holdenss are duplicated. In the ##php log the messages from "FSX, basically" to "I thought drupal" gets repeated a few times, and the attached pic shows how the message history doesn't even appear to be loading and/or displaying the logs in chronological order.
comment:3 Changed 3 years ago by mathuaerknedam
I just verified that if I delete all other logs from #adium and open the chat window, the problem reoccurs. With a message history of 200 lines, the two messages are repeated twice at the very end (as seen int eh pic) and then occur only once before that. I tried changing the message history to 10 lines, and the problem still exists, so I don't think it's related to any particular message history line count.
comment:4 Changed 3 years ago by cbarrett
- Owner set to cbarrett
I'm going to try to repro this with the attached logs. If I can reproduce, I'll take a stab at fixing it.
comment:6 Changed 2 years ago by Zachary West <zacw@…>
(In 37f86ef91f64) Code simplification; remove the old preferences, and don't use a static variable to count the lines. Refs #13362.
I can't imagine using a static variable like this wouldn't cause problems, especially with "save chats" enabled; we'd be messing with the same static variable like crazy. I'm betting this explains some weird context problems, so let's see if this helps #13362.
comment:7 Changed 2 years ago by Zachary West <zacw@…>
(In fa988de96a94) Don't deal with autorelease pools on the file level; deal with it in terms of chats. Refs #13362.
comment:8 Changed 2 years ago by Zachary West <zacw@…>
(In 2a385da3eace) Don't use any instance variables to control parsing, use the parser's context info. Refs #13362.
comment:9 Changed 2 years ago by Zachary West <zacw@…>
(In 24c471ce6c9e) Avoid draining items we're still using; fix for some reason putting "Value" in this context object. Refs #13362.
comment:10 Changed 2 years ago by Zachary West <zacw@…>
- Status changed from new to closed
- Resolution set to fixed
(In 0eb39f6eb39c) Fix the context parser ignoring pages. Fixes #13362.
Every iteration was doing:
- Move to location for reading.
- Read
- Move to location for next read.
So we were skipping reads like a mofo here. I believe this fixes any remaining context issues that un-instance-variableing didn't hit.
comment:13 Changed 2 years ago by zacw
- Status changed from closed to new
- Resolution fixed deleted
There's just a whole mess of bugs in the context stuff.
These fixed a set of bugs, too. but I am seeing the "multiple" problem too; it's not in the parser now, it's in dealing with LMX.
comment:14 Changed 2 years ago by Zachary West <zacw@…>
(In 51687f71fc63) Fix a few more issues with context reading; if we're reading less than readSize, we need to decrement readSize too. Refs #13362.
comment:15 Changed 2 years ago by Zachary West <zacw@…>
- Status changed from new to closed
- Resolution set to fixed
(In fd43f6298e71) LMX.framework with my change at http://bitbucket.org/zacwest/lmx-currentindexfix/changeset/9c19b3a4067c/, fixes currentIndex being lost, and repeating elements when processing multiple chunks. Fixes #13362.
comment:16 Changed 2 years ago by Zachary West <zacw@…>
(In 37762b593bc4) LMX.framework with my change at http://bitbucket.org/zacwest/lmx-x86_64-currentindexfix/changeset/c6c1e2dedf92/, fixes currentIndex being lost, and repeating elements when processing multiple chunks. Refs #13362.
/me shakes fist at sholt for applying his changes to the branch.
comment:18 Changed 2 years ago by David Munch
This problem has resurfaced again in 1.4hg, and I assume it is caused by the commit that Evan made in #13499?
My console spits this out, don't know if it is related: 15/03/10 10.46.38, 15. mar, uge 11 Adium[142] Attempting to correct for old proxy listobject, keyed IRC.psychs-#growl.3
comment:19 Changed 2 years ago by mathuaerknedam
- Status changed from closed to new
- Resolution fixed deleted
- Milestone set to Adium 1.4
comment:20 Changed 2 years ago by evands
- Status changed from new to closed
- Resolution set to fixed
This should be fixed (again) with sholt's change in [1721a9e92faf]:
changeset: 3157:1721a9e92faf user: Stephen Holt <sholt@adium.im> date: Sun Mar 14 00:47:48 2010 -0500 summary: Use a ppc/i386/x86_64 binary for LMX. (merged my x86_64 fixes and zac's currentIndex fix in http://bitbucket.org/sholt/lmx/). Build fix part The Second.
Please reopen if continued problems at tip. (David, that console logging is unrelated).
comment:22 Changed 22 months ago by mathuaerknedam
- Status changed from closed to new
- Version changed from 1.5hg to 1.4b18
- Resolution fixed deleted
- Milestone set to Adium 1.4
I'm seeing this again, in 1.4b18. :(
comment:25 Changed 22 months ago by cbarrett
- Owner set to cbarrett
I'm going to try one more time to reproduce this.
comment:26 Changed 22 months ago by David Munch
For what it is worth (And sorry for logging on and off 20 times on IRC while testing :P): I have Adium set to remember the last 10 lines of history when I open a chat. If I close an IRC window, and reopen it, Adium of course remembers the last 10 lines and shows them. If I then close it again, and reopen, only 10 lines are shown. If I then close the chat, reopen it, and then quit Adium and relaunch it, I get two outcomes:
- If the conversation of the last 'session' in the IRC room was a long one, Adium displays enough lines to fill the message window.
- If the conversation of the last 'session' in the IRC room was short, Adium displays it twice - By short, I mean so few lines, that the conversation can be displayed twice in the message window without activating the scrollbar.
comment:27 Changed 20 months ago by evands
- If you're seeing this now, please email me a zip file of the chat transcripts folder for the contact it happens on. Last time, anyways, it had to do with very particular content of the transcript.
- David, what is a 'long' conversation? Do you mean more than the 10 lines you've specified?
comment:28 Changed 20 months ago by David Munch
Hi Evan,
No, I'm not seeing it right now unfortunately. I even tried testing the steps I posted above to no avail. It seems that I can only repeat it, if it has already happened with a piece of history. But I'll keep my eye out, as I usually see it somewhat regularly.
By a short conversation I mean a list of messages that only take up one line in the window each. So by long, I mean a list of messages where several of them needs more lines. I have a hunch, at least by experience the last time I witnessed this, that it has something to do with wether or not the last X lines of history can be displayed twice in the message view, without the appearence of the scrollbar. I've attached a screenshot to better visualize what I mean.
Changed 20 months ago by David Munch
-
attachment
RepeatedMessagesBug.jpg
added
A visual description of the bug, from my experience
comment:29 Changed 20 months ago by mathuaerknedam
Using 1.4b18 I just verified repeating message history in seven chats. I left the windows open, launched 1.5hgd1c7e2b6b9d3 (tip as of right now), checked in the automatically opened chats, and could not find an instance of repeating message history. My problems did follow the sort of trend described by David.
As far as *I* can tell, this issue is resolved.
comment:30 Changed 20 months ago by David Munch
I'd also say we close this one. I haven't seen it lately where it *should* have triggered, based on my descriptions above.
comment:31 Changed 20 months ago by Robby
- Status changed from new to closed
- Resolution set to fixed
- Milestone Adium 1.4 deleted
Okay! :)
comment:32 Changed 20 months ago by David Munch
- Keywords duplicate logs history added
- Status changed from closed to new
- Version changed from 1.4b18 to 1.4b19
- Resolution fixed deleted
- Milestone set to Adium 1.4
Okay, just got hit with it again on 1.4b19. Attached screenshots and .chatlog.
Changed 20 months ago by David Munch
-
attachment
1.4b19 Message Window.jpg
added
Message window showing the bug in 1.4b19
Changed 20 months ago by David Munch
-
attachment
1.4b19 Transcript viewer.jpg
added
Transcriptviewer not showing the bug in 1.4b19
Changed 20 months ago by David Munch
-
attachment
#adium (2010-09-30T09.38.06+0200).chatlog.zip
added
1.4b19 chatlog that has the problem
comment:33 Changed 20 months ago by mathuaerknedam
As far as I can tell, the fix never made it into 1.4, only 1.5.
comment:34 Changed 20 months ago by David Munch
- Status changed from new to closed
- Resolution set to fixed
Ah, didn't know that 1.5 had a fix. Closing in that case.
comment:36 Changed 20 months ago by mathuaerknedam
- Status changed from closed to new
- Resolution fixed deleted
- Milestone set to Adium 1.4
Actually, the fix needs merged/transplanted/whatever into 1.4 too.
comment:37 follow-ups: ↓ 41 ↓ 49 Changed 20 months ago by evands
- Description modified (diff)
The changes mentioned above are related to the chat transcript viewer, not message history; they are unrelated to this bug. 85a3f8c6136e is the change which fixes this ticket originally, and it is on adium-1.4.
Does this *only* happen for IRC chats, David?
Could you please provide a debug log of it happening (next time, if you don't have debug logs being saved to disk that you can match up to this timeframe)?
comment:39 Changed 20 months ago by mathuaerknedam
Weird coincidence. I saw problems after 85a3f8c6136e. Colin said he'd take a look and a week later committed 4dc4e5bceaa9 to 1.5. Five weeks later when I tried again, I could repoduce the problem in 1.4b18 (which included 85a3f8c6136e) but not 1.5 (which included Colin's change).
Sorry to confuse things.
comment:40 Changed 20 months ago by evands
I think Colin was poking around that neighborhood and just got interested in fixing an unrelated flaw (that we were using complex, deprecated code in favor of the possibility of simpler, modern code) :)
comment:41 in reply to: ↑ 37 Changed 20 months ago by David Munch
Replying to evands:
Does this *only* happen for IRC chats, David?
Could you please provide a debug log of it happening (next time, if you don't have debug logs being saved to disk that you can match up to this timeframe)?
I can not recall it happening on any non-IRC protocol, but that mean matter I haven't seen. The bug usually only pops up 1-2 times a month, and I have way more activity on my IRC rooms which are always open, compared to IM conversation..
I'll try to get the debug log.
comment:42 Changed 20 months ago by zacw
- Milestone changed from Adium 1.4 to Adium 1.4.1
Sounds like the majority of these bugs were fixed by the earlier changes. When we have a reproduction case let's fix the rest.
comment:43 Changed 20 months ago by mathuaerknedam
I was able to reproduce this 12 days ago (on 1.4b18, but not 1.5hg) with several different contacts. The transcripts are on my work computer, and I probably won't be able to get debug logs until Monday.
Changed 20 months ago by David Munch
-
attachment
1.4b19 Screenshot.jpg
added
Screenshot along with debuglog, 1.4b19
comment:44 Changed 20 months ago by David Munch
Screenshot + debug log in 1.4b19 of the problem on #adium. Let me know if you want the .chatlog.
comment:45 Changed 19 months ago by David Munch
- Version changed from 1.4b19 to 1.4
Still a problem in 1.4.
comment:49 in reply to: ↑ 37 Changed 16 months ago by sphynx
- Status changed from new to closed
- Resolution set to fixed
Replying to evands:
The changes mentioned above are related to the chat transcript viewer, not message history; they are unrelated to this bug. 85a3f8c6136e is the change which fixes this ticket originally, and it is on adium-1.4.
Yes, but 1721a9e92faf wasn't transplanted. I don't know how the LMX binaries differ exactly, but as is mentioned multiple times that this does occur on -1.4 but not on trunk, I think it is really fixed now in 327927ad486c.
comment:50 Changed 15 months ago by mathuaerknedam
I can confirm that this does appear to fix the bug for me.

