RE: Jabber Presence and Roster Issue - Client connections notclosing on database?

"DeMena, Ronald" <Ronald.DeMena-Y/[email protected]> Thu, 6 Jan 2005 12:22:23 -0500
Newsgroups gmane.network.jabber.exodus.user,gmane.network.jabber.admin
Message-ID <561E05732443A84A9BB3A75519C098F6016376FA@usa0300ms03.na.xerox.net>
It also appears the clients that had the problem were letting their
laptops go to sleep...

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of DeMena, Ronald
Sent: Thursday, January 06, 2005 12:03 PM
To: jadmin-/[email protected]; [email protected]
Subject: [Exodus] Jabber Presence and Roster Issue - Client connections
notclosing on database?

I am sending this to both lists as I feel the problem may exist as a
combination of factors unknown yet.

Before this morning, I had the following configuration:

Solaris 9 OE
Jabberd 2.0s6 (with IDN, SSL, MYSQL)
	libidn 0.5.4
	OpenSSL 0.9.7c 30 Sep 2003
	mysql  Ver 12.22 Distrib 4.0.20, for sun-solaris2.9 (sparc)

101 Users Registered
Average Roster Size is 45 JID's

1st Problem Description: Presence problems are being reported across all
users, some subscriptions are not showing presence or always pending.
2nd Problem Description: 4 Users are using the Exodus 0.9.0.0 Client and
lose their rosters every time they login and have to re-create them.

Problem 1 appeared to take care of itself when I updated to JabberD
2.0s6 this morning.  The presence information between myself and several
other users are working again the way we would expect such to.

Problem 2 is not resolved.  At this time we have found that the rosters
they generated before the JabberD update were not writing to the MySQL
database.  Now after we flush the user information for the particular
use from the database they write out again to the tables.  It appears to
be independent of the client because if he uses another users client his
list does not come up there either.

I am curious what this bug is really about and if it causes a problem on
the server:
http://jabberstudio.org/projects/exodus/bugs/view.php?id=479

And I am curious if the SM or C2S may be part of the problem as I have
come across some possibilities at:
http://www.marquard.net/jabber

Also I read an interesting item which makes me wonder if the server is
not connecting to the MySQL DB and addressing the DB properly as in:
http://jabberstudio.org/projects/jabberd2/bugs/view.php?id=4666

Thinking about MySQL, the DB had not been restarted so I did.  (Brought
JabberD down, the MySQL down, MySQL up, JabberD up) Now the
roster-items.MYI file is in use can not be accessed by MySQL

No one has rosters!

Brought everything back down again.

Checking the tables showed.
===================MySQL Check==========================
root@jabber-node1:26>myisamchk *.MYI Checking MyISAM file: active.MYI
Data records:      95   Deleted blocks:       0
myisamchk: warning: 4 clients are using or haven't closed the table
properly ...
MyISAM-table 'active.MYI' is usable but should be fixed
---------
Checking MyISAM file: authreg.MYI
Data records:     101   Deleted blocks:       0
myisamchk: warning: 3 clients are using or haven't closed the table
properly ...
MyISAM-table 'authreg.MYI' is usable but should be fixed
---------
Checking MyISAM file: disco-items.MYI
Data records:       0   Deleted blocks:       0
---------
Checking MyISAM file: logout.MYI
Data records:      96   Deleted blocks:       0
myisamchk: warning: 3 clients are using or haven't closed the table
properly ...
MyISAM-table 'logout.MYI' is usable but should be fixed
---------
Checking MyISAM file: motd-message.MYI
Data records:       1   Deleted blocks:       0
---------
Checking MyISAM file: motd-times.MYI
Data records:      61   Deleted blocks:       0
---------
Checking MyISAM file: privacy-default.MYI
Data records:       2   Deleted blocks:       0
---------
Checking MyISAM file: privacy-items.MYI
Data records:       2   Deleted blocks:       0
---------
Checking MyISAM file: private.MYI
Data records:       3   Deleted blocks:       0
myisamchk: warning: 1 client is using or hasn't closed the table
properly ...
MyISAM-table 'private.MYI' is usable but should be fixed
---------
Checking MyISAM file: queue.MYI
Data records:       7   Deleted blocks:     205
myisamchk: warning: 1 client is using or hasn't closed the table
properly ...
MyISAM-table 'queue.MYI' is usable but should be fixed
---------
Checking MyISAM file: roster-groups.MYI
Data records:    2109   Deleted blocks:      20
myisamchk: warning: 2 clients are using or haven't closed the table
properly ...
MyISAM-table 'roster-groups.MYI' is usable but should be fixed
---------
Checking MyISAM file: roster-items.MYI
Data records:    1884   Deleted blocks:     180
myisamchk: warning: Table is marked as crashed
myisamchk: warning: 2 clients are using or haven't closed the table
properly
- check file-size
myisamchk: warning: Size of datafile is: 266952          Should be:
266860
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
myisamchk: error: Can't read key from filepos: 51200
- check record links
myisamchk: error: Record-count is not ok; is 1885         Should be:
1884
myisamchk: warning: Found       2817 parts                Should be:
2816 parts
MyISAM-table 'roster-items.MYI' is corrupted Fix it using switch "-r" or
"-o"
---------
Checking MyISAM file: vacation-settings.MYI
Data records:       0   Deleted blocks:       0
...
---------
Checking MyISAM file: vcard.MYI
Data records:      11   Deleted blocks:       0
myisamchk: warning: 2 clients are using or haven't closed the table
properly ...
MyISAM-table 'vcard.MYI' is usable but should be fixed

Preformed the repair on the appropriate tables with the myisamchk -r -q
command

root@jabber-node1:35>myisamchk *.MYI
Checking MyISAM file: active.MYI
Data records:      95   Deleted blocks:       0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check record links

---------

Checking MyISAM file: authreg.MYI
Data records:     101   Deleted blocks:       0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check record links

---------

Checking MyISAM file: disco-items.MYI
Data records:       0   Deleted blocks:       0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check record links

---------

Checking MyISAM file: logout.MYI
Data records:      96   Deleted blocks:       0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check record links

---------

Checking MyISAM file: motd-message.MYI
Data records:       1   Deleted blocks:       0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check record links

---------

Checking MyISAM file: motd-times.MYI
Data records:      61   Deleted blocks:       0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check record links

---------

Checking MyISAM file: privacy-default.MYI
Data records:       2   Deleted blocks:       0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check record links

---------

Checking MyISAM file: privacy-items.MYI
Data records:       2   Deleted blocks:       0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check record links

---------

Checking MyISAM file: private.MYI
Data records:       3   Deleted blocks:       0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check record links

---------

Checking MyISAM file: queue.MYI
Data records:       7   Deleted blocks:     205
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check record links

---------

Checking MyISAM file: roster-groups.MYI
Data records:    2109   Deleted blocks:      20
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check record links

---------

Checking MyISAM file: roster-items.MYI
Data records:    1885   Deleted blocks:     180
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check record links

---------

Checking MyISAM file: vacation-settings.MYI
Data records:       0   Deleted blocks:       0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check record links

---------

Checking MyISAM file: vcard.MYI
Data records:      11   Deleted blocks:       0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check record links
root@jabber-node1:36>
================End of MySQL Check=======================

Everyone has rosters again except for those 4 people who I guess were
victims of the corruptions.

It also appears that now any of our Exodus clients greater than 0.9.0.0
can not use the JUD search tool now.
But then again we only support 0.9.0.0 in our environment right now as
our client software.

Is there any possibility this could be caused by exodus, a combination,
or is it completely dependent on the server?

If so is there a bug for this already or feature request?  Client
connections are not closing out properly...is my final theory, but
where.
I am sorry I don't have debug enabled on my server otherwise I would run
it for you all.

Any advice from other Jabber Administrators? Developers? Exodus
Developers? Branders?
_______________________________________________
Exodus mailing list
[email protected]
http://mail.jabber.org/mailman/listinfo/exodus