Subject: | Updated--Informix panic if username and password are specified in connection string |
Date: | Sat, 11 Mar 2017 13:55:34 -0700 |
To: | bug-DBD-Informix [...] rt.cpan.org |
From: | Jeff Ross <jross [...] openvistas.net> |
We've further narrowed this down.
We can set the username and leave the password blank or the username
blank and set the password and informix does not crash. Setting both
cause the panic.
Jeff
Hello!
[informix@849341-CRN1 ~]$ /opt/tms/bin/InformixTechSupport -V
Perl Version 5.024000
DBI Version 1.636
DBD::Informix Version 2015.1101
IBM Informix CSDK Version 4.10, IBM Informix-ESQL Version 4.10.FC5DE
This is on CentOS Linux release 7.3.1611 (Core).
If I specify the username and password in the connection string the
informix engine crashes every time. Leaving username and password empty
works fine.
Example:
#!/usr/bin/perl
use warnings;
use strict;
use DBI;
my $hostname = 'web@cargonet_dbi4';
my $dbh = DBI->connect
(
"DBI:Informix:".$hostname,
'nobody',
'mailonly66',
{ PrintError => 0, RaiseError => 1, AutoCommit => 0 }
);
# ----------------
# open transaction
# ----------------
$dbh->do("begin");
# --------------------------------------
# prepare and execute 'select' statement
# --------------------------------------
my $sth1 =$dbh->prepare("select max(id) as id from load;");
$sth1->execute();
# ---------------------
# fetch thru result set
# ---------------------
while (my $row = $sth1->fetchrow_hashref())
{
# --------
# show row
# --------
print sprintf("%-2s \n", $row->{id});
}
# ---------------------------------------
# commit transaction and close connection
# ---------------------------------------
$dbh->do("commit");
$dbh->disconnect();
exit 0;
the online.log on the informix server shows this:15:08:06 Maximum server
connections 1
15:08:06 Checkpoint Statistics - Avg. Txn Block Time 0.000, # Txns
blocked 0, Plog used 41, Llog used 23
15:18:09 stack trace for pid 34640 written to
/opt/IBM/informix/tmp/af.4c45b81
15:18:09 Assert Failed: No Exception Handler
15:18:09 IBM Informix Dynamic Server Version 11.10.FC2
15:18:09 Who: Session(30, nobody@849341-CRN1.cargotel.com, 8486,
0x1ae5ec15b8)
Thread(220, sqlexec, 1ae5e81058, 3)
File: mtex.c Line: 475
15:18:09 Results: Exception Caught. Type: MT_EX_OS, Context: mem
15:18:09 Action: Please notify IBM Informix Technical Support.
15:18:09 See Also: /opt/IBM/informix/tmp/af.4c45b81
15:18:15 mtex.c, line 475, thread 220, proc id 34640, No Exception Handler.
tail: cannot open '+4' for reading: No such file or directory
grep: write error: Broken pipe
postdrop: warning: uid=504: File too large
send-mail: fatal: informix(504): message file too big
15:18:15 Fatal error in ADM VP at mt.c:13388
15:18:15 Unexpected virtual processor termination, pid = 34640, exit =
0x100
tail: cannot open '+4' for reading: No such file or directory
grep: write error: Broken pipe
15:18:15 PANIC: Attempting to bring system down
The panic trace file can be downloaded from
http://cargotel-informix-panic.s3.amazonaws.com/af.4c45b81
Using the same script but changing the connection string to:
my $dbh = DBI->connect
(
"DBI:Informix:".$hostname,
'',
'',
{ PrintError => 0, RaiseError => 1, AutoCommit => 0 }
);
works fine.
[rossj@849341-CRN1 ~]$ perl test_connection.pl
5911073
We do not have this problem on CentOS 5 or CentOS 6.
Thanks!
Jeff Ross