When I do a make initialize-database, I get a segfault on Solaris 10:
bash-3.00$ make initialize-database
/bin/perl //home/chris/rt-3.6.1/sbin/rt-setup-database --action init
–dba root --prompt-for-dba-password
In order to create or update your RT database,this script needs to
connect to your SQLite instance on localhost as root.
Please specify that user’s database password below. If the user has no
password, just press return.
Now creating a database for RT.
Creating SQLite database /home/chris/rt-3.6.1/var/rt3.
Now populating database schema.
Creating database schema.
Done setting up database schema.
Now inserting database ACLs
Now inserting RT core system objects
Checking for existing system user…not found. This appears to be a new
Creating system user…make: *** [initialize-database] Segmentation
Fault (core dumped)
I’m gradually tracking it down, and I suspect it might be that one of
the C-compiled Perl modules is causing problems. I’m not sure which one.
I tracked the bug from rt-setup-database where it calls
$RT_System->_BootstrapCreate (I’m assuming in User.pm) from
insert_initial_data, to the call to
$aclstash->_CreateACLEquivalenceGroup (in Group_Overlay.pm) to its call
to $self->_Create, which calls $self->_NewTransaction, which is defined
in Record.pm. That gets as far as:
my $trans = new RT::Transaction( $self->CurrentUser );
And then the call to $trans->Create(…) appears to fail somehow.
Placing a print statement at the top of Create in Transaction.pm doesn’t
even show anything before Perl segfaults.
This happens both in standalone mode (with SQLite3 as described in the
RT book) and when trying to use Postgres – the behavior is identical.
- Chris Riddoch -