Hi,

Can you please help me with this issue?

The mysqld service of our webserver suddenly stopped (happened so many times) because of this error, "VCRUNTIME140.dll!memcpy()". And upon checking the mysql error log file, I found this stacktrace:

`00:01:02 UTC - mysqld got exception 0xc0000005 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x168d818ef10
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
7ffa23df140a VCRUNTIME140.dll!memcpy()
7ff754e4e9b7 mysqld.exe!?set_compression_level@Zstd_comp@compression@transaction@binary_log@@UEAAXI@Z()
7ff754e4e0ef mysqld.exe!?set_compression_level@Zstd_comp@compression@transaction@binary_log@@UEAAXI@Z()
7ff753856030 mysqld.exe!?ha_rnd_pos@handler@@QEAAHPEAE0@Z()
7ff753cef547 mysqld.exe!?Read@SortFileIndirectIterator@@UEAAHXZ()
7ff753d1f748 mysqld.exe!?Read@AggregateIterator@@UEAAHXZ()
7ff753d1f019 mysqld.exe!?MaterializeQueryBlock@MaterializeIterator@@AEAA_NAEBUQueryBlock@1@PEA_K@Z()
7ff753d1e52e mysqld.exe!?Init@MaterializeIterator@@UEAA_NXZ()
7ff753bbc608 mysqld.exe!?filesort@@YA_NPEAVTHD@@PEAVFilesort@@PEAVRowIterator@@
K3PEAVFilesort_info@@PEAVSort_result@@PEA_K@Z()
7ff753ceeaee mysqld.exe!?DoSort@SortingIterator@@AEAAHXZ()
7ff753ceeeaa mysqld.exe!?Init@SortingIterator@@UEAA_NXZ()
7ff753d1e213 mysqld.exe!?Init@LimitOffsetIterator@@UEAA_NXZ()
7ff753bb13ee mysqld.exe!?ExecuteIteratorQuery@Query_expression@@QEAA_NPEAVTHD@@@Z()
7ff753bb2d26 mysqld.exe!?execute@Query_expression@@QEAA_NPEAVTHD@@@Z()
7ff753ae1ec9 mysqld.exe!?execute_inner@Sql_cmd_dml@@MEAA_NPEAVTHD@@@Z()
7ff753ae1d4a mysqld.exe!?execute@Sql_cmd_dml@@UEAA_NPEAVTHD@@@Z()
7ff753a2d4eb mysqld.exe!?mysql_execute_command@@YAHPEAVTHD@@N@Z()
7ff753a286df mysqld.exe!?dispatch_sql_command@@YAXPEAVTHD@@PEAVParser_state@@@Z()
7ff753a2750a mysqld.exe!?dispatch_command@@YA_NPEAVTHD@@PEBTCOM_DATA@@W4enum_server_command@@@Z()
7ff753a28abe mysqld.exe!?do_command@@YA_NPEAVTHD@@@Z()
7ff7538789b8 mysqld.exe!?modify_thread_cache_size@Per_thread_connection_handler@@SAXK@Z()
7ff754dc9491 mysqld.exe!?set_compression_level@Zstd_comp@compression@transaction@binary_log@@UEAAXI@Z()
7ff7549ba13c mysqld.exe!?my_thread_join@@YAHPEAUmy_thread_handle@@PEAPEAX@Z()
7ffa2a3d268a ucrtbase.dll!
o_exp()
7ffa2a997ac4 KERNEL32.DLL!BaseThreadInitThunk()
7ffa2d32a351 ntdll.dll!RtlUserThreadStart()

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (168d8ce9678): SELECT B5.address AS user__default_email__address, B6.subject AS cdata__subject, B4.name AS user__name, A1.ticket_id AS ticket_id, A3.id AS thread__id, A1.flags AS flags, null AS number, COUNT(DISTINCT A1.ticket_id) AS tickets, COUNT(DISTINCT B7.id) AS tasks, COUNT(DISTINCT B8.id) AS collaborators, COUNT(DISTINCT C0.id) AS entries FROM ost_ticket A1 JOIN ost_ticket_status A2 ON (A1.status_id = A2.id) LEFT JOIN ost_thread A3 ON (A3.object_type = 'T' AND A1.ticket_id = A3.object_id) LEFT JOIN ost_thread_referral A4 ON (A3.id = A4.thread_id) LEFT JOIN ost_staff A5 ON (A4.object_type = 'S' AND A4.object_id = A5.staff_id) LEFT JOIN ost_thread A6 ON (A1.ticket_id = A6.object_id AND A6.object_type = 'C') LEFT JOIN ost_thread_referral A7 ON (A6.id = A7.thread_id) LEFT JOIN ost_staff A8 ON (A7.object_type = 'S' AND A7.object_id = A8.staff_id) LEFT JOIN ost_team B0 ON (A4.object_type = 'E' AND A4.object_id = B0.team_id)_ `

Also, the query above was logged multiple times in the slow query log file which the 'query time' ranges between 180 seconds to 570 seconds.

`# Query_time: 573.784266 Lock_time: 0.000641 Rows_sent: 0 Rows_examined: 2743595

SET timestamp=1690556912;
SELECT B5.address AS user__default_email__address, B6.subject AS cdata__subject, B4.name AS user__name, A1.ticket_id AS ticket_id, A3.id AS thread__id, A1.flags AS flags, null AS number, COUNT(DISTINCT A1.ticket_id) AS tickets, COUNT(DISTINCT B7.id) AS tasks, COUNT(DISTINCT B8.id) AS collaborators, COUNT(DISTINCT C0.id) AS entries FROM ost_ticket A1 JOIN ost_ticket_status A2 ON (A1.status_id = A2.id) LEFT JOIN ost_thread A3 ON (A3.object_type = 'T' AND A1.ticket_id = A3.object_id) LEFT JOIN ost_thread_referral A4 ON (A3.id = A4.thread_id) LEFT JOIN ost_staff A5 ON (A4.object_type = 'S' AND A4.object_id = A5.staff_id) LEFT JOIN ost_thread A6 ON (A1.ticket_id = A6.object_id AND A6.object_type = 'C') LEFT JOIN ost_thread_referral A7 ON (A6.id = A7.thread_id) LEFT JOIN ost_staff A8 ON (A7.object_type = 'S' AND A7.object_id = A8.staff_id) LEFT JOIN ost_team B0 ON (A4.object_type = 'E' AND A4.object_id = B0.team_id) LEFT JOIN ost_team B1 ON (A7.object_type = 'E' AND A7.object_id = B1.team_id) LEFT JOIN ost_department B2 ON (A4.object_type = 'D' AND A4.object_id = B2.id) LEFT JOIN ost_department B3 ON (A7.object_type = 'D' AND A7.object_id = B3.id) LEFT JOIN ost_user B4 ON (A1.user_id = B4.id) LEFT JOIN ost_user_email B5 ON (B4.default_email_id = B5.id) LEFT JOIN ost_ticket__cdata B6 ON (A1.ticket_id = B6.ticket_id) LEFT JOIN ost_task B7 ON (A1.ticket_id = B7.object_id) LEFT JOIN ost_thread_collaborator B8 ON (A3.id = B8.thread_id) LEFT JOIN ost_thread_entry C0 ON (A3.id = C0.thread_id) JOIN (SELECT COALESCE(Z3.object_id, Z5.ticket_id, Z8.ticket_id) as ticket_id, Z1.relevance FROM (SELECT Z1.object_id, Z1.object_type, MATCH (Z1.title, Z1.content) AGAINST ('can\'' IN NATURAL LANGUAGE MODE) AS relevance FROM ost__search Z1 WHERE MATCH (Z1.title, Z1.content) AGAINST ('can\'' IN NATURAL LANGUAGE MODE) ORDER BY relevance DESC) Z1 LEFT JOIN ost_thread_entry Z2 ON (Z1.object_type = 'H' AND Z1.object_id = Z2.id) LEFT JOIN ost_thread Z3 ON (Z2.thread_id = Z3.id AND (Z3.object_type = 'T' OR Z3.object_type = 'C')) LEFT JOIN ost_ticket Z5 ON (Z1.object_type = 'T' AND Z1.object_id = Z5.ticket_id) LEFT JOIN ost_user Z6 ON (Z6.id = Z1.object_id and Z1.object_type = 'U') LEFT JOIN ost_organization Z7 ON (Z7.id = Z1.object_id AND Z7.id = Z6.org_id AND Z1.object_type = 'O') LEFT JOIN ost_ticket Z8 ON (Z8.user_id = Z6.id)) Z1 WHERE ((A2.state = 'open' AND (A1.staff_id = 54 OR A5.staff_id = 54 OR A6.object_type = 'C' AND A8.staff_id = 54 OR A1.team_id IN (13, 14) OR B0.team_id IN (13, 14) OR A6.object_type = 'C' AND B1.team_id IN (13, 14))) OR A1.dept_id IN (1, 4, 6, 9, 10, 11, 12, 13, 14, 15, 16, 18) OR B2.id IN (1, 4, 6, 9, 10, 11, 12, 13, 14, 15, 16, 18) OR A6.object_type = 'C' AND B3.id IN (1, 4, 6, 9, 10, 11, 12, 13, 14, 15, 16, 18)) AND A1.ticket_id = Z1.ticket_id GROUP BY B5.address ORDER BY SUM(Z1.relevance) DESC, Z1.relevance LIMIT 25;`

I think this query is from the lookup function in ajax.tickets.php file.

System Information:
OsTicket Version: v.15.4
Web Server: Microsoft-IIS/10.0
Total Memory (RAM): 16Gb
MySQL Version: 8.0.26
PHP Version: 7.4.13
innodb_buffer_pool_size: 12G
innodb_buffer_pool_instances: 8
innodb_buffer_pool_chunk_size: 128M

    kekaru

    Sounds like database corruption or hardware issue. However you are using an old, unsupported version of osTicket. Please upgrade and retest.

    Cheers.

    Write a Reply...