[rt-users] Error, couldn't load 0 from the users database

2011-08-24 Thread Francisco Amaro
Hello all,

We are having a problem with our RT install, after a few years of almost
flawless service, today we noticed that emails weren't being sent.
We are using version 3.4.5, on Linux (FC4, MySQL 4.1).

The web interface works just fine, we can login, create/modify/close
tickets,
etc, but no emails are sent.

There is no apparent problem with the machine or the MySQL database,
and this is what appears on the RT log:

[Wed Aug 24 12:23:50 2011] [err]: Couldn't load 0 from the users database.
 (/opt/rt3/lib/RT/CurrentUser.pm:146)
[Wed Aug 24 12:23:50 2011] [warning]: Use of uninitialized value in
concatenation (.) or string at /opt/rt3/lib/RT/Principal_Overlay.pm line
425. (/opt/rt3/lib/RT.pm:287)
[Wed Aug 24 12:23:50 2011] [warning]: DBD::mysql::st execute failed: You
have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'AND ((ACL.ObjectType
= 'RT::Queue' AND ACL.ObjectId = 1) OR (ACL.ObjectType = 'R' at line 1 at
/usr/lib/perl5/site_perl/5.8.6/DBIx/SearchBuilder/Handle.pm line 505.
(/opt/rt3/lib/RT.pm:287)
[Wed Aug 24 12:23:50 2011] [warning]: RT::Handle=HASH(0x80c27d90) couldn't
execute the query 'SELECT ACL.id from ACL, Groups, Principals,
CachedGroupMembers ...

And them a few lines of failed SQL syntax erros and failed querys.

We browsed the users table, user ID 0 is there, no problem. A MySQL
check_table
didn't returned any errors. The only thing we saw that seemed strange was
that there
is reference to a user 1 on the LastUpdatedBy field, but there is no user 1
id.

Any thoughts on this ?




-- 
Francisco Amaro
Email: fam...@gmail.com

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Chicago, IL, USA — September 26  27, 2011
*  San Francisco, CA, USA — October 18  19, 2011
*  Washington DC, USA — October 31  November 1, 2011
*  Melbourne VIC, Australia — November 28  29, 2011
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] Error, couldn't load 0 from the users database

2011-08-24 Thread Kevin Falcone
On Wed, Aug 24, 2011 at 02:32:10PM +0100, Francisco Amaro wrote:
Hello all,
 
We are having a problem with our RT install, after a few years of almost
flawless service, today we noticed that emails weren't being sent.
We are using version 3.4.5, on Linux (FC4, MySQL 4.1).
 
The web interface works just fine, we can login, create/modify/close 
 tickets,
etc, but no emails are sent.
 
There is no apparent problem with the machine or the MySQL database,
and this is what appears on the RT log:
 
[Wed Aug 24 12:23:50 2011] [err]: Couldn't load 0 from the users database.
(/opt/rt3/lib/RT/CurrentUser.pm:146)
[Wed Aug 24 12:23:50 2011] [warning]: Use of uninitialized value in 
 concatenation (.) or
string at /opt/rt3/lib/RT/Principal_Overlay.pm line 425. 
 (/opt/rt3/lib/RT.pm:287)
[Wed Aug 24 12:23:50 2011] [warning]: DBD::mysql::st execute failed: You 
 have an error in your
SQL syntax; check the manual that corresponds to your MySQL server version 
 for the right
syntax to use near 'AND ((ACL.ObjectType = 'RT::Queue' AND ACL.ObjectId = 
 1) OR
(ACL.ObjectType = 'R' at line 1 at 
 /usr/lib/perl5/site_perl/5.8.6/DBIx/SearchBuilder/Handle.pm
line 505. (/opt/rt3/lib/RT.pm:287)
[Wed Aug 24 12:23:50 2011] [warning]: RT::Handle=HASH(0x80c27d90) couldn't 
 execute the query
'SELECT ACL.id from ACL, Groups, Principals, CachedGroupMembers ...
 
And them a few lines of failed SQL syntax erros and failed querys.
 
We browsed the users table, user ID 0 is there, no problem. A MySQL 
 check_table
didn't returned any errors. The only thing we saw that seemed strange was 
 that there
is reference to a user 1 on the LastUpdatedBy field, but there is no user 
 1 id.

I'm not aware of an RT version that had a User ID 0.
Sounds like someone renumbered your RT_System user manually in the
database, or that you have database corruption.

You can try taking a backup and fixing this manually, but if it is
corruption, there may be other problems.

-kevin


pgpKXMaYLAgmi.pgp
Description: PGP signature

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Chicago, IL, USA — September 26  27, 2011
*  San Francisco, CA, USA — October 18  19, 2011
*  Washington DC, USA — October 31  November 1, 2011
*  Melbourne VIC, Australia — November 28  29, 2011
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] Error, couldn't load 0 from the users database

2011-08-24 Thread Francisco Amaro
Hello Kevin

And a user id 1, is there one ? Could it be that someone/something changed
that, a 1 to 0 ?
I've already asked around, and the usual suspects all say that didn't change
anything, and the logs agree with them...

Where is the result from the user 0 fields:

mysql select * from Users
- WHERE id=0
- ;
++---+---++---+--+-+--+--+--+--+---+-+---+---+++---+---+---+-++--+--+--+---+--+-+--++-+-+---+-+
| id | Name  | Password  |
Comments
| Signature | EmailAddress | FreeformContactInfo | Organization |
RealName | NickName | Lang | EmailEncoding | WebEncoding |
ExternalContactInfoId | ContactInfoSystem | ExternalAuthId | AuthSystem |
Gecos | HomePhone | WorkPhone | MobilePhone | PagerPhone | Address1 |
Address2 | City | State | Zip  | Country | Timezone | PGPKey | Creator |
Created | LastUpdatedBy | LastUpdated |
++---+---++---+--+-+--+--+--+--+---+-+---+---+++---+---+---+-++--+--+--+---+--+-+--++-+-+---+-+
|  0 | RT_System | *NO-PASSWORD* | Do not delete or modify this user. It is
integral to RT's internal database structures | NULL  | NULL |
NULL| NULL | The RT System itself | NULL | NULL
| NULL  | NULL| NULL  | NULL  |
NULL   | NULL   | NULL  | NULL  | NULL  | NULL|
NULL   | NULL | NULL | NULL | NULL  | NULL | NULL| NULL
| NULL   |   1 | 2006-03-10 17:33:35 | 1 | 2006-03-10
17:33:35 |
++---+---++---+--+-+--+--+--+--+---+-+---+---+++---+---+---+-++--+--+--+---+--+-+--++-+-+---+-+
1 row in set (0.00 sec)

The user fields seem correct,  the comments, the creation time, etc.
But they refer to a user id 1, that is not on the table anymore.

I'm restoring yesterdays backup on another machine, but given the timelines
it probably has the same error.  That means getting the tape from two days
ago, which is going to take some more time...



On Wed, Aug 24, 2011 at 2:48 PM, Kevin Falcone falc...@bestpractical.comwrote:

 On Wed, Aug 24, 2011 at 02:32:10PM +0100, Francisco Amaro wrote:
 Hello all,
 
 We are having a problem with our RT install, after a few years of
 almost
 flawless service, today we noticed that emails weren't being sent.
 We are using version 3.4.5, on Linux (FC4, MySQL 4.1).
 
 The web interface works just fine, we can login, create/modify/close
 tickets,
 etc, but no emails are sent.
 
 There is no apparent problem with the machine or the MySQL database,
 and this is what appears on the RT log:
 
 [Wed Aug 24 12:23:50 2011] [err]: Couldn't load 0 from the users
 database.
 (/opt/rt3/lib/RT/CurrentUser.pm:146)
 [Wed Aug 24 12:23:50 2011] [warning]: Use of uninitialized value in
 concatenation (.) or
 string at /opt/rt3/lib/RT/Principal_Overlay.pm line 425.
 (/opt/rt3/lib/RT.pm:287)
 [Wed Aug 24 12:23:50 2011] [warning]: DBD::mysql::st execute failed:
 You have an error in your
 SQL syntax; check the manual that corresponds to your MySQL server
 version for the right
 syntax to use near 'AND ((ACL.ObjectType = 'RT::Queue' AND
 ACL.ObjectId = 1) OR
 (ACL.ObjectType = 'R' at line 1 at
 /usr/lib/perl5/site_perl/5.8.6/DBIx/SearchBuilder/Handle.pm
 line 505. (/opt/rt3/lib/RT.pm:287)
 [Wed Aug 24 12:23:50 2011] [warning]: RT::Handle=HASH(0x80c27d90)
 couldn't execute the query
 'SELECT ACL.id from ACL, Groups, Principals, CachedGroupMembers ...
 
 And them a few lines of failed SQL syntax erros and failed querys.
 
 We browsed the users table, user ID 0 is there, no problem. A MySQL
 check_table
 didn't returned any errors. The 

Re: [rt-users] Error, couldn't load 0 from the users database

2011-08-24 Thread Kevin Falcone
On Wed, Aug 24, 2011 at 03:07:46PM +0100, Francisco Amaro wrote:
And a user id 1, is there one ? Could it be that someone/something changed 
 that, a 1 to 0 ?
I've already asked around, and the usual suspects all say that didn't 
 change
anything, and the logs agree with them...

The RT_System user should have an id of 1.
Since LastUpdated isn't updated, this means any change happened at the
DB level, or via corruption.

-kevin

Where is the result from the user 0 fields:
 
mysql select * from Users
- WHERE id=0
- ;

 ++---+---++---+--+-+--+--+--+--+---+-+---+---+++---+---+---+-++--+--+--+---+--+-+--++-+-+---+-+
| id | Name | Password | Comments | Signature | EmailAddress | 
 FreeformContactInfo |
Organization | RealName | NickName | Lang | EmailEncoding | WebEncoding |
ExternalContactInfoId | ContactInfoSystem | ExternalAuthId | AuthSystem | 
 Gecos | HomePhone |
WorkPhone | MobilePhone | PagerPhone | Address1 | Address2 | City | State 
 | Zip | Country |
Timezone | PGPKey | Creator | Created | LastUpdatedBy | LastUpdated |

 ++---+---++---+--+-+--+--+--+--+---+-+---+---+++---+---+---+-++--+--+--+---+--+-+--++-+-+---+-+
| 0 | RT_System | *NO-PASSWORD* | Do not delete or modify this user. It is 
 integral to RT's
internal database structures | NULL | NULL | NULL | NULL | The RT System 
 itself | NULL | NULL
| NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 
 NULL | NULL | NULL |
NULL | NULL | NULL | NULL | NULL | NULL | 1 | 2006-03-10 17:33:35 | 1 | 
 2006-03-10 17:33:35 |

 ++---+---++---+--+-+--+--+--+--+---+-+---+---+++---+---+---+-++--+--+--+---+--+-+--++-+-+---+-+
1 row in set (0.00 sec)
 
The user fields seem correct, the comments, the creation time, etc.
But they refer to a user id 1, that is not on the table anymore.
 
I'm restoring yesterdays backup on another machine, but given the timelines
it probably has the same error. That means getting the tape from two days
ago, which is going to take some more time...
 
On Wed, Aug 24, 2011 at 2:48 PM, Kevin Falcone 
 [1]falc...@bestpractical.com wrote:
 
  On Wed, Aug 24, 2011 at 02:32:10PM +0100, Francisco Amaro wrote:
   Hello all,
  
   We are having a problem with our RT install, after a few years of 
 almost
   flawless service, today we noticed that emails weren't being sent.
   We are using version 3.4.5, on Linux (FC4, MySQL 4.1).
  
   The web interface works just fine, we can login, create/modify/close 
 tickets,
   etc, but no emails are sent.
  
   There is no apparent problem with the machine or the MySQL database,
   and this is what appears on the RT log:
  
   [Wed Aug 24 12:23:50 2011] [err]: Couldn't load 0 from the users 
 database.
   (/opt/rt3/lib/RT/CurrentUser.pm:146)
   [Wed Aug 24 12:23:50 2011] [warning]: Use of uninitialized value in 
 concatenation (.) or
   string at /opt/rt3/lib/RT/Principal_Overlay.pm line 425. 
 (/opt/rt3/lib/RT.pm:287)
   [Wed Aug 24 12:23:50 2011] [warning]: DBD::mysql::st execute failed: 
 You have an error in
  your
   SQL syntax; check the manual that corresponds to your MySQL server 
 version for the right
   syntax to use near 'AND ((ACL.ObjectType = 'RT::Queue' AND 
 ACL.ObjectId = 1) OR
   (ACL.ObjectType = 'R' at line 1 at
  /usr/lib/perl5/site_perl/5.8.6/DBIx/SearchBuilder/Handle.pm
   line 505. (/opt/rt3/lib/RT.pm:287)
   [Wed Aug 24 12:23:50 2011] [warning]: RT::Handle=HASH(0x80c27d90) 
 couldn't execute the
  query
   'SELECT ACL.id from ACL, Groups, Principals, 

Re: [rt-users] Error, couldn't load 0 from the users database

2011-08-24 Thread Francisco Amaro
Thanks Kevin, it was exactly that, I changed the ID from 0 to 1 and
everything
seems to be working now.


On Wed, Aug 24, 2011 at 3:18 PM, Kevin Falcone falc...@bestpractical.comwrote:

 On Wed, Aug 24, 2011 at 03:07:46PM +0100, Francisco Amaro wrote:
 And a user id 1, is there one ? Could it be that someone/something
 changed that, a 1 to 0 ?
 I've already asked around, and the usual suspects all say that didn't
 change
 anything, and the logs agree with them...

 The RT_System user should have an id of 1.
 Since LastUpdated isn't updated, this means any change happened at the
 DB level, or via corruption.

 -kevin

 Where is the result from the user 0 fields:
 
 mysql select * from Users
 - WHERE id=0
 - ;
 
  
 ++---+---++---+--+-+--+--+--+--+---+-+---+---+++---+---+---+-++--+--+--+---+--+-+--++-+-+---+-+
 | id | Name | Password | Comments | Signature | EmailAddress |
 FreeformContactInfo |
 Organization | RealName | NickName | Lang | EmailEncoding |
 WebEncoding |
 ExternalContactInfoId | ContactInfoSystem | ExternalAuthId |
 AuthSystem | Gecos | HomePhone |
 WorkPhone | MobilePhone | PagerPhone | Address1 | Address2 | City |
 State | Zip | Country |
 Timezone | PGPKey | Creator | Created | LastUpdatedBy | LastUpdated |
 
  
 ++---+---++---+--+-+--+--+--+--+---+-+---+---+++---+---+---+-++--+--+--+---+--+-+--++-+-+---+-+
 | 0 | RT_System | *NO-PASSWORD* | Do not delete or modify this user.
 It is integral to RT's
 internal database structures | NULL | NULL | NULL | NULL | The RT
 System itself | NULL | NULL
 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL
 | NULL | NULL | NULL |
 NULL | NULL | NULL | NULL | NULL | NULL | 1 | 2006-03-10 17:33:35 | 1
 | 2006-03-10 17:33:35 |
 
  
 ++---+---++---+--+-+--+--+--+--+---+-+---+---+++---+---+---+-++--+--+--+---+--+-+--++-+-+---+-+
 1 row in set (0.00 sec)
 
 The user fields seem correct, the comments, the creation time, etc.
 But they refer to a user id 1, that is not on the table anymore.
 
 I'm restoring yesterdays backup on another machine, but given the
 timelines
 it probably has the same error. That means getting the tape from two
 days
 ago, which is going to take some more time...
 
 On Wed, Aug 24, 2011 at 2:48 PM, Kevin Falcone [1]
 falc...@bestpractical.com wrote:
 
   On Wed, Aug 24, 2011 at 02:32:10PM +0100, Francisco Amaro wrote:
Hello all,
   
We are having a problem with our RT install, after a few years of
 almost
flawless service, today we noticed that emails weren't being sent.
We are using version 3.4.5, on Linux (FC4, MySQL 4.1).
   
The web interface works just fine, we can login,
 create/modify/close tickets,
etc, but no emails are sent.
   
There is no apparent problem with the machine or the MySQL
 database,
and this is what appears on the RT log:
   
[Wed Aug 24 12:23:50 2011] [err]: Couldn't load 0 from the users
 database.
(/opt/rt3/lib/RT/CurrentUser.pm:146)
[Wed Aug 24 12:23:50 2011] [warning]: Use of uninitialized value
 in concatenation (.) or
string at /opt/rt3/lib/RT/Principal_Overlay.pm line 425.
 (/opt/rt3/lib/RT.pm:287)
[Wed Aug 24 12:23:50 2011] [warning]: DBD::mysql::st execute
 failed: You have an error in
   your
SQL syntax; check the manual that corresponds to your MySQL server
 version for the right
syntax to use near 'AND ((ACL.ObjectType = 'RT::Queue' AND
 ACL.ObjectId = 1) OR
(ACL.ObjectType = 'R' at line 1 at