#1  
Old 18th September 2019, 01:24 PM
joels@agdata.com.au joels@agdata.com.au is offline
Junior Member
 
Join Date: Sep 2019
Posts: 2
Default EAssertionFailed connecting to NexusDB server 4.5013

Hi

The ADO provider is working when connecting to NexusDB v4.12/4.13 servers, however when attempting to connect to a v4.5013 server the following exception is raised:

Code:
Exception: Error: NexusDB: <unnamed TnxLowQuery instance>: Query execution failed:
Unexpected exception object raised: [EAssertionFailed] Assertion failure (D:\Delphi\3p\NexusDB3Build\Source\trunk\nxsqlProxies.pas, line 8248)
The following connecting string is in use (we're not using the dedicated ADO transport):

Code:
Server=10.121.60.37;Database=ExampleData;Port=16000;Native=True; Embedded=False;Username=;Password=; Timeout=10000;BlockReadSize=0;NativeTransportType=TCP/IPV4; SecureTransportKey=
Does the ADO connector support connecting to NexusDB v4.5?

Thanks

Joel
  #2  
Old 19th September 2019, 01:24 AM
Eivind Eivind is offline
Administrator
 
Join Date: Mar 2008
Posts: 185
Default

Quote:
Originally Posted by joels@agdata.com.au View Post
Hi

The ADO provider is working when connecting to NexusDB v4.12/4.13 servers, however when attempting to connect to a v4.5013 server the following exception is raised:

Code:
Exception: Error: NexusDB: <unnamed TnxLowQuery instance>: Query execution failed:
Unexpected exception object raised: [EAssertionFailed] Assertion failure (D:\Delphi\3p\NexusDB3Build\Source\trunk\nxsqlProxies.pas, line 8248)
The following connecting string is in use (we're not using the dedicated ADO transport):

Code:
Server=10.121.60.37;Database=ExampleData;Port=16000;Native=True; Embedded=False;Username=;Password=; Timeout=10000;BlockReadSize=0;NativeTransportType=TCP/IPV4; SecureTransportKey=
Does the ADO connector support connecting to NexusDB v4.5?

Thanks

Joel
Yes, it should. Can you say exactly what .NET client operation is attempted when the assertion occurs? The assertion occurs when comparing source and target blob field types for copying, and I am not sure this is during initial login?

Assert(FSourceField.GetType = FTargetField.GetType);
  #3  
Old 19th September 2019, 01:32 PM
joels@agdata.com.au joels@agdata.com.au is offline
Junior Member
 
Join Date: Sep 2019
Posts: 2
Default

Thanks, now knowing that the assertion relates to field type I did some more digging. From what I can tell, the error seems related to nxtBLOBMemo fields in 4.50.

Running this query works against Nexus 4.12:
Code:
SELECT MyNxtBlobMemo FROM MyTable;
Running the same query against Nexus 4.50 results in the assertion error with the following callstack:
Code:
NexusDB.ADOProvider.NxDatasetProxy.nxCheck(long aCode)
NexusDB.ADOProvider.NxDatasetProxy.Execute(long nxStatementID, string sCmd, int TimeOut, out NxDataset resultset, bool readBlobs, uint BufferSize, ref NxParameterCollection parameters, NxBaseConnection conn, CommandBehavior behavior)
NexusDB.ADOProvider.NxCommand.InternalExecuteReader(CommandBehavior behavior)
System.Data.Common.DbCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
After the assertion is raised, attempting further valid requests against the same server results in the error below. The only way I know how to resolve it and resume normal server operation is to restart the Nexus service.
Code:
System.Exception: NexusDB: <unnamed TnxSession instance>: The transaction was corrupt due to an earlier failure. No commit took place. You need to rollback this transaction. [$3C53/15443]
  #4  
Old 21st September 2019, 01:15 AM
yannou yannou is offline
Member
 
Join Date: Nov 2013
Posts: 65
Default

Hello, we are facing the exact same issue.

For the moment we were unable to use 4.50.14/15 ; it just crashes all the db.

Reading this topic, I realised the first query I do (which leads to a nxServer crash) is actually requesting a BLOBMemo.


stacktrace in next post (reached limits)
  #5  
Old 21st September 2019, 01:16 AM
yannou yannou is offline
Member
 
Join Date: Nov 2013
Posts: 65
Default

ExceptionInfo: nil
Exception: EAssertionFailed
Message: Assertion failure (D:\Delphi\3p\NexusDB3Build\Source\trunk\nxsqlProx ies.pas, line 8248)
AWE Enabled: False
[00000000005E36F8] JclHookExcept.TNotifierItem.DoNotify (Line 272, "JclHookExcept.pas")
[00000000005E39CD] JclHookExcept.DoExceptNotify (Line 347, "JclHookExcept.pas")
[00000000005E3AC8] JclHookExcept.HookedRaiseException (Line 379, "JclHookExcept.pas")
[0000000000412696] System.@RaiseAtExcept (Line 20243, "System.pas")
[0000000000459F6B] System.SysUtils.AssertErrorHandler (Line 21987, "System.SysUtils.pas")
[0000000000413267] System.@Assert (Line 24147, "System.pas")
[0000000000D0B00F] nxsqlProxies.TnxSqlBLOBFieldCopier.Execute (Line 8249, "nxsqlProxies.pas")
[0000000000D0AD81] nxsqlProxies.TnxSqlRecordCopier.ExecuteFieldByFiel d (Line 8203, "nxsqlProxies.pas")
[0000000000D0AEED] nxsqlProxies.TnxSqlRecordCopier.Execute (Line 8234, "nxsqlProxies.pas")
[0000000000BE98D8] nxsqlTableExp.TnxSqlRowBuilder.CreateResultRecord (Line 3904, "nxsqlTableExp.pas")
[0000000000C00F07] nxsqlTableExp.TnxSqlRowBuilder.OuterRowHandler (Line 7754, "nxsqlTableExp.pas")
[0000000000CB0D01] nxsqlCondExp.TnxSqlRowRangeList.ProcessLevel (Line 19986, "nxSqlCondExp.pas")
[0000000000D06A42] nxsqlProxies.TnxSqlTableProxy.stpCursorIterator (Line 7140, "nxsqlProxies.pas")
[000000000101891B] nxseRecordEngineStatic.TnxStaticRecordEngine.ReadR ecordForIterate (Line 905, "nxseRecordEngineStatic.pas")
[0000000000FFAF5C] nxseIndexEngineStaticKeyBstarTree.TnxStaticKeyBsta rTreeIndexEngine.Iterate (Line 2695, "nxseIndexEngineStaticKeyBstarTree.pas")
[00000000009C1897] nxsrServerEngine.TnxServerTableCursor.sbcIterate (Line 13373, "nxsrServerEngine.pas")
[0000000000CFBC20] nxsqlProxies.TnxSqlTableProxy.Iterate (Line 5134, "nxsqlProxies.pas")
[0000000000CABA13] nxsqlCondExp.TnxSqlRowRange.Iterate (Line 18843, "nxSqlCondExp.pas")
[0000000000CAEC31] nxsqlCondExp.TnxSqlRowRange.ApplyRangeRegularOpera tor (Line 19361, "nxSqlCondExp.pas")
[0000000000CB0399] nxsqlCondExp.TnxSqlRowRange.ApplyRange (Line 19798, "nxSqlCondExp.pas")
[0000000000CB0E86] nxsqlCondExp.TnxSqlRowRangeList.ReadSources (Line 20005, "nxSqlCondExp.pas")
[0000000000CB0FBF] nxsqlCondExp.TnxSqlRowRangeList.Join (Line 20026, "nxSqlCondExp.pas")
[0000000000BFF415] nxsqlTableExp.TnxSqlRowBuilder.Execute (Line 7424, "nxsqlTableExp.pas")
[0000000000C2B9A3] nxsqlTableExp.TnxSqlSELECT.NormalQueryResult (Line 15482, "nxsqlTableExp.pas")
[0000000000C1EA0D] nxsqlTableExp.TnxSqlSELECT.DoWork (Line 13405, "nxsqlTableExp.pas")
[0000000000C21E76] nxsqlTableExp.TnxSqlSELECT.Execute (Line 14029, "nxsqlTableExp.pas")
[0000000000C0AD5B] nxsqlTableExp.TnxSqlNonJoinTablePrimary.Execute (Line 9586, "nxsqlTableExp.pas")
[0000000000C0D38D] nxsqlTableExp.TnxSqlNonJoinTableTerm.Execute (Line 10047, "nxsqlTableExp.pas")
[0000000000C09C0D] nxsqlTableExp.TnxSqlNonJoinTableExp.Execute (Line 9316, "nxsqlTableExp.pas")
[0000000000C34E04] nxsqlTableExp.TnxSqlTableExp.Execute (Line 17723, "nxsqlTableExp.pas")
[0000000000D3F854] nxsqlBase.TnxSqlBlock.Execute (Line 1993, "nxsqlBase.pas")
[0000000000D4EC42] nxsqlEngine.TnxSqlStatement.ssExec (Line 408, "nxsqlEngine.pas")
[00000000009A38C1] nxsrServerEngine.TnxServerDatabase.sdStatementExec Direct (Line 6331, "nxsrServerEngine.pas")
[00000000009A758F] nxsrServerEngine.TnxServerDatabase.StatementExecDi rect (Line 7168, "nxsrServerEngine.pas")
[0000000000A6F6B9] nxchCommandHandler.TnxServerCommandHandler.nmDatab aseStatementExecDirect (Line 4650, "nxchCommandHandler.pas")
[00000000004107B1] System.TObject.Dispatch (Line 17034, "System.pas")
[0000000000A53EF3] nxchCommandHandler.TnxServerCommandHandler.bchProc ess (Line 651, "nxchCommandHandler.pas")
[0000000000835ACA] nxllTransport.TnxBaseTransport.btProcess (Line 1846, "nxllTransport.pas")
[00000000009E8DC8] nxptBasePooledTransport.TnxBasePooledTransport.btP ayloadReceived (Line 3439, "nxptBasePooledTransport.pas")
[00000000009E87AB] nxptBasePooledTransport.TnxBasePooledTransport.btM essageReceived (Line 3314, "nxptBasePooledTransport.pas")
[00000000009F7739] nxtwWinsockTransport.TnxWinsockServerConnection.Io Completed (Line 692, "nxtwWinsockTransport.pas")
[00000000009F7657] nxtwWinsockTransport.TnxWinsockServerConnection.Io Completed (Line 676, "nxtwWinsockTransport.pas")
[00000000009E4E0A] nxptBasePooledTransport.TnxBaseServerThread.InnerE xecute (Line 2376, "nxptBasePooledTransport.pas")
[000000000082CA96] nxllThread.TnxInternalInitThread.DoExecute (Line 649, "nxllThread.pas")
[000000000082C6B9] nxllThread.TnxThread.Execute (Line 482, "nxllThread.pas")
[0000000000551753] System.Classes.ThreadProc (Line 14361, "System.Classes.pas")
[00000000004132CB] System.ThreadWrapper (Line 24178, "System.pas")
[00007FFD72127BD4] BaseThreadInitThunk
[00007FFD7326CEE1] RtlUserThreadStart
fatal Exception Flag has been set
  #6  
Old 24th September 2019, 02:30 PM
Thorsten Engler [NDA]
 
Posts: n/a
Default Re: EAssertionFailed connecting to NexusDB server 4.5013

yannou wrote:

>
> Hello, we are facing the exact same issue.
>
> For the moment we were unable to use 4.50.14/15 ; it just crashes all
> the db.
>
> Reading this topic, I realised the first query I do (which leads to a
> nxServer crash) is actually requesting a BLOBMemo.
>
>
> stacktrace in next post (reached limits)


Sorry for that, just came back from a short vacation over the weekend, I'll see
if I can reproduce this tomorrow.
  #7  
Old 26th September 2019, 05:20 PM
Eivind Bakkestuen [NDD]
 
Posts: n/a
Default Re: EAssertionFailed connecting to NexusDB server 4.5013

> Reading this topic, I realised the first query I do (which leads to a
> nxServer crash) is actually requesting a BLOBMemo.


I have a reproducible case, stand by for a fix and update.

--
Eivind Bakkestuen [NDD]
  #8  
Old 11th October 2019, 07:42 PM
yannou yannou is offline
Member
 
Join Date: Nov 2013
Posts: 65
Default

Hi,

Any news on this ?
  #9  
Old 23rd October 2019, 11:26 AM
developer developer is offline
Junior Member
 
Join Date: Jul 2011
Posts: 14
Default Re: EAssertionFailed connecting to NexusDB server 4.5013

This issue is becoming critical for us. Just wondering if there is any progress?
Greg
  #10  
Old 29th October 2019, 11:08 PM
yannou yannou is offline
Member
 
Join Date: Nov 2013
Posts: 65
Default

Hi,


Do you realize this probleme force us to use **OLD** Nexus version ?

No answer for 1 month now.

This is critical !

Why should we keep paying update, if our connector can't connect to newest version, what's the point ?!


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Crash at CreateTable with NexusDB V4.5013 which worked with V1.08 karl nexusdb.public.support 12 7th May 2019 10:38 AM
Problems connecting to Nexusdb server Richard Wilson nexusdb.public.support 2 20th November 2016 10:15 AM
EAssertionFailed (NexusDB 4.11) Samuel nexusdb.public.support 6 14th July 2016 10:48 PM
EAssertionFailed (NexusDB 4.11) Samuel Binaries 0 14th July 2016 04:06 AM
Connecting NexusDb to SQL Server using Linked Server mnarewec nexusdb.public.support.odbc 0 3rd May 2016 03:07 PM


All times are GMT +11. The time now is 09:55 PM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.