Adium

Opened 12 years ago

Closed 11 years ago

Last modified 9 years ago

#10588 closed defect (fixed)

Adium keeps spamming to system.log - syslogd at 20% CPU !!

Reported by: jan.eisklar Owned by: nobody
Milestone: Adium 1.3.1 Component: Adium Core
Version: Severity: normal
Keywords: Cc:
Patch Status:

Description (last modified by Evan Schoenberg)

As I said, Adium keeps spamming the system.log which is causing the syslogd to take up 20% of the CPU. I did deactivate syslogd for now, but this definitely should be fixed as soon as possible.

It logs about 4kb of data every second regardless of whether I'm connected or not.

This is what Adium's spam log entries look like:

Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x14164730 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x12423d90 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x13f32fa0 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x124ee740 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x1245dc00 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x1242a700 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x11c3dba0 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x13f88ab0 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x1246af30 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x11c3b5a0 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x1242cab0 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0xde12f70 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x11c58ad0 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x13f88ab0 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x1246af30 "Unrecognised leading character"
Jul 28 10:42:35 A319 Adium[319]: Error Domain=org.brautaset.JSON.ErrorDomain Code=3 UserInfo=0x14170d20 "Unrecognised leading character"

System: Macbook Pro Mac OS X 10.5.4 Adium 1.3b9

Change History (30)

comment:1 Changed 12 years ago by Evan Schoenberg

Description: modified (diff)

What's the Adium Debug Window output at the same time?

comment:2 Changed 12 years ago by Daniel Bergman

Milestone: Needs feedback from users
pending: 01

comment:3 Changed 11 years ago by d-b

I also have this problem with the current beta of Adium, Believe it has to do with Facebook, the debug window is full with lines like:

13:42:56: -[AIFacebookIncomingMessageManager connectionDidFinishLoading:]: Received (null)

comment:4 Changed 11 years ago by d-b

What is weird is that my FB account is disconnected now and the logging still occurs. However, when I try to disable the account (either when it is disconnected or connected), the disable account menu option is not there (only Disconnect, Set to current Adium status and Custom). Finally after disabling the FB account from within the preferences window, I can verify that these entries in system.log and in the debug window still are printed. The FB account does not seem to be disabled fully even though it is set to disabled.

However, after a restart of Adium I got rid of this excessive logging.

comment:5 Changed 11 years ago by André Hoffmann

pending: 10

If you restart Adium you get rid of it for a while, but it will start again. I tried several restarts, after ~1 minute it always restarted spamming the system.log.

The only way out is disabling syslogd.

comment:6 Changed 11 years ago by d-b

How do you (temporarily) disable syslogd?

comment:7 Changed 11 years ago by André Hoffmann

disable: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist

enable: sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist

comment:8 in reply to:  description ; Changed 11 years ago by Daniel Richards

From system.log

Aug 19 01:37:49 MacBook-Pro-2 Adium[419]: *** NSTimer ignoring exception 'Can't cache image' that raised during firing of timer with target 0x587430 and selector 'animateIcon:'
Aug 19 01:37:50: --- last message repeated 1757 times ---
Aug 19 01:37:50 MacBook-Pro-2 Adium[419]: *** NSTimer ignoring exception 'Can't cache image' that raised during firing of timer with target 0x54acb0 and selector 'flashTimer:'
Aug 19 01:37:50 MacBook-Pro-2 Adium[419]: *** NSTimer ignoring exception 'Can't cache image' that raised during firing of timer with target 0x587430 and selector 'animateIcon:'
Aug 19 01:47:23 MacBook-Pro-2 com.apple.launchd[1] (com.apple.syslogd[293]): Exited abnormally: Interrupt
Aug 19 01:37:50 MacBook-Pro-2 Adium[419]: *** NSTimer ignoring exception 'Can't cache image' that raised during firing of timer with target 0x587430 and selector 'animateIcon:'
Aug 19 01:48:08: --- last message repeated 127 times ---

High CPU usage, syslogd. I disabled. I use a message style with high transparency (etherial) and this all started when i was invited to a MSN group chat.

comment:9 in reply to:  8 Changed 11 years ago by Daniel Richards

Adium itself is using high CPU too... 45%

comment:10 Changed 11 years ago by d-b

Was 1.3 released without this bug being fixed? I think this bug should have very high priority, when this happens my computer (a fairly recent Macbook Pro) becomes more or less irresponsive and, I reckon, after a while Adium crashes due to the high load. Disabling the syslog is not something you can suggest to inexperienced users as a workaround.

comment:11 Changed 11 years ago by Robert

pending: 01

dankicksass, please file a separate ticket for your issue (ReportingBugs). I've been told yours is a different one than jan.eisklar's.
So, jan.eisklar, is still problem still there for you in 1.3?
d-b, the developer I asked about this ticket said he isn't sure whether yours is the same problem.

comment:12 Changed 11 years ago by Daniel Frett

I'm still experiencing this bug with the final version of 1.3, if I get a chance I'll compile the latest version from svn with debugging enabled and try to get a debugging log for this bug.

comment:13 Changed 11 years ago by James Gray

I have added some proxy log information to Ticket #10872 which appears to be a duplicate of this issue.

comment:14 Changed 11 years ago by Robert

Milestone: Needs feedback from usersAdium 1.3.2

comment:15 Changed 11 years ago by owlgorithm

I am having a similar problem. It appears when I use the Akkasone icon (from Xtras), but not when I use iAdiumBubble 2.1. It's logging like crazy -- syslogd is using about 65% of my available processing right now. Here's a snippet:

9/3/08 3:26:30 PM Adium[357] *** NSTimer ignoring exception 'Can't cache image' that raised during firing of timer with target 0x483220 and selector 'animateIcon:' 
9/3/08 3:26:30 PM Adium[357] *** NSTimer ignoring exception 'Can't cache image' that raised during firing of timer with target 0x483220 and selector 'animateIcon:' 
9/3/08 3:26:30 PM Adium[357] *** NSTimer ignoring exception 'Can't cache image' that raised during firing of timer with target 0x483220 and selector 'animateIcon:' 
9/3/08 3:26:30 PM Adium[357] *** NSTimer ignoring exception 'Can't cache image' that raised during firing of timer with target 0x483220 and selector 'animateIcon:' 
9/3/08 3:26:30 PM Adium[357] *** NSTimer ignoring exception 'Can't cache image' that raised during firing of timer with target 0x483220 and selector 'animateIcon:' 

I am using Adium 1.3 (final) on OS X 10.5.4.

comment:16 Changed 11 years ago by owlgorithm

My mistake -- my message needs to go to the icon's author. My apologies!

comment:17 Changed 11 years ago by Evan Schoenberg

Resolution: fixed
Status: newclosed

(In [25094]) Stop requesting incoming Facebook messages when Facebook disconnects. Fixes #10872. Fixes #10588. Both were symptoms of debug logging which would run amok when repeatedly faced with the invalid requests and invalid responses of requesting incoming messages for a disconnected Facebook account.

comment:18 Changed 11 years ago by Robert

Milestone: Adium 1.3.2Adium 1.3.1
pending: 10

comment:19 Changed 11 years ago by Evan Schoenberg

(In [25095]) merged [25094]: Stop requesting incoming Facebook messages when Facebook disconnects. Fixes #10872. Fixes #10588. Both were symptoms of debug logging which would run amok when repeatedly faced with the invalid requests and invalid responses of requesting incoming messages for a disconnected Facebook account.

comment:20 Changed 11 years ago by d-b

Is this really fixed? I still have this problem (Adium using 80-90% CPU, syslog is spammed) in 1.3.2

comment:21 Changed 11 years ago by Robert

Hi d-b, I don't whether it is the same problem but look it's looks similar: #11257.

comment:22 Changed 11 years ago by d-b

Actually, after looking closer at this, Adium no longer spams the logs. However, after networks problems, it still frequently uses 60-70% CPU and does something that forces DirectoryService to use around 20% CPU. Manually selecting Offline remedies the CPU usage.

comment:23 Changed 11 years ago by Robert

Please check the (next beta) release of 1.3.3. It features a different Facebook implementation which hopefully fixes most of the problems reported relating to Facebook. It should be out fairly soon, in the next ten days or so.

comment:24 Changed 9 years ago by d-b

Would it be possible to update the facebook-for-pidgin-plugin version used by Adium? I can't use the Jabber implementation because I don't have a Facebook username and don't want such a name as long as it can't be changed (e.g., if I divorce I don't want my FB-username to remind me of my name as married).

I am prepared to set up a bounty for this. Any other interested in such a project? Would someone be interested in fixing it for, for example, USD100?

comment:25 Changed 9 years ago by Robert

The plugin will not be updated. Instead, a migration from it to the proper, official way of connecting, via Jabber, is planned for Adium 1.4.3.

For you user name, you needn't use your family name, you can use a pseudonym or anything else you wish.

Last edited 9 years ago by Robert (previous) (diff)

comment:26 Changed 9 years ago by d-b

Are you stupid or what? The married name was just an example. You might have picked a "cool" pseudonym as a teenager that you might be unhappy with as adult. There are tons of reasons why people don't want a username. These are just two examples.

The JSON-plugin works excellent for Pidgin. Why can't it just be included with Adium? I understand that it might need some modifications, hence I offered to pay for someone to perform the necessary adations.

comment:27 in reply to:  26 Changed 9 years ago by Robert

Replying to d-b:

Are you stupid or what? The married name was just an example. You might have picked a "cool" pseudonym as a teenager that you might be unhappy with as adult. There are tons of reasons why people don't want a username. These are just two examples.

Wow, classy. Please take your real life frustration somewhere else.

User names are used everywhere. If using something recognisable for the user name is such a major problem for you, can choose a random combination of letters.

The JSON-plugin works excellent for Pidgin. Why can't it just be included with Adium? I understand that it might need some modifications, hence I offered to pay for someone to perform the necessary adations.

It has been a support burden for us from the beginning.

Now that there is an official way of connecting offered by Facebook there is no need to keep this web-scraping hack.

comment:28 in reply to:  26 ; Changed 9 years ago by James Gray

Replying to d-b:

Are you stupid or what? The married name was just an example. You might have picked a "cool" pseudonym as a teenager that you might be unhappy with as adult. There are tons of reasons why people don't want a username. These are just two examples.

Cool - abuse the devs and bug submitters for interpreting exactly what you wrote exactly as it is written. Hrm - want a username that isn't a wanky, juvenile pseudonym and isn't your married name....try one of these:

egrep '[A-Za-z]{8,14}' /usr/share/dict/words

comment:29 in reply to:  28 ; Changed 9 years ago by d-b

Replying to Centurion:

Cool - abuse the devs and bug submitters for interpreting exactly what you wrote exactly as it is written. Hrm - want a username that isn't a wanky, juvenile pseudonym and isn't your married name....try one of these:

???

I initially added a sensible and polite comment to this defect offering a bounty. In reply to that I got an offensive message indirectly suggesting I am more or less stupid:

For you user name, you needn't use your family name, you can use a pseudonym or anything else you wish.

Thanks for telling me. As if I didn't know. I always thought you had to spell out your full name, including your pets nickname in all online aliases you use (yes my full name is "d-" and then my cat is "b" hence my alias d-b).

What kind of antisocial diagnosis are you guys suffering from? Or is it just the reading comprehension that is lacking?

Anyway, my offer remains. Hopefully someone less square minded will pick it up.

comment:30 in reply to:  29 Changed 9 years ago by Thijs Alkemade

Replying to d-b:

???

I initially added a sensible and polite comment to this defect offering a bounty. In reply to that I got an offensive message indirectly suggesting I am more or less stupid:

We've blogged about it, there's a large red warning above the new ticket creation page, we've done a lot to let people know about the official way of connecting to Facebook, yet still we receive "bug reports" for the old Facebook account type. I say "bug report" because they're often not more than a title with the standard template. A lot of people who report problems with Facebook simply don't read. So yes, our patience with these reports is running thin, but even with that Rob's reply was just trying to be helpful, and you're abusing him for that.

So to summarize it once again: no, this issue will not be fixed. In 1.4.3 the current implementation will be completely removed. However, this version will also implement Facebook's OAuth login, which means you're saved from this horrible problem of picking a nickname.

Note: See TracTickets for help on using tickets.