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