Assertion failure mysqlnet.pas line 592

Discussion of open issues, suggestions and bugs regarding MyDAC (Data Access Components for MySQL) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
docH
Posts: 59
Joined: Sun 22 Dec 2013 15:18

Assertion failure mysqlnet.pas line 592

Post by docH » Sun 18 Feb 2018 20:09

After running an application for a while without any errors, I sometimes get this error when I try to run a query (one that has previously worked ok several times whilst the application is running. Once I get it, everything that runs queries or issues database command produces the same error. It almost feels like it happens after a short period of inactivity on the part of the user.

This happens when the application is running under Windows 7 on a Mac but not when running under windows 7 on a PC.

I realise I will be told that the error cannot be reproduced under the OS environments MyDac is designed for but if someone could tell me what is being asserted at line 592 that would be a start .

I'm using
MyDAC version 8.2.5 for Rad studio 2009
DBmonitor version 3.0.4

The table DLL and query SQL are below



Table DLL

Code: Select all

CREATE TABLE `member` (
  `member_id` int(11) NOT NULL AUTO_INCREMENT,
  `member_title` varchar(10) DEFAULT NULL,
  `member_fn_1` varchar(50) DEFAULT NULL,
  `member_sn` varchar(50) DEFAULT NULL,
  `member_honours` varchar(30) DEFAULT NULL,
  `member_dob` date DEFAULT NULL,
  `member_current_class_id` int(11) DEFAULT NULL,
  `member_date_elected_to_current_class` date DEFAULT NULL,
  `member_address_id` int(11) DEFAULT NULL,
  `member_email_id` int(11) DEFAULT NULL,
  `member_home_phone` varchar(30) DEFAULT NULL,
  `member_bmc_ref` varchar(15) DEFAULT NULL,
  `member_mobile_phone` varchar(30) DEFAULT NULL,
  `member_work_phone` varchar(30) DEFAULT NULL,
  `member_comment` mediumtext,
  `member_fn_2` varchar(50) DEFAULT NULL,
  `member_fn_3` varchar(50) DEFAULT NULL,
  `member_known_as` varchar(50) DEFAULT NULL,
  `unused_member_status_id` int(11) DEFAULT NULL,
  `member_show_email_in_handbook` tinyint(1) DEFAULT NULL,
  `is_full_time_student` tinyint(1) DEFAULT '0',
  `show_address_in_handbook` tinyint(1) DEFAULT '1',
  `show_phone_in_handbook` tinyint(1) DEFAULT '1',
  PRIMARY KEY (`member_id`),
  KEY `FK_member_email_id` (`member_email_id`),
  KEY `FK_member_address_id` (`member_address_id`),
  KEY `KKmember_status_id` (`unused_member_status_id`),
  CONSTRAINT `FK_member_address_id` FOREIGN KEY (`member_address_id`) REFERENCES `address` (`member_address_id`) ON UPDATE NO ACTION,
  CONSTRAINT `FK_member_email_id` FOREIGN KEY (`member_email_id`) REFERENCES `member_email` (`email_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4451 DEFAULT CHARSET=utf8



Query SQL

Code: Select all

(
SELECT
     member.member_id AS member_id,
     IFNULL(member.member_title,'') AS member_title, 

     CASE 
       WHEN member.member_known_as IS NOT NULL THEN 
          CONCAT(member.member_fn_1, ' (',member.member_known_as,')')
       ELSE 
          member.member_fn_1 
     END AS member_fn,
     member.member_sn AS member_sn,
     member_1.member_id AS joint_member_id,
     
     IFNULL(member_1.member_title,'') AS joint_member_title,
     
     CASE 
       WHEN member_1.member_known_as IS NOT NULL THEN 
          CONCAT(member_1.member_fn_1, ' (',member_1.member_known_as,')')
       ELSE 
          member_1.member_fn_1 
     END AS joint_member_fn,
     

     member_1.member_sn AS joint_member_sn,
     CASE WHEN member.member_sn <>  member_1.member_sn THEN '***' ELSE '' END AS surname_different
     
     
FROM
    joint_member
    INNER JOIN member 
        ON (joint_member.base_member_id = member.member_id)
    INNER JOIN member AS member_1
        ON (joint_member.partner_member_id = member_1.member_id)

 
 ORDER BY     member.member_sn
 )
 
UNION ALL
  (SELECT '','','','','','','','','' )
   
UNION ALL
  (SELECT '----------','----------','----------','----------','----------','----------','----------','----------','----------' )
   
UNION ALL
  (SELECT '','','','','','','','','' )
  
UNION ALL
 (
SELECT 
     member_1.member_id AS member_id,
     IFNULL(member_1.member_title,'') AS member_title,
     
     CASE 
       WHEN member_1.member_known_as IS NOT NULL THEN 
          CONCAT(member_1.member_fn_1, ' (',member_1.member_known_as,')')
       ELSE 
          member_1.member_fn_1 
     END AS member_fn,

     member_1.member_sn AS member_sn,

     member.member_id AS joint_member_id,
     IFNULL(member.member_title,'') AS joint_member_title, 

     
     CASE 
       WHEN member.member_known_as IS NOT NULL THEN 
          CONCAT(member.member_fn_1, ' (',member.member_known_as,')')
       ELSE 
          member.member_fn_1 
     END AS joint_member_fn,
     
     member.member_sn AS joint_member_sn,
          CASE WHEN member.member_sn <>  member_1.member_sn THEN '***' ELSE '' END AS surname_different
     
  FROM
 joint_member
    INNER JOIN member 
        ON (joint_member.base_member_id = member.member_id)
    INNER JOIN member AS member_1
        ON (joint_member.partner_member_id = member_1.member_id)

 
 ORDER BY     member.jointmember_sn
)

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: Assertion failure mysqlnet.pas line 592

Post by ViktorV » Mon 19 Feb 2018 14:06

Unfortunately, we can't reproduce the issue on the last MyDAC 9.1.4 version.
In the compiled and source version of MyDAC, the number of the assert string can be different. In the source version of MyDAC 8.2.5, there is the Assert(Fvio <> nil); string in the TMySqlNet.ReceiveHeader method.
Please check whether the issue is reproduced on the latest version of MyDAC 9.1.4. If it is, please compose a small sample demonstrating the described behavior and send it to us via e-support form: https://www.devart.com/company/contactform.html, including the scripts for creating database objects. Also, please specify the MySQL version you are using.

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: Assertion failure mysqlnet.pas line 592

Post by ViktorV » Mon 19 Feb 2018 14:06

Unfortunately, we can't reproduce the issue on the last MyDAC 9.1.4 version.
In the compiled and source version of MyDAC, the number of the assert string can be different. In the source version of MyDAC 8.2.5, there is the Assert(Fvio <> nil); string in the TMySqlNet.ReceiveHeader method.
Please check whether the issue is reproduced on the latest version of MyDAC 9.1.4. If it is, please compose a small sample demonstrating the described behavior and send it to us via e-support form: https://www.devart.com/company/contactform.html, including the scripts for creating database objects. Also, please specify the MySQL version you are using.

docH
Posts: 59
Joined: Sun 22 Dec 2013 15:18

Re: Assertion failure mysqlnet.pas line 592

Post by docH » Mon 19 Feb 2018 19:11

Thank you for the reply but my login for your customer portal no longer seems to work.

My copy of MyDAC ver 8.2.5 was purchased on 30th December 2013 at a cost of £82.21.

I notice under Renewals & Upgrades that price is shown as $99.95 (£71.35) but it is not clear whether that is the price I would have to pay to upgrade from my version.

I would rather not download MyDAC 9.1.4 just to test this problem in case it overwrites my licenced copy of MyDAC 8.2.5 with a trial version of 9.1.4.

Am I able to upgrade my 8.2.5 version to 9.1.4 without paying almost the same amount again?

By the way. The MySQL version is reported as 5.6.36-82.1-log

Regards

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: Assertion failure mysqlnet.pas line 592

Post by ViktorV » Tue 20 Feb 2018 08:09

Please re-send your request to our Sales Department at [email protected]
Our sales specialists will do their best to assist you in a private manner.

Thank you.

docH
Posts: 59
Joined: Sun 22 Dec 2013 15:18

Re: Assertion failure mysqlnet.pas line 592

Post by docH » Wed 21 Feb 2018 10:56

I contacted sales. There response was that I had to pay another $99.95 to upgrade to 9.1.4 and fix the problem with mysqlnet.pas !

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: Assertion failure mysqlnet.pas line 592

Post by ViktorV » Wed 21 Feb 2018 13:08

We have answered you via e-mail.

Post Reply