RT 5.0.0 Beta 1 Now Available

The beta 1 release of RT 5.0.0, the next major version of Request Tracker, is now available for testing. You can download here:

https://download.bestpractical.com/pub/rt/devel/rt-5.0.0beta1.tar.gz
https://download.bestpractical.com/pub/rt/devel/rt-5.0.0beta1.tar.gz.asc

SHA-256 sums

54ded3c8cfc04c7bd863c66b1ad0696401df06d1509c170bdab9bc6301b51ea9 rt-5.0.0beta1.tar.gz
42dc0678114f8d928c083dc72e4029e3dc58a87f749767d9a93ff6b5701aafc2 rt-5.0.0beta1.tar.gz.asc

This version is much closer to what we plan to release as RT 5.0.0. We’re still working on full release notes, but the blog has some pointers to new features to experiment with. Also, please check the upgrade documentation for details on some changes. And of course you can always check the commits in Github. One note that isn’t there yet, we moved dashboards from Home to the Reports menu, they didn’t disappear. Thanks for testing!

5 Likes

Garry and I are just playing with a new install (on our CentOS7 test machine) and we’ve noticed a rather non-deterministic segmentation fault when initializing a new rt5 database (ie it doesn’t always segfault!). Here’s a cut-n-paste of part of my terminal session where you can see the segfaut, me blowing away the database and then it finally working using the same make initialize-database command. I ran multiple make initialize-database commands followed by database drops and it appeared completely random as to whether it worked or not, so looks like it might be something walking off the end of an array into allocated/unallocated memory (depending on the blocks that the OS’s memory management library has handed back).

[root@just-testing rt-5.0.0beta1]# make initialize-database
/bin/perl -I/opt/rt5/local/lib -I/opt/rt5/lib sbin/rt-setup-database --action init --prompt-for-dba-password
In order to create or update your RT database, this script needs to connect to your  mysql instance on  (port '') as root
Please specify that user's database password below. If the user has no database
password, just press return.

Password: 
Working with:
Type:	mysql
Host:	
Port:	
Name:	rt5
User:	rt_user
DBA:	root
Now creating a mysql database rt5 for RT.
Done.
Now populating database schema.
Done.
Now inserting database ACLs.
Done.
Now inserting RT core system objects.
Done.
Now inserting data.
make: *** [initialize-database] Segmentation fault
[root@just-testing rt-5.0.0beta1]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 83
Server version: 10.4.11-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> drop database rt5;
Query OK, 33 rows affected (0.274 sec)

MariaDB [(none)]> quit
Bye
[root@just-testing rt-5.0.0beta1]# make initialize-database
/bin/perl -I/opt/rt5/local/lib -I/opt/rt5/lib sbin/rt-setup-database --action init --prompt-for-dba-password
In order to create or update your RT database, this script needs to connect to your  mysql instance on  (port '') as root
Please specify that user's database password below. If the user has no database
password, just press return.

Password: 
Working with:
Type:	mysql
Host:	
Port:	
Name:	rt5
User:	rt_user
DBA:	root
Now creating a mysql database rt5 for RT.
Done.
Now populating database schema.
Done.
Now inserting database ACLs.
Done.
Now inserting RT core system objects.
Done.
Now inserting data.
make: *** [initialize-database] Segmentation fault
[root@just-testing rt-5.0.0beta1]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 91
Server version: 10.4.11-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> drop database rt5;
Query OK, 33 rows affected (0.215 sec)

MariaDB [(none)]> quit
Bye
[root@just-testing rt-5.0.0beta1]# make initialize-database
/bin/perl -I/opt/rt5/local/lib -I/opt/rt5/lib sbin/rt-setup-database --action init --prompt-for-dba-password
In order to create or update your RT database, this script needs to connect to your  mysql instance on  (port '') as root
Please specify that user's database password below. If the user has no database
password, just press return.

Password: 
Working with:
Type:	mysql
Host:	
Port:	
Name:	rt5
User:	rt_user
DBA:	root
Now creating a mysql database rt5 for RT.
Done.
Now populating database schema.
Done.
Now inserting database ACLs.
Done.
Now inserting RT core system objects.
Done.
Now inserting data.
Done inserting data.
Done.

We have seen this previously on Debian Buster and thought it was only there, but it seems not. That suggests it’s likely the newest version of a component or components not working correctly, probably MariaDB 10.4 and DBD::mysql. We submitted a failing test case to the DBD-mysql project that seems to point to the underlying issue. Pending a fix for that, we may need to pick an earlier version of DBD-mysql or look into a work-around.

@GreenJimll Are you able to reproduce this with MariaDB 10.3?

A quick suggestion: could we have the text back for the transaction history options, rather than icons? Or at least the option to switch between them. “Reply”, “Comment”, “Forward” were much clearer to our users than the new icons. Especially as we’ll be add other local options to that menu which will be text (Spam marking, taking/stealing, etc).

2 Likes

Just in case anyone else is interested, I’ve worked out how to make a local Callback to handle this. Create a directory path along the lines of /opt/rt5/local/html/Callbacks/TranscationHistoryActions/Elements/ShowTransaction and then in that final directory create a file called Default and put this in it:

<%args>
$Actions => undef
</%args>
<%init>
foreach my $thisAction (@$Actions) {
  if($thisAction->{'title'} =~ /data-original-title="(.+)"/) {
    $thisAction->{'title'} = $1;
  }
}
</%init>

The MariaDB on this CentOS 7 machine is 10.4.11 (according to mysql --version) and as its a managed service we’re rev locked to the OS distributed version I’m afraid.

Hi all,

So we have a VM with Ubuntu Server 20.04 and MysqlDB Ver 8.0.20 and I tried to install RT v5 Beta1 and I have a SQL syntax error, when I’m trying to make initialize-database

root@ucmssasrt01:/home/iacob/rt-5.0.0beta1# make initialize-database /usr/bin/perl -I/opt/rt5/local/lib -I/opt/rt5/lib sbin/rt-setup-database --action init --prompt-for-dba-password In order to create or update your RT database, this script needs to connect to your mysql instance on localhost (port '') as root Please specify that user's database password below. If the user has no database password, just press return. Password: Working with: Type: mysql Host: localhost Port: Name: rt5 User: rt_user DBA: root Now creating a mysql database rt5 for RT. Done. Now populating database schema. [139415] [Mon Jun 22 11:38:05 2020] [critical]: 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 'Groups ( id INTEGER NOT NULL AUTO_INCREMENT, Name varchar(200) NULL , De' at line 1 at /home/iacob/rt-5.0.0beta1/sbin/../lib/RT/Handle.pm line 548. (/home/iacob/rt-5.0.0beta1/sbin/../lib/RT.pm:409) 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 t o use near 'Groups ( id INTEGER NOT NULL AUTO_INCREMENT, Name varchar(200) NULL , De' at line 1 at /home/iacob/rt-5.0.0beta1/sbin/../lib/RT/Handle.pm line 548. make: *** [Makefile:390: initialize-database] Error 9 root@ucmssasrt01:/home/iacob/rt-5.0.0beta1# mysql --version mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

I know is a related problem with this forum post RT on MySQL8 and Ubuntu . Is there a solution to this issues on RT v5 or I have to try install another version of mysql DB ?

We haven’t yet added support for MySQL 8 and as you note, there are some breaking changes to version 8 that we need to address. You can always check the README for the list of supported versions for the databases you can use with RT.

Ok, thanks for your response !

Hey, I’ve noticed that the integration of REST2 isn’t mentioned in UPGRADING-5.0, it’d be good to mention that.

Cheers,
Andrew