Adium

Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#4321 closed defect (fixed)

Log Viewer still crashes on 10.3 with 1.0 alphas

Reported by: jmpp@opendarwin.org Owned by: nobody
Milestone: Adium X 1.0 Component: None
Version: Severity: normal
Keywords: Cc: jmpp@…
Patch Status:

Description (last modified by Peter Hosey)

The title pretty much says it all, Adium is still crashing on Panther whenever I try to open the Log Viewer. Steps to reproduce: pretty simple, the app dies quite instantly whenever I try to open the Log (Chat Transcripts) Viewer. I'm using Adium 1.0a3, which means evand's r16390 is already in, but nevertheless I'm still getting this in the Console:

2006-06-26 11:19:48.274 Adium.real[6308] Caught exception: NSInvalidUnarchiveOperationException - *** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (NSDatePicker)
2006-06-26 11:19:48.286 Adium.real[6308] Launching the Adium Crash Reporter because an exception of type NSInvalidUnarchiveOperationException occurred:
*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (NSDatePicker)

Which probably means there's still a reference to that class somewhere. I don't know if related, but when I relaunch Adium I get this on the Console:

** (process:6348): CRITICAL **: gaim_account_get_state: assertion `account != NULL' failed

** (process:6348): CRITICAL **: gaim_account_get_state: assertion `account != NULL' failed

I like to believe I'm rather savvy at the terminal, so don't hesitate to ask should you need further info to debug this. OS I'm on: fully up to date Panther (10.3.9 with all Security and Java --non beta, I believe-- updates applied) on a Pismo (G3) PowerBook, with an Xcode installation.

Regards,

-jmpp

Attachments (11)

a7 log viewer crash.txt (731 bytes) - added by Macskeeball 14 years ago.
a11 log viewer crash.txt (17.0 KB) - added by Macskeeball 14 years ago.
a12 log viewer crash.txt (390 bytes) - added by Macskeeball 14 years ago.
a13 log viewer crash.txt (21.1 KB) - added by Macskeeball 14 years ago.
Crash on selecting a contact in the log viewer
Adium.real.crash.log.gz (6.3 KB) - added by Juan Manuel Palacios 14 years ago.
Crash log
a15 log viewer crash.txt (5.7 KB) - added by Macskeeball 14 years ago.
Zoom button (green button)-
a15 log viewer crash 2.txt (1.3 KB) - added by Macskeeball 14 years ago.
Suddenly I'm getting a crash on launch when I attempt to open the log viewer, which is weird because it opened before in this same version.
Adium.real.crash.log (42.1 KB) - added by adium 14 years ago.
Adium.real.crash.2.log (45.3 KB) - added by adium 14 years ago.
crash log from a18 on 10.3.9
Adium.real.crash.log.2.gz (6.2 KB) - added by Juan Manuel Palacios 14 years ago.
a19's crash log
b1 log viewer crash.txt (1.3 KB) - added by adium 14 years ago.
Macskeeball

Download all attachments as: .zip

Change History (69)

comment:1 in reply to:  description Changed 14 years ago by adium

I also experience this crash. I'm on 10.3.9, all updated.

comment:2 Changed 14 years ago by Chris Forsythe

Milestone: Adium X 1.0 Beta

comment:3 Changed 14 years ago by Evan Schoenberg

Resolution: fixed
Status: newclosed

(In [16421]) * Fixed #4321, another 10.3 crash in the log viewer

  • Fixed #4332, scroll bars (and sizing) wrong on log viewer open in certain situations
  • Fixed #4334 I believe - can't reproduce now with the other fixes. Please reopen if not.

comment:4 Changed 14 years ago by jmpp@…

Resolution: fixed
Status: closedreopened

I am now using Adium 1.0a5 but I'm afraid to say that I'm still experiencing the same crash whenever I try to open the Log Viewer, same reason: console spits out exception on NSDatePicker (confirmed by other users on irc). I'm therefore reopening this ticket.

Thanks for looking into it!

-jmpp

comment:5 Changed 14 years ago by Peter Hosey

The reason being that NSDatePicker only exists on Tiger. We need a second nib for Panther.

comment:6 Changed 14 years ago by Evan Schoenberg

We already have a second nib for Panther. The main LogViewer.nib is somehow referencing the class too even though it doesn't use it.

comment:7 in reply to:  6 Changed 14 years ago by Colin Barrett

Replying to evands:

We already have a second nib for Panther. The main LogViewer.nib is somehow referencing the class too even though it doesn't use it.

Perhaps the class is loaded in the class tree of the nib?

comment:8 Changed 14 years ago by Evan Schoenberg

Resolution: fixed
Status: reopenedclosed

I think you were right, cbarrett. catfish_man fixed this in [16460].

comment:9 Changed 14 years ago by jmpp@…

I'd be more than happy to test r16460 .... if you guys push an alpha build containing it ;-) (remember, Panther... Xcode 1.5, no source builds for me).

-jmpp

comment:10 Changed 14 years ago by Evan Schoenberg

1.0a6 is posted now. Let us know :)

comment:11 Changed 14 years ago by jmpp@…

Unfortunately a6 appears to be broken in some strange way... confirmed by many on irc, it bounces and bounces... and dies bouncing (some reported a 100% cpu usage spark while launching). Someone reported that, at the moment just after the a6 appcast had been committed (evand's r16466), his svn (trunk) build was working just fine, but not cachefly's dmg (which he downloaded manually, cause sparkle appeared to be broken again). This leads me to believe that the sources are just fine, but the dmg and/or its particular buld are in some way faulty <-- jmpp hypothesizes!

Will there be a new dmg? Or... has this been fixed already?

-jmpp

comment:12 Changed 14 years ago by Macskeeball

Resolution: fixed
Status: closedreopened

a7 no longer crashes on launch like a6 did, but the log viewer still causes a crash for me on 10.3.9

Changed 14 years ago by Macskeeball

Attachment: a7 log viewer crash.txt added

comment:13 Changed 14 years ago by Graham Booker

Resolution: fixed
Status: reopenedclosed

(In [16475]) NSPopupButton selectItemWithTag: is 10.4+ only. Fixes #4321

comment:14 Changed 14 years ago by adium

Not to be a smart ass, but maybe this shouldn't be closed until it's confirmed? ;-)

comment:15 Changed 14 years ago by Peter Hosey

Description: modified (diff)

comment:16 Changed 14 years ago by adium

Resolution: fixed
Status: closedreopened

a11's log viewer still causes a crash on 10.3.9

Changed 14 years ago by Macskeeball

Attachment: a11 log viewer crash.txt added

comment:17 Changed 14 years ago by Evan Schoenberg

Resolution: fixed
Status: reopenedclosed

(In [16505]) kSKMaximumTerms is also only available on 10.4. Fixes #4321. Again.

comment:18 Changed 14 years ago by Macskeeball

Resolution: fixed
Status: closedreopened

With a12, the log viewer actually displayed for a few brief seconds before crashing.

Changed 14 years ago by Macskeeball

Attachment: a12 log viewer crash.txt added

comment:19 Changed 14 years ago by David Smith

Resolution: fixed
Status: reopenedclosed

Fixed

comment:20 Changed 14 years ago by Macskeeball

Resolution: fixed
Status: closedreopened

As of a13, the log viewer is pretty much working (ie. it actually appears and can be used), but Adium still 'sometimes' crashes when attempting to do certain things with it. The crash log I am about to attach is from selecting a contact in the log viewer.

Changed 14 years ago by Macskeeball

Attachment: a13 log viewer crash.txt added

Crash on selecting a contact in the log viewer

comment:21 Changed 14 years ago by jmpp@…

Now using a14 (which reports itself as a9 still), the log viewer opens up just fine, but selecting a contact causes it to crash. Up to date Panther OS, as originally stated.

Attaching Adium.real.crash.log, as I sitll haven't been able to recover console logging :'-(

-jmpp

Changed 14 years ago by Juan Manuel Palacios

Attachment: Adium.real.crash.log.gz added

Crash log

comment:22 Changed 14 years ago by Evan Schoenberg

Thread 0 Crashed:
0   libobjc.A.dylib                	0x94efe204 objc_msgSend + 0x24
1   Adium.real                     	0x000b58a8 -[AIAbstractLogViewerWindowController outlineView:objectValueForTableColumn:byItem:] + 0x4c
2   com.apple.AppKit               	0x92e9d2c4 -[NSTableView drawRow:clipRect:] + 0x13c

Anyone know what this could even be? I'm mystified.

comment:23 Changed 14 years ago by David Smith

Might I suggest turning debug symbol stripping off for the next build? We might be able to get better crash data.

comment:24 Changed 14 years ago by Ryan Govostes

{ 0xb54b4 <-[AIAbstractLogViewerWindowController outlineView:objectValueForTableColumn:byItem:]+60>: mr r5,r3 0xb54b8 <-[AIAbstractLogViewerWindowController outlineView:objectValueForTableColumn:byItem:]+64>: mr r4,r29 0xb54bc <-[AIAbstractLogViewerWindowController outlineView:objectValueForTableColumn:byItem:]+68>: mr r3,r28 0xb54c0 <-[AIAbstractLogViewerWindowController outlineView:objectValueForTableColumn:byItem:]+72>: bl 0x104150 }

It looks to me that it's the [item isKindOfClass:[AIMetaContact class]] call. All I can say for certain is that $r3 is a AILogToGroup object, and $r5 is a AIMetaContact.

comment:25 Changed 14 years ago by Evan Schoenberg

1.0a15 has fuller debug logging, which hopefully will help.

Shouldn't the only way isKindOfClass:[AIMetaContact class] be able to crash is if the receiver is invalid? In which case, wtf is NSOutlineView doing over there?

comment:26 Changed 14 years ago by Macskeeball

When I click on the zoom button (the green button) a15 crashes.

Changed 14 years ago by Macskeeball

Attachment: a15 log viewer crash.txt added

Zoom button (green button)-

Changed 14 years ago by Macskeeball

Attachment: a15 log viewer crash 2.txt added

Suddenly I'm getting a crash on launch when I attempt to open the log viewer, which is weird because it opened before in this same version.

comment:27 in reply to:  26 ; Changed 14 years ago by Evan Schoenberg

Replying to Macskeeball:

When I click on the zoom button (the green button) a15 crashes.

What'd you change in your Shapeshifter settings?

comment:28 in reply to:  27 Changed 14 years ago by adium

Replying to evands:

Replying to Macskeeball:

When I click on the zoom button (the green button) a15 crashes.

What'd you change in your Shapeshifter settings?

The most recent change I made (which was today) was just adding Keychain Access to the exclude list. The theme I'm using is called Leopard Ultrablue.

Changed 14 years ago by adium

Attachment: Adium.real.crash.log added

comment:29 Changed 14 years ago by Blake

It crashes for me as well on 10.3.9. Sometimes doesn't crash the first time, Always crashes the second time (normally the first time as well) when I click the green zoom button.

comment:30 Changed 14 years ago by Evan Schoenberg

Okay, so line 1640 indeed indicates its the

	if ([item isKindOfClass:[AIMetaContact class]]) {

call.

...? *confused*

comment:31 Changed 14 years ago by Evan Schoenberg

bburky, are you using shapeshifter?

comment:32 Changed 14 years ago by Blake

Nope, just the plain Mac OS interface here.

comment:33 Changed 14 years ago by Ryan Govostes

How about

if ([item class] == [AIMetaContact class]) {

?

comment:34 Changed 14 years ago by Blake

Actually, looks like if I do anything in the viewer it crashes, not just the green zoom button. I clicked "Today" out of the time menu and it crashed too. I was just thinking the zoom button would be it because someone else said that.

comment:35 in reply to:  33 Changed 14 years ago by Evan Schoenberg

Replying to rgovostes:

How about

if ([item class] == [AIMetaContact class]) {

?

Well, that would work, too, I think, though I'm not positive -- do classes always pass equality testing like that? In any case, I don't see how that would be any different in terms of what's being accessed -- we still have to message both objects, and we're messaging both objects with selectors they know. What're your thoughts on what that would change?

comment:36 Changed 14 years ago by Ryan Govostes

Probably nothing! It just separates the calls so you know whether [AIMetaContact class] is invalid (probably not) or [item isKindOfClass:] (almost definitely) is. Is there some way to safely verify that you're passing a class at all?

http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/chapter_3_section_7.html discusses this (it looks like == comparison is valid).

comment:37 Changed 14 years ago by Evan Schoenberg

Good thinking :) I'll push an alpha with

	Class itemClass = [item class];
	if (itemClass == [AIMetaContact class]) {

so we can see which part is failing.

One possibility is that item has already been released... could you try the upcoming 1.0a16 with

  NSDebugEnabled
  NSZombieEnabled
  MallocStackLogging

enabled?

comment:38 Changed 14 years ago by Evan Schoenberg

(In [16538]) Separating out the isKindOfClass: call into multiple statements and direct comparison to try to hunt down the 10.3 log viewer crash. Refs #4321

comment:39 Changed 14 years ago by Ryan Govostes

I don't run 10.3 myself I might be able to snag a friend who runs it.

comment:40 Changed 14 years ago by Evan Schoenberg

Wait... you're experiencing a crash in the log viewer in 10.4?

comment:41 Changed 14 years ago by Ryan Govostes

No I never experienced the crash, I was just interpreting jmpp's crash log for you.

comment:42 in reply to:  41 ; Changed 14 years ago by adium

rgovostes' friend here,

1.0a16 crashes with the following logged to console:

2006-07-02 23:22:09.846 Adium.real[633] Caught exception: NSInvalidUnarchiveOperationException - * -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (NSDatePicker) 2006-07-02 23:22:09.850 Adium.real[633] Launching the Adium Crash Reporter because an exception of type NSInvalidUnarchiveOperationException occurred: * -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (NSDatePicker)

The contents of Adium.exception.log can be found here (pastebin was giving me trouble): http://rafb.net/paste/results/Hz7xIF73.html Adium's crash reporter seems to supress ordinary system crash logging (?), so I haven't posted Adium.crash.log.

comment:43 in reply to:  41 ; Changed 14 years ago by Evan Schoenberg

Replying to rgovostes:

No I never experienced the crash, I was just interpreting jmpp's crash log for you.

Ah, that makes sense - thanks :) Do you have a good page resource on how you were able to reach those conclusions? I'd love to be able to make those sorts of conclusions.

comment:44 in reply to:  43 Changed 14 years ago by David Smith

Replying to evands:

Replying to rgovostes:

No I never experienced the crash, I was just interpreting jmpp's crash log for you.

Ah, that makes sense - thanks :) Do you have a good page resource on how you were able to reach those conclusions? I'd love to be able to make those sorts of conclusions.

Try http://developer.apple.com/technotes/tn2004/tn2123.html, and http://developer.apple.com/technotes/tn2004/tn2124.html

comment:45 in reply to:  42 ; Changed 14 years ago by Evan Schoenberg

Replying to adium:

rgovostes' friend here,

1.0a16 crashes with the following logged to console:

2006-07-02 23:22:09.846 Adium.real[633] Caught exception: NSInvalidUnarchiveOperationException - *** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (NSDatePicker)

}}}

Are you sure that's 1.0a16? The other reports get past the nib loading, and I can't find any reference to NSDatePicker in the nib.

comment:46 in reply to:  45 Changed 14 years ago by adium

Replying to evands:

Are you sure that's 1.0a16? The other reports get past the nib loading, and I can't find any reference to NSDatePicker in the nib.

It says 1.0a16 in the about box; it's a build rgovostes sent me. I'd try a18, but the latest appcast seems to be a16 (since I'm on Panther, I can't build for myself). If someone wants to upload the latest binary for me to test, I'm available.

Changed 14 years ago by adium

Attachment: Adium.real.crash.2.log added

crash log from a18 on 10.3.9

comment:47 Changed 14 years ago by adium

Okay, a16 auto-updated itself to a18, and now the log viewer opens. Adium crashes a few seconds later, but at least it opens and displays! Nothing printed to console. Attached Adium.real.crash.log (2).

comment:48 in reply to:  47 Changed 14 years ago by Evan Schoenberg

Replying to adium:

Okay, a16 auto-updated itself to a18, and now the log viewer opens. Adium crashes a few seconds later, but at least it opens and displays! Nothing printed to console. Attached Adium.real.crash.log (2).

Yeah, the old build must have had an out-of-date nib file... rgovostes, can you make anything of the new crash log? I'm more than slightly confused by this whole affair.

comment:49 Changed 14 years ago by Evan Schoenberg

(In [16556]) Alright, 10.3 users, the next alpha will have some crazy logging in the problem method. Let's see what we see. Refs #4321

comment:50 Changed 14 years ago by Graham Booker

Summary: Log Viewer still crashes on 10.3 with Adium 1.0a3Log Viewer still crashes on 10.3 with 1.0 alphas

comment:51 Changed 14 years ago by Juan Manuel Palacios

Though it might add a bit more to the confusion.... I would like to point out that as of a18 I've been able to use the Log Viewer rather consistently on my Panther OS. The viewer managed to index all my logs, I was able to switch between several contacts, switch between conversations belonging to a particular contact, delete some logs, hide/show emoticons, etc, mostly without crashing. I was just about to report that I *had* been using the log viewer flawlessly with a18... until it crashed just now accessing a particular conversation. But other than that, I've been able to use it just fine. I'll report back here if I manage to make it crash again, attaching whatever relevant log I can find.

-jmpp

comment:52 Changed 14 years ago by Ryan Govostes

With NSZombieEnabled=YES, Adium does not crash on 10.3.

The problem seems to arise from item being released before being sent to the method above.

comment:53 Changed 14 years ago by Juan Manuel Palacios

Now using a19 and the log viewer crashed recently (though as I stated in my previous comment, I had been using it just fine for a while). Attaching the crash log, as the console (yeah, console logging is back!) didn't show anything incredibly different at the time of crashing to the other crazy bunch of stuff logged during regular usage due to evand's debug additions.

-jmpp

Changed 14 years ago by Juan Manuel Palacios

Attachment: Adium.real.crash.log.2.gz added

a19's crash log

comment:54 Changed 14 years ago by Chris Forsythe

Milestone: Adium X 1.0 Beta 1Adium 1.0 - After beta 1

We're not going to block b1 on this.

comment:55 Changed 14 years ago by adium

b1 crashes everytime I try to open the Log viewer.

Changed 14 years ago by adium

Attachment: b1 log viewer crash.txt added

Macskeeball

comment:56 Changed 14 years ago by Evan Schoenberg

Does this work in 1.0b3? I ask because #4526 clearly has a 10.3 user inside the log viewer...

comment:57 Changed 14 years ago by Juan Manuel Palacios

Resolution: fixed
Status: reopenedclosed

Sorry for not reporting back here (did on IRC ;-). I've been using the new log viewer just fine on Panther lately (a20, b1, b2, b3), other than the issue reported in #4526 . I hadn't closed this ticket cause I'd heard other Panther users where still having major issues with the log viewer, but as of now it's been rather long since I last had word from them. So therefore I'm close this, they can reopen it later if problems remain.

-jmpp

comment:58 Changed 14 years ago by Chris Forsythe

Milestone: Adium 1.0 - After beta 1Adium X 1.0
Note: See TracTickets for help on using tickets.