[MCOL-1020] On ovh data center servers, postConfigure crashed on upgrade Created: 2017-11-08  Updated: 2017-11-10  Resolved: 2017-11-10

Status: Closed
Project: MariaDB ColumnStore
Component/s: installation
Affects Version/s: 1.1.1
Fix Version/s: 1.1.2

Type: Bug Priority: Critical
Reporter: Daniel Lee (Inactive) Assignee: Daniel Lee (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Sprint: 2017-22

 Description   

Build tested: 1.1.1-1 CS 1.1.2-1 source build

When running postConfigure, segmentation fault errors occurs.

[root@cs-tst-01 bin]# ./postConfigure

This is the MariaDB ColumnStore System Configuration and Installation tool.
It will Configure the MariaDB ColumnStore System and will perform a Package
Installation of all of the Servers within the System that is being configured.

IMPORTANT: This tool should only be run on the Parent OAM Module
which is a Performance Module, preferred Module #1

Prompting instructions:

Press 'enter' to accept a value in (), if available or
Enter one of the options within [], if available, or
Enter a new value

A copy of the MariaDB ColumnStore Configuration file has been saved during Package install.
It's Configured for a Multi-Server Install.
You have an option of utilizing the configuration data from that file or starting
with the MariaDB ColumnStore Configuration File that comes with the MariaDB ColumnStore Package.
You will only want to utilize the old configuration data when performing the same
type of install, i.e. Single or Multi-Server

Do you want to utilize the configuration data from the saved copy? [y,n] > y
Segmentation fault

This error occurs when simply rerunning postConfigure, or on an upgrade.

The same error did not occur in my VM environment.



 Comments   
Comment by David Hill (Inactive) [ 2017-11-08 ]

crashing in postConfigure 1.1.1

Program received signal SIGSEGV, Segmentation fault.
0x00000b0f1aa21530 in main (argc=1, argv=0x7dac37a11dc8)
at /home/builder/mariadb-columnstore-server/mariadb-columnstore-engine/oamapps/postConfigure/postConfigure.cpp:484

(gdb) bt
#0 0x00000b0f1aa21530 in main (argc=1, argv=0x7dac37a11dc8)
at /home/builder/mariadb-columnstore-server/mariadb-columnstore-engine/oamapps/postConfigure/postConfigure.cpp:484
(gdb) p ida
No symbol "ida" in current context.
(gdb) p ifa
$1 = (ifaddrs *) 0xb0f1e101228
(gdb) p *ifa
$2 = {ifa_next = 0xb0f1e1012e0, ifa_name = 0xb0f1e1012cc "teql0", ifa_flags = 128, ifa_addr = 0x0,
ifa_netmask = 0x0, ifa_ifu =

{ifu_broadaddr = 0x0, ifu_dstaddr = 0x0}, ifa_data = 0xb0f1e101c94}
(gdb) p &ifa
Address requested for identifier "ifa" which is in register $rbx
(gdb) p *ifa->ifa_next
$3 = {ifa_next = 0xb0f1e101398, ifa_name = 0xb0f1e101384 "tunl0", ifa_flags = 128,
ifa_addr = 0xb0f1e101318, ifa_netmask = 0x0, ifa_ifu = {ifu_broadaddr = 0xb0f1e101360, ifu_dstaddr = 0xb0f1e101360}, ifa_data = 0xb0f1e101cf0}
(gdb) p *ifa->ifa_addr->sa_family
Cannot access memory at address 0x0
(gdb) p *ifa->ifa_addr
Cannot access memory at address 0x0
(gdb) p *ifa
$4 = {ifa_next = 0xb0f1e1012e0, ifa_name = 0xb0f1e1012cc "teql0", ifa_flags = 128, ifa_addr = 0x0,
ifa_netmask = 0x0, ifa_ifu = {ifu_broadaddr = 0x0, ifu_dstaddr = 0x0}

, ifa_data = 0xb0f1e101c94}

Comment by David Hill (Inactive) [ 2017-11-10 ]

I believe its crashing on a NULL pointer, so I will add in some checks for check for NULL pointer .

Comment by David Hill (Inactive) [ 2017-11-10 ]

Added this check and testing on OVH system

for (ifa = ifaddr, n = 0; ifa != NULL; ifa = ifa->ifa_next, n++) {
if (ifa->ifa_addr == NULL)
continue;

Comment by David Hill (Inactive) [ 2017-11-10 ]

test without fix on cs-tst-01.mariadb.com

[root@cs-tst-01 columnstore]# cd bin
[root@cs-tst-01 bin]# ./pre-uninstall

Mariab Columnstore uninstall completed
[root@cs-tst-01 bin]# ./post-install
The next step is:

If installing on a pm1 node:

/usr/local/mariadb/columnstore/bin/postConfigure

If installing on a non-pm1 using the non-distributed option:

/usr/local/mariadb/columnstore/bin/columnstore start

[root@cs-tst-01 bin]# ./postConfigure

This is the MariaDB ColumnStore System Configuration and Installation tool.
It will Configure the MariaDB ColumnStore System and will perform a Package
Installation of all of the Servers within the System that is being configured.

IMPORTANT: This tool should only be run on the Parent OAM Module
which is a Performance Module, preferred Module #1

Prompting instructions:

Press 'enter' to accept a value in (), if available or
Enter one of the options within [], if available, or
Enter a new value

A copy of the MariaDB ColumnStore Configuration file has been saved during Package install.
It's Configured for a Multi-Server Install.
You have an option of utilizing the configuration data from that file or starting
with the MariaDB ColumnStore Configuration File that comes with the MariaDB ColumnStore Package.
You will only want to utilize the old configuration data when performing the same
type of install, i.e. Single or Multi-Server

Do you want to utilize the configuration data from the saved copy? [y,n] > n
Segmentation fault

--------------------------------------------

installed new build

./postConfigure

This is the MariaDB ColumnStore System Configuration and Installation tool.
It will Configure the MariaDB ColumnStore System and will perform a Package
Installation of all of the Servers within the System that is being configured.

IMPORTANT: This tool should only be run on the Parent OAM Module
which is a Performance Module, preferred Module #1

Prompting instructions:

Press 'enter' to accept a value in (), if available or
Enter one of the options within [], if available, or
Enter a new value

A copy of the MariaDB ColumnStore Configuration file has been saved during Package install.
It's Configured for a Multi-Server Install.
You have an option of utilizing the configuration data from that file or starting
with the MariaDB ColumnStore Configuration File that comes with the MariaDB ColumnStore Package.
You will only want to utilize the old configuration data when performing the same
type of install, i.e. Single or Multi-Server

Do you want to utilize the configuration data from the saved copy? [y,n] > y
NOTE: my.cnf file was upgraded based on my.cnf.rpmsave

===== Setup System Server Type Configuration =====

Comment by David Hill (Inactive) [ 2017-11-10 ]

fixed

commit fda44955ea05e33f8bb6666df25b02926a17d6f8
Author: david hill <david.hill@mariadb.com>
Date: Fri Nov 10 14:13:27 2017 -0600

MCOL-1020 - added checks to prevent crash

oamapps/postConfigure/postConfigure.cpp

Comment by Daniel Lee (Inactive) [ 2017-11-10 ]

Build verified: 1.1.2 GitHub source

/root/columnstore/mariadb-columnstore-server
commit ed21e674cfd70db421957d0212ff7fc1835d06d5
Author: david hill <david.hill@mariadb.com>
Date: Mon Nov 6 08:41:53 2017 -0600

Update README.md

updated version

/root/columnstore/mariadb-columnstore-server/mariadb-columnstore-engine
commit fda44955ea05e33f8bb6666df25b02926a17d6f8
Author: david hill <david.hill@mariadb.com>
Date: Fri Nov 10 14:13:27 2017 -0600

MCOL-1020 - added checks to prevent crash

Generated at Thu Feb 08 02:25:34 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.