Rt4 database upgrade

I am in the mist of moving from RT 3.8.8 to 4.0. I run the update database
script and I get the following error:

[warning]: DBD::mysql::st execute failed: Duplicate entry ‘0’ for key
’PRIMARY’ at /usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Handle.pm
line 509, <> line 1.
(/usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Handle.pm:509)

[warning]: RT::Handle=HASH(0xa10e3c0) couldn’t execute the query ‘INSERT
INTO ACL (PrincipalType, PrincipalId, RightName, ObjectType, ObjectId)
VALUES (?, ?, ?, ?, ?)’ at
/usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Handle.pm line 522

DBIx::SearchBuilder::Handle::SimpleQuery(‘RT::Handle=HASH(0xa10e3c0)’,
‘INSERT INTO ACL (PrincipalType, PrincipalId, RightName, Objec…’, ‘Owner’,
6, ‘ExecuteCode’, ‘RT::System’, 1) called at
/usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Handle.pm line 357

DBIx::SearchBuilder::Handle::Insert(‘RT::Handle=HASH(0xa10e3c0)’, ‘ACL’,
‘PrincipalType’, ‘Owner’, ‘PrincipalId’, 6, ‘RightName’, ‘ExecuteCode’,
‘ObjectType’, …) called at
/usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Handle/mysql.pm line 36

DBIx::SearchBuilder::Handle::mysql::Insert(‘RT::Handle=HASH(0xa10e3c0)’,
‘ACL’, ‘PrincipalType’, ‘Owner’, ‘PrincipalId’, 6, ‘RightName’,
‘ExecuteCode’, ‘ObjectType’, …) called at
/usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Record.pm line 1292

DBIx::SearchBuilder::Record::Create(‘RT::ACE=HASH(0xba17398)’,
‘PrincipalType’, ‘Owner’, ‘PrincipalId’, 6, ‘RightName’, ‘ExecuteCode’,
‘ObjectId’, 1, …) called at /opt/rt4/sbin/…/lib/RT/Record.pm line 304

            RT::Record::Create('RT::ACE=HASH(0xba17398)', 'PrincipalId',

6, ‘PrincipalType’, ‘Owner’, ‘RightName’, ‘ExecuteCode’, ‘ObjectType’,
‘RT::System’, …) called at /opt/rt4/sbin/…/lib/RT/ACE.pm line 291

            RT::ACE::Create('RT::ACE=HASH(0xba17398)', 'RightName',

‘ExecuteCode’, ‘Object’, ‘RT::System=HASH(0xa1a35c4)’, ‘PrincipalType’,
‘Owner’, ‘PrincipalId’, 6, …) called at
/opt/rt4/sbin/…/lib/RT/Principal.pm line 172

            RT::Principal::GrantRight('RT::Principal=HASH(0xba0a734)',

‘Right’, ‘ExecuteCode’, ‘Object’, ‘RT::System=HASH(0xa1a35c4)’) called at
./etc/upgrade/3.9.1/content line 56

            RT::Handle::__ANON__() called at

/opt/rt4/sbin/…/lib/RT/Handle.pm line 767

            eval {...} called at /opt/rt4/sbin/../lib/RT/Handle.pm line

767

            RT::Handle::InsertData('RT::Handle=HASH(0xa10e3c0)',

‘./etc/upgrade/3.9.1/content’, ‘undef’) called at
/opt/rt4/sbin/rt-setup-database line 290

            main::action_insert('datafile', 'undef', 'action',

‘upgrade’, ‘datadir’, ‘./etc/upgrade/3.9.1’, ‘backcompat’,
‘ARRAY(0x8975f98)’, ‘dba’, …) called at /opt/rt4/sbin/rt-setup-database
line 396

            main::action_upgrade('action', 'upgrade', 'dba', 'root')

called at /opt/rt4/sbin/rt-setup-database line 195
(/usr/lib/perl5/5.8.8/Carp.pm:272)

[warn]: Unable to grant ExecuteCode on principal 6: System error. Right not
granted. (./etc/upgrade/3.9.1/content:62)

Any thoughts or ideas would appreciated. Attempting to repair the database
with rt-validator returns this error:

Couldn’t load GM record #0 at ./rt-validator line 433

Thanks in advance

Alberto Dela Rosa

Director of Information Technology

School of Pharmacy and Pharmaceutical Sciences

351 Hochstetter Hall

Buffalo, NY 14260

Tel: 716-645-2259

Fax: 716-645-3688

smime.p7s (5.07 KB)

I am in the mist of moving from RT 3.8.8 to 4.0. I run the update database script and I get
the following error:

[warning]: DBD::mysql::st execute failed: Duplicate entry ‘0’ for key ‘PRIMARY’ at
/usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Handle.pm line 509, <> line 1.
(/usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Handle.pm:509)

This points to some sort of corruption with your PRIMARY KEY on the
ACL table. You may want to run the mysql check/repair tools on it.

Couldn’t load GM record #0 at ./rt-validator line 433

That really reads like you have other corruption in your database.

You can run rt-validator in --verbose mode to see what it is doing to
find a 0, but it seems it is deeper than the RT level.

-kevin