Environment:
Ubuntu 22.04, virtuoso v7.2.17 0a2b062 ~ latest version
POC
CREATE TABLE v0 ( v1 INT , v2 VARBINARY ( 36 ) ) ;
CREATE VIEW v3 AS SELECT * FROM v0 x WHERE ( v2 , v1 ) IN ( SELECT v1 , VAR_SAMP ( PERCENT_RANK ( v2 ) / 18117268.000000 ) / 96 x FROM v0 x ) ;
CREATE VIEW v6 AS SELECT CASE WHEN BIT_XOR ( 'x' ) = 35 THEN 'x' ELSE 'x' END AS v5 FROM v0 , v0 AS v4 NATURAL JOIN v3 WHERE EXISTS ( SELECT v1 , v2 , v1 FROM v3 WHERE v1 NOT IN ( 'x' , 'x' ) ) ;
DROP TABLE v0 ;
INSERT INTO v3 SELECT DISTINCT v1 FROM v6 NATURAL JOIN v6 WHERE v0 = 15 AND v0 <= v0 ;
Error output
================================================================
==968438==ERROR: AddressSanitizer: SEGV on unknown address 0xfffffffffffffffd (pc 0x5645b5554555 bp 0x7fa6c78eb3f0 sp 0x7fa6c78eb350 T7)
==968438==The signal is caused by a READ memory access.
#0 0x5645b5554555 in sqlc_insert_view /home/virtuoso-opensource/libsrc/Wi/sqlview.c:364
#1 0x5645b5528d02 in sqlc_insert /home/virtuoso-opensource/libsrc/Wi/sqlstmts.c:876
#2 0x5645b5441c7d in sql_stmt_comp /home/virtuoso-opensource/libsrc/Wi/sqlcomp2.c:978
#3 0x5645b5443d47 in sql_compile_1 /home/virtuoso-opensource/libsrc/Wi/sqlcomp2.c:1722
#4 0x5645b5444b74 in sql_compile /home/virtuoso-opensource/libsrc/Wi/sqlcomp2.c:1904
#5 0x5645b5300bde in eql_compile_2 /home/virtuoso-opensource/libsrc/Wi/eqlcomp.c:2869
#6 0x5645b551a9fd in stmt_set_query /home/virtuoso-opensource/libsrc/Wi/sqlsrv.c:1404
#7 0x5645b551c367 in sf_sql_execute /home/virtuoso-opensource/libsrc/Wi/sqlsrv.c:1882
#8 0x5645b551d22c in sf_sql_execute_w /home/virtuoso-opensource/libsrc/Wi/sqlsrv.c:2051
#9 0x5645b5523ef2 in sf_sql_execute_wrapper /home/virtuoso-opensource/libsrc/Wi/sqlsrv.c:3997
#10 0x5645b59d46fc in future_wrapper /home/virtuoso-opensource/libsrc/Dk/Dkernel.c:1174
#11 0x5645b59e174a in _thread_boot /home/virtuoso-opensource/libsrc/Thread/sched_pthread.c:296
#12 0x7fa6d7fc1ac2 (/lib/x86_64-linux-gnu/libc.so.6+0x94ac2)
#13 0x7fa6d8052a73 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x125a73)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/virtuoso-opensource/libsrc/Wi/sqlview.c:364 in sqlc_insert_view
Thread T7 created by T6 here:
#0 0x7fa6d87aa685 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cpp:216
#1 0x5645b59e1a0e in oplthread_create /home/virtuoso-opensource/libsrc/Thread/sched_pthread.c:425
#2 0x5645b59d2e4b in get_free_thread /home/virtuoso-opensource/libsrc/Dk/Dkernel.c:402
#3 0x5645b59d5854 in schedule_request /home/virtuoso-opensource/libsrc/Dk/Dkernel.c:1654
#4 0x5645b59d6d2d in read_service_request /home/virtuoso-opensource/libsrc/Dk/Dkernel.c:2439
#5 0x5645b59d2fe3 in call_default_read /home/virtuoso-opensource/libsrc/Dk/Dkernel.c:498
#6 0x5645b59d379d in check_inputs_low /home/virtuoso-opensource/libsrc/Dk/Dkernel.c:681
#7 0x5645b59d78c9 in server_loop /home/virtuoso-opensource/libsrc/Dk/Dkernel.c:2812
#8 0x5645b59e174a in _thread_boot /home/virtuoso-opensource/libsrc/Thread/sched_pthread.c:296
#9 0x7fa6d7fc1ac2 (/lib/x86_64-linux-gnu/libc.so.6+0x94ac2)
Thread T6 created by T0 here:
#0 0x7fa6d87aa685 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cpp:216
#1 0x5645b59e1a0e in oplthread_create /home/virtuoso-opensource/libsrc/Thread/sched_pthread.c:425
#2 0x5645b59d8458 in PrpcProtocolInitialize /home/virtuoso-opensource/libsrc/Dk/Dkernel.c:3264
#3 0x5645b59d84be in PrpcListen /home/virtuoso-opensource/libsrc/Dk/Dkernel.c:3298
#4 0x5645b524fee7 in main /home/virtuoso-opensource/binsrc/virtuoso/viunix.c:704
#5 0x7fa6d7f56d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)
==968438==ABORTING
*** Error 08S01: [Virtuoso Driver]CL065: Lost connection to server
at line 6 of Top-Level:
INSERT INTO v3 SELECT DISTINCT v1 FROM v6 NATURAL JOIN v6 WHERE v0 = 15 AND v0 <= v0
Environment:
Ubuntu 22.04, virtuoso v7.2.17 0a2b062 ~ latest version
POC
Error output