apache / apache/datasketches-postgresql

Segfault in aod_sketch_get_estimate while lgk=16

Offen
#77 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C
Sterne
96
Forks
13
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Hi team.
I am experiencing segfault while I am running datasketches-postgresql tests.
Here is the error log
```
psql:test/aod_sketch_test.sql:25: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
psql:test/aod_sketch_test.sql:25: error: connection to server was lost
2025-05-23 21:14:29.609 UTC [13567] LOG: server process (PID 13607) was terminated by signal 11: Segmentation fault
2025-05-23 21:14:29.609 UTC [13567] DETAIL: Failed process was running: select aod_sketch_get_estimate(aod_sketch_union(sketch, 16)) from aod_sketch_test;
```
I am running with version datasketches-postgresql 1.7.0, with datasketches-cpp 5.0.0, on PostgreSQL 15.12 OEL7 linux distribution.
Here is my datasketches-postgresql set up script
```
# install datasketches-cpp
curl -O https://archive.apache.org/dist/datasketches/cpp/5.0.0/apache-datasketches-cpp-5.0.0-src.zip
unzip apache-datasketches-cpp-5.0.0-src.zip
mv apache-datasketches-cpp-5.0.0-src datasketches-cpp

# install boost
curl -O https://archives.boost.io/release/1.75.0/source/boost_1_75_0.tar.bz2
tar -xjf boost_1_75_0.tar.bz2
mv boost_1_75_0 boost

export BUILD_USER_DIR="/home/builduser"

# mark the extension as trusted, so that users can create it without
# superuser permissions
echo "trusted = true" >> datasketches.control
su builduser -c "make"
su builduser -c "make install"
# clean up the already created data directory
su builduser -c "rm -rf ${BUILD_USER_DIR}/data_dir"

# re-create the data directory
su builduser -c "mkdir -p ${BUILD_USER_DIR}"

# to do regression tests, we need to create new data dir
su builduser -c "pg_ctl -D ${BUILD_USER_DIR}/data_dir init"

# start postgres for testing
su builduser -c "pg_ctl start -D ${BUILD_USER_DIR}/data_dir"

# run tests
su builduser -c "psql -h 127.0.0.1 -d postgres -c 'create database test;'"
su builduser -c "make tests"
```

Is there anything I did wrong? Looking forward to your response.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginnen Sie mit test/aod_sketch_test.sql in Zeile 25 und reproduzieren Sie die Abfrage aod_sketch_get_estimate(aod_sketch_union(sketch, 16)) unter Verwendung der gemeldeten Versionen von PostgreSQL, datasketches-postgresql und datasketches-cpp. Verfolgen Sie den Absturz und verwenden Sie den Regressionstest, um zu überprüfen, dass die Abfrage ohne ein Signal zur Beendigung des Servers abgeschlossen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, cpp, linux, postgresql
Bereich
databases
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.