I am currently testing Virtuoso by building docker image following this: https://github.com/openlink/vos-reference-docker. Recently I frequently triggered the following crash in Virtuoso (I could reproduce on latest manual build from 604fdc7, openlink/virtuoso-opensource-7:latest, pkleef/virtuoso:latest):

```
06:22:35 Version 07.20.3238-pthreads for Linux as of Feb  7 2024 (604fdc7)
06:22:35 uses OpenSSL 1.1.1f  31 Mar 2020
06:22:35 uses parts of PCRE, Html Tidy
06:22:35 Database version 3126
06:22:35 SQL Optimizer enabled (max 1000 layouts)
06:22:36 Compiler unit is timed at 0.000109 msec
06:22:37 Roll forward started
06:22:37 Roll forward complete
06:22:37 Checkpoint started
06:22:37 Checkpoint finished, log reused
06:22:37 HTTP/WebDAV server online at 8890
06:22:37 Server online at 1111 (pid 1)
B')) BETWEEN CAST(database0_t0.c1 AS VARCHAR) AND database0_t1.c1) UNION ALL SELECT database0_t0.c0, database0_t0.c1 FROM database0_t0, database0_t1 WHERE (NOT (((06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x5b7dd9) [0x55f4b7e8fdd9]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x5b7e6d) [0x55f4b7e8fe6d]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x118b4e) [0x55f4b79f0b4e]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x11a76a) [0x55f4b79f276a]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x2a8228) [0x55f4b7b80228]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x2a864e) [0x55f4b7b8064e]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26ebc6) [0x55f4b7b46bc6]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26f81e) [0x55f4b7b4781e]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26b9f7) [0x55f4b7b439f7]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26bd97) [0x55f4b7b43d97]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x27318c) [0x55f4b7b4b18c]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26b9f7) [0x55f4b7b439f7]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26bc88) [0x55f4b7b43c88]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x2a701d) [0x55f4b7b7f01d]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26b9f7) [0x55f4b7b439f7]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x276d1e) [0x55f4b7b4ed1e]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x278637) [0x55f4b7b50637]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0xf7d87) [0x55f4b79cfd87]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0xfea66) [0x55f4b79d6a66]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0xff059) [0x55f4b79d7059]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x270c96) [0x55f4b7b48c96]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x2714ae) [0x55f4b7b494ae]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26b9f7) [0x55f4b7b439f7]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x277cd3) [0x55f4b7b4fcd3]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x280111) [0x55f4b7b58111]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x2804c7) [0x55f4b7b584c7]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x280614) [0x55f4b7b58614]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x5bc6a2) [0x55f4b7e946a2]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x5c35be) [0x55f4b7e9b5be]
06:22:49 /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7f22a9391609]
06:22:49 /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7f22a915f353]
06:22:49 GPF: gate.c:160 Zero DP in page_fault_map_sem
GPF: gate.c:160 Zero DP in page_fault_map_sem
```

### Scenario:

Start testing with 2 threads (2 JDBC connections) by sending random SQL queries, after several seconds, close my testing program (The JDBC connection might not be closed properly).

Then I start testing with another 2 threads, and the crash happens. There might be some issues when handling the previous queries, as there's one strange string `B')) BETWEEN CAST(database0_t0.c1 AS VARCHAR) AND database0_t1.c1) UNION ALL SELECT database0_t0.c0, database0_t0.c1 FROM database0_t0, database0_t1 WHERE (NOT (((` in the server log. Here's the full server [log](https://github.com/openlink/virtuoso-opensource/files/14190002/virtuoso.log) in case it's useful.

I think it might be regardless of what kind of SQL queries I used since I could not easily reproduced by using `isql`.

Kindly inform me if I should provide more information.
Potential issue when multi-threading testing using virtuoso jdbc driver
This is a GitHub Issue
repo:virtuoso-opensource
owner:openlink
Title : Potential issue when multi-threading testing using virtuoso jdbc driver
Issue date:

--- start body ---
I am currently testing Virtuoso by building docker image following this: https://github.com/openlink/vos-reference-docker. Recently I frequently triggered the following crash in Virtuoso (I could reproduce on latest manual build from 604fdc7, openlink/virtuoso-opensource-7:latest, pkleef/virtuoso:latest):

```
06:22:35 Version 07.20.3238-pthreads for Linux as of Feb  7 2024 (604fdc7)
06:22:35 uses OpenSSL 1.1.1f  31 Mar 2020
06:22:35 uses parts of PCRE, Html Tidy
06:22:35 Database version 3126
06:22:35 SQL Optimizer enabled (max 1000 layouts)
06:22:36 Compiler unit is timed at 0.000109 msec
06:22:37 Roll forward started
06:22:37 Roll forward complete
06:22:37 Checkpoint started
06:22:37 Checkpoint finished, log reused
06:22:37 HTTP/WebDAV server online at 8890
06:22:37 Server online at 1111 (pid 1)
B')) BETWEEN CAST(database0_t0.c1 AS VARCHAR) AND database0_t1.c1) UNION ALL SELECT database0_t0.c0, database0_t0.c1 FROM database0_t0, database0_t1 WHERE (NOT (((06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x5b7dd9) [0x55f4b7e8fdd9]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x5b7e6d) [0x55f4b7e8fe6d]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x118b4e) [0x55f4b79f0b4e]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x11a76a) [0x55f4b79f276a]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x2a8228) [0x55f4b7b80228]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x2a864e) [0x55f4b7b8064e]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26ebc6) [0x55f4b7b46bc6]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26f81e) [0x55f4b7b4781e]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26b9f7) [0x55f4b7b439f7]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26bd97) [0x55f4b7b43d97]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x27318c) [0x55f4b7b4b18c]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26b9f7) [0x55f4b7b439f7]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26bc88) [0x55f4b7b43c88]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x2a701d) [0x55f4b7b7f01d]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26b9f7) [0x55f4b7b439f7]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x276d1e) [0x55f4b7b4ed1e]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x278637) [0x55f4b7b50637]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0xf7d87) [0x55f4b79cfd87]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0xfea66) [0x55f4b79d6a66]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0xff059) [0x55f4b79d7059]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x270c96) [0x55f4b7b48c96]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x2714ae) [0x55f4b7b494ae]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x26b9f7) [0x55f4b7b439f7]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x277cd3) [0x55f4b7b4fcd3]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x280111) [0x55f4b7b58111]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x2804c7) [0x55f4b7b584c7]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x280614) [0x55f4b7b58614]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x5bc6a2) [0x55f4b7e946a2]
06:22:49 /opt/virtuoso-opensource/bin/virtuoso-t(+0x5c35be) [0x55f4b7e9b5be]
06:22:49 /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7f22a9391609]
06:22:49 /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7f22a915f353]
06:22:49 GPF: gate.c:160 Zero DP in page_fault_map_sem
GPF: gate.c:160 Zero DP in page_fault_map_sem
```

### Scenario:

Start testing with 2 threads (2 JDBC connections) by sending random SQL queries, after several seconds, close my testing program (The JDBC connection might not be closed properly).

Then I start testing with another 2 threads, and the crash happens. There might be some issues when handling the previous queries, as there's one strange string `B')) BETWEEN CAST(database0_t0.c1 AS VARCHAR) AND database0_t1.c1) UNION ALL SELECT database0_t0.c0, database0_t0.c1 FROM database0_t0, database0_t1 WHERE (NOT (((` in the server log. Here's the full server [log](https://github.com/openlink/virtuoso-opensource/files/14190002/virtuoso.log) in case it's useful.

I think it might be regardless of what kind of SQL queries I used since I could not easily reproduced by using `isql`.

Kindly inform me if I should provide more information.
--- end body ---
