[
https://issues.apache.org/jira/browse/TRAFODION-2314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15763313#comment-15763313
]
Selvaganesan Govindarajan commented on TRAFODION-2314:
------------------------------------------------------
Changed the program to be recursive mutex as follows
#define _GNU_SOURCE
#include <stdio.h>
#include <errno.h>
#include <pthread.h>
#include <assert.h>
int main()
{
int rc;
pthread_mutex_t mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
if (!(errno = pthread_mutex_lock(&mutex))) { puts("Mutex locked!"); }
else { perror("Could not lock mutex"); }
if (!(errno = pthread_mutex_lock(&mutex))) { puts("Mutex locked!"); }
else { perror("Could not lock mutex"); }
if (!(errno = pthread_mutex_unlock(&mutex))) { puts("Mutex unlocked-1!"); }
else { perror("Could not lock mutex"); }
if (!(errno = pthread_mutex_unlock(&mutex))) { puts("Mutex unlocked-2!"); }
else { perror("Could not lock mutex"); }
if (!(errno = pthread_mutex_unlock(&mutex))) { puts("Mutex unlocked-3!"); }
else { perror("Could not lock mutex"); }
return 0;
}
[centos@gselva-trafodion-ins gselva]$ gcc -o mutex_test_recur
mutex_test_recur.c
[centos@gselva-trafodion-ins gselva]$ ./mutex_test_recur
Mutex locked!
Mutex locked!
Mutex unlocked-1!
Mutex unlocked-2!
Mutex unlocked-3!
[centos@gselva-trafodion-ins gselva]$ gcc -lpthread -o mutex_test_recur
mutex_test_recur.c
[centos@gselva-trafodion-ins gselva]$ ./mutex_test_recur
Mutex locked!
Mutex locked!
Mutex unlocked-1!
Mutex unlocked-2!
Could not lock mutex: Operation not permitted
> MXOSRVR sometimes exit abnormally with NAMutex assert
> -----------------------------------------------------
>
> Key: TRAFODION-2314
> URL: https://issues.apache.org/jira/browse/TRAFODION-2314
> Project: Apache Trafodion
> Issue Type: Bug
> Reporter: Arvind Narain
>
> Following errors were noticed during a jdbc_test regression run. These tests
> usually pass on reruns.
> 2016-10-26 10:54:18 Running TestBigColumnSize
> 2016-10-26 10:54:18 ---
> 2016-10-26 10:54:29 32KColSizeWithUTF8 : Pass
> 2016-10-26 10:54:44 200KColSizeWithUTF8 : Pass
> 2016-10-26 10:54:44 Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time
> elapsed: 25.573 sec - in TestBigColumnSize
> 2016-10-26 10:54:44 Running TestTrx
> 2016-10-26 10:54:44 org.trafodion.jdbc.t4.TrafT4Exception: Server aborted
> abnormally or Connection timed out
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.TrafT4Messages.createSQLException(TrafT4Messages.java:284)
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.InputOutput.doIO(InputOutput.java:376)
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.T4Connection.getReadBuffer(T4Connection.java:157)
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.T4Connection.InitializeDialogue(T4Connection.java:220)
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.InterfaceConnection.initDiag(InterfaceConnection.java:534)
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.InterfaceConnection.secureLogin(InterfaceConnection.java:710)
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.InterfaceConnection.connect(InterfaceConnection.java:904)
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.InterfaceConnection.<init>(InterfaceConnection.java:176)
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.TrafT4Connection.makeConnection(TrafT4Connection.java:1611)
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.TrafT4Connection.<init>(TrafT4Connection.java:1564)
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.TrafT4DataSource.getConnection(TrafT4DataSource.java:132)
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.TrafT4DataSource.getConnection(TrafT4DataSource.java:176)
> 2016-10-26 10:54:44 at
> org.trafodion.jdbc.t4.T4Driver.connect(T4Driver.java:186)
> 2016-10-26 10:54:44 at
> java.sql.DriverManager.getConnection(DriverManager.java:571)
> 2016-10-26 10:54:44 at
> java.sql.DriverManager.getConnection(DriverManager.java:215)
> 2016-10-26 10:54:44 at Utils.getUserConnection(Utils.java:125)
> 2016-10-26 10:54:44 at TestTrx.JDBCTrx1(TestTrx.java:53)
> Corresponding errors in mon.snmp log file:
> 2016-10-26 10:54:44,446, INFO, MON, Node Number: 0,, PIN: 41028 , Process
> Name: $MONITOR,,, TID: 41033, Message ID: 101130801, STDERR redirected from
> slave-ahw23.$Z0012AF.0.45690: mxosrvr: ../common/NAMemory.cpp:183:
> NAMutex::~NAMutex(): Assertion `rc == 0' failed.
> Corresponding message from monitor.map file:
> BEGIN Wed Oct 26 10:48:59 2016 $Z0012AF (0, 45690:47) P(-1, -1:-1) mxosrvr
> ..
> BEGIN Wed Oct 26 10:54:32 2016 $Z0018UZ (0, 53724:84) P(0, 45690:47)
> /home/jenkins/workspace/jdbc_test-hdp/traf_run/tdm_arkcmp
> END Wed Oct 26 10:54:44 2016 $Z0018UZ (0, 53724:84) P(0, 45690:47)
> /home/jenkins/workspace/jdbc_test-hdp/traf_run/tdm_arkcmp
> END Wed Oct 26 10:54:44 2016 $Z0012AF (0, 45690:47) P(-1, -1:-1) mxosrvr
> Corresponding master_exec logs:
> 2016-10-26 10:54:29,069, INFO, SQL, Node Number: 0, CPU: 0, PIN: 45690,
> Process Name: $Z0012AF,,, A compiler process is launched.
> 2016-10-26 10:54:31,914, INFO, DBSECURITY, Node Number: 0, CPU: 0, PIN: 45690
> ,,,, Authentication request: externalUser QA001, databaseUser QA001, userID
> 33334, clientName slave-ahw23, clientUserName jenkins, result 0
> (Authentication successful)
> 2016-10-26 10:54:35,523, INFO, SQL.COMP, Node Number: 0, CPU: 0, PIN: 53724,
> Process Name: $Z0018UZ,,, A compiler process is launched.
> 2016-10-26 10:54:36,778, ERROR, SQL, Node Number: 0, CPU: 0, PIN: 45690,
> Process Name: $Z0012AF, SQLCODE: 1022, QID:
> MXID11000045690212344238939673585000000000206U3333400_119_SQL_CUR_1, ***
> ERROR[1022] Schema TRAFODION.T4QA already exists.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)