Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
-
None
-
None
-
OpenBSD/arm64
Description
Running the tests on amd64 and arm64 we are only seeing this on arm64.
Happens with both 10.9 and 11.4.
worker[1] - saving '/home/brad/ports/pobj/mariadb-10.9.8/build-aarch64/mysql-test/var/mysqld.1'
|
worker[1] main.connect worker[1] [ fail ]
|
Test ended at 2024-09-03 03:14:47
|
worker[1]
|
CURRENT_TEST: main.connect
|
safe_process[98524]: parent_pid: 51941
|
safe_process[98524]: Started child 12834, terminated: 0
|
mysqltest: At line 19: Failed to initialise non-blocking API
|
|
The result from queries just before the failure was:
|
SET global secure_auth=0;
|
safe_process[98524]: Got signal 20, child_pid: 12834
|
safe_process[98524]: Killing child: 12834
|
safe_process[98524]: Child exit: 1
|
|
main.connect [ fail ]
|
Test ended at 2024-09-03 03:14:47
|
|
CURRENT_TEST: main.connect
|
safe_process[98524]: parent_pid: 51941
|
safe_process[98524]: Started child 12834, terminated: 0
|
mysqltest: At line 19: Failed to initialise non-blocking API
|
Attachments
Issue Links
Activity
Field | Original Value | New Value |
---|---|---|
Assignee | Kristian Nielsen [ knielsen ] |
Fix Version/s | 10.5 [ 23123 ] |
Status | Open [ 1 ] | Confirmed [ 10101 ] |
Status | Confirmed [ 10101 ] | In Progress [ 3 ] |
Attachment | mdev34859_aarch64_nonblock_library.diff [ 74005 ] |
Remote Link | This issue links to "github branch with native aarch64 patch and boost::context fallback patch (Web Link)" [ 37118 ] |
Attachment | async_api_boost_context.patch [ 74008 ] |
Attachment | async_api_boost_context_v2.patch [ 74078 ] |
Assignee | Kristian Nielsen [ knielsen ] | Georg Richter [ georg ] |
Status | In Progress [ 3 ] | In Review [ 10002 ] |
Assignee | Georg Richter [ georg ] | Kristian Nielsen [ knielsen ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
Priority | Major [ 3 ] | Blocker [ 1 ] |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.5 [ 23123 ] |
Assignee | Kristian Nielsen [ knielsen ] | Sergei Golubchik [ serg ] |
Component/s | libmariadb [ 14006 ] | |
Fix Version/s | 10.6.20 [ 29903 ] | |
Fix Version/s | 10.11.10 [ 29904 ] | |
Fix Version/s | 11.2.6 [ 29906 ] | |
Fix Version/s | 11.4.4 [ 29907 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Assignee | Sergei Golubchik [ serg ] | Kristian Nielsen [ knielsen ] |
Hi brad0, thanks for the report.
I think I know what the problem is. The non-blocking API uses a co-routine implementation. It can use a native assembler backend, but that is not implemented for arm64. Or it can fallback to use ucontext, but ucontext is no longer supported in OpenBSD AFAIK. So the result is that the non-blocking API is not available on OpenBSD arm64 :-/
It would actually be good to implement native arm64 support, that is much faster than ucontext even on platforms that support it.
If I implement a patch that provides a native implementation on arm64, will you be able to test it? (I can supply either a custom build or a patch for you to compile yourself)?