tada / pljava

PL/Java is a free add-on module that brings Java™ Stored Procedures, Triggers, Functions, Aggregates, Operators, Types, etc., to the PostgreSQL™ backend.
http://tada.github.io/pljava/
Other
238 stars 77 forks source link

Fails on s390x #469

Closed df7cb closed 2 months ago

df7cb commented 9 months ago

On Debian's s390x (64-bit, big-endian) architecture, pljava 1.6.6 compiles, but using it yields this:

15:09:38 ### PostgreSQL 16 virtualenv ###
15:09:38 Creating new PostgreSQL cluster 16/regress ...
15:09:41 + set -eux
15:09:41 + pg_conftool -s show data_directory
15:09:41 + PGDATA=/tmp/pg_virtualenv.rwV6yx/data/16/regress
15:09:41 + trap cat /tmp/pg_virtualenv.rwV6yx/data/16/regress/*.log || : EXIT
15:09:41 + [ /<<PKGBUILDDIR>>/debian/postgresql-16-pljava ]
15:09:41 + set -- /<<PKGBUILDDIR>>/debian/postgresql-16-pljava/usr/share/postgresql/16/pljava/pljava-1.6.6.jar
15:09:41 + PLJAR=/<<PKGBUILDDIR>>/debian/postgresql-16-pljava/usr/share/postgresql/16/pljava/pljava-1.6.6.jar
15:09:41 + set -- /<<PKGBUILDDIR>>/debian/postgresql-16-pljava/usr/share/postgresql/16/pljava/pljava-api-1.6.6.jar
15:09:41 + PLAPIJAR=/<<PKGBUILDDIR>>/debian/postgresql-16-pljava/usr/share/postgresql/16/pljava/pljava-api-1.6.6.jar
15:09:41 + psql -c ALTER USER buildd SET pljava.module_path = '/<<PKGBUILDDIR>>/debian/postgresql-16-pljava/usr/share/postgresql/16/pljava/pljava-1.6.6.jar:/<<PKGBUILDDIR>>/debian/postgresql-16-pljava/usr/share/postgresql/16/pljava/pljava-api-1.6.6.jar'
15:09:41 ALTER ROLE
15:09:41 + POLICY=/<<PKGBUILDDIR>>/debian/tests/pljava.policy
15:09:41 + psql -c ALTER USER buildd SET pljava.policy_urls = '"file:///<<PKGBUILDDIR>>/debian/tests/pljava.policy"'
15:09:41 ALTER ROLE
15:09:41 + set -- /<<PKGBUILDDIR>>/debian/postgresql-16-pljava/usr/share/postgresql/16/pljava/pljava-examples-1.6.6.jar
15:09:41 + EXJAR=/<<PKGBUILDDIR>>/debian/postgresql-16-pljava/usr/share/postgresql/16/pljava/pljava-examples-1.6.6.jar
15:09:41 + psql -c ALTER USER buildd SET check_function_bodies = off
15:09:41 ALTER ROLE
15:09:41 + psql -c CREATE EXTENSION pljava
15:09:42 WARNING:  [JEP 411] migration advisory: there will be a Java version (after Java 17) that will be unable to run PL/Java 1.6.6 with policy enforcement
15:09:42 DETAIL:  This PL/Java version enforces security policy using important Java features that will be phased out in future Java versions. Those changes will come in releases after Java 17.
15:09:42 HINT:  For migration planning, Java versions up to and including 17 remain fully usable with this version of PL/Java, and Java 17 is positioned as a long-term support release. For details on how PL/Java will adapt, please bookmark https://github.com/tada/pljava/wiki/JEP-411
15:09:42 CREATE EXTENSION
15:09:42 + psql -c SELECT sqlj.install_jar('file:/<<PKGBUILDDIR>>/debian/postgresql-16-pljava/usr/share/postgresql/16/pljava/pljava-examples-1.6.6.jar', 'examples', true)
15:09:43 INFO:  21 Sep 23 13:09:43 org.postgresql.pljava.example.LoggerTest SetOfRecordTest ok
15:09:43 INFO:  21 Sep 23 13:09:43 org.postgresql.pljava.example.LoggerTest aggregate examples ok
15:09:43 INFO:  21 Sep 23 13:09:43 org.postgresql.pljava.example.annotation.PreJSR310 issue 199 test ok
15:09:44 INFO:  21 Sep 23 13:09:43 org.postgresql.pljava.example.annotation.SPIActions issue 228 tests ok
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest composite return passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest set of composite return passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest Holdability OK
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.annotation.Point pg_catalog.point from SQLInput
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest get resource passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest get ResourceBundle passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest variadic calls ok
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.annotation.ComplexTuple javatest.complextuple from SQLInput
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.annotation.ComplexTuple javatest.complextuple to SQLOutput
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.annotation.ComplexTuple javatest.complextuple from SQLInput
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest java.time.LocalDate passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest java.time.LocalTime passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest java.time.OffsetTime passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest java.time.LocalDateTime passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest java.time.OffsetDateTime passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest OffsetTime as stmt param passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest timestamp roundtrip passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest timestamptz roundtrip passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.annotation.Point pg_catalog.point from SQLInput
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest issue192 test passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest boolean[] passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest "char"[] passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest bytea passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest int2[] passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest int4[] passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest int8[] passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest float4[] passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest float8[] passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest text[] passes
15:09:44 INFO:  21 Sep 23 13:09:44 org.postgresql.pljava.example.LoggerTest trigger transition table test ok
15:09:46 INFO:  21 Sep 23 13:09:46 org.postgresql.pljava.example.LoggerTest all Unicode codepoint ranges roundtripped successfully.
15:09:46 INFO:  21 Sep 23 13:09:46 org.postgresql.pljava.example.LoggerTest pgNodeTreeAsXML ok
15:09:50 INFO:  21 Sep 23 13:09:50 org.postgresql.pljava.example.LoggerTest SQLXML echos succeeded
15:09:51 INFO:  21 Sep 23 13:09:51 org.postgresql.pljava.example.LoggerTest proxied SQLXML echos succeeded
15:09:51 INFO:  21 Sep 23 13:09:51 org.postgresql.pljava.example.LoggerTest XML Schema tests succeeded
15:09:51 INFO:  21 Sep 23 13:09:51 org.postgresql.pljava.example.LoggerTest XSLT 1.0 test succeeded
15:09:51 INFO:  21 Sep 23 13:09:51 org.postgresql.pljava.example.LoggerTest XSLT 1.0 with Java succeeded
15:09:51 NOTICE:  return type javatest.intwithmod is only a shell
15:09:51 NOTICE:  argument type javatest.intwithmod is only a shell
15:09:51 NOTICE:  return type javatest.intwithmod is only a shell
15:09:51 NOTICE:  argument type javatest.intwithmod is only a shell
15:09:51 NOTICE:  return type javatest.udtscalariotest is only a shell
15:09:51 NOTICE:  argument type javatest.udtscalariotest is only a shell
15:09:51 NOTICE:  return type javatest.udtscalariotest is only a shell
15:09:51 NOTICE:  argument type javatest.udtscalariotest is only a shell
15:09:51 NOTICE:  return type javatest.varlenaudttest is only a shell
15:09:51 NOTICE:  argument type javatest.varlenaudttest is only a shell
15:09:51 NOTICE:  return type javatest.varlenaudttest is only a shell
15:09:51 NOTICE:  argument type javatest.varlenaudttest is only a shell
15:09:51 NOTICE:  return type javatest.complex is only a shell
15:09:51 NOTICE:  argument type javatest.complex is only a shell
15:09:51 NOTICE:  return type javatest.complex is only a shell
15:09:51 NOTICE:  argument type javatest.complex is only a shell
15:09:51 server closed the connection unexpectedly
15:09:51    This probably means the server terminated abnormally
15:09:51    before or while processing the request.
15:09:51 connection to server was lost
15:09:51 + cat /tmp/pg_virtualenv.rwV6yx/data/16/regress/*.log
15:09:51 cat: '/tmp/pg_virtualenv.rwV6yx/data/16/regress/*.log': No such file or directory
15:09:51 + :
15:09:51 *** /tmp/pg_virtualenv.rwV6yx/log/postgresql-16-regress.log (last 100 lines) ***
15:09:51 2023-09-21 13:09:39.409 UTC [5384] LOG:  starting PostgreSQL 16.0 (Debian 16.0-2.pgdg+1) on s390x-ibm-linux-gnu, compiled by gcc (Debian 13.2.0-4) 13.2.0, 64-bit
15:09:51 2023-09-21 13:09:39.409 UTC [5384] LOG:  listening on IPv4 address "127.0.0.1", port 5432
15:09:51 2023-09-21 13:09:39.409 UTC [5384] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
15:09:51 2023-09-21 13:09:39.411 UTC [5387] LOG:  database system was shut down at 2023-09-21 13:09:39 UTC
15:09:51 2023-09-21 13:09:39.413 UTC [5384] LOG:  database system is ready to accept connections
15:09:51 2023-09-21 13:09:42.447 UTC [5412] buildd@postgres WARNING:  [JEP 411] migration advisory: there will be a Java version (after Java 17) that will be unable to run PL/Java 1.6.6 with policy enforcement
15:09:51 2023-09-21 13:09:42.447 UTC [5412] buildd@postgres DETAIL:  This PL/Java version enforces security policy using important Java features that will be phased out in future Java versions. Those changes will come in releases after Java 17.
15:09:51 2023-09-21 13:09:42.447 UTC [5412] buildd@postgres HINT:  For migration planning, Java versions up to and including 17 remain fully usable with this version of PL/Java, and Java 17 is positioned as a long-term support release. For details on how PL/Java will adapt, please bookmark https://github.com/tada/pljava/wiki/JEP-411
15:09:51 *** stack smashing detected ***: terminated
15:09:51 2023-09-21 13:09:51.630 UTC [5384] LOG:  server process (PID 5434) was terminated by signal 6: Aborted
15:09:51 2023-09-21 13:09:51.630 UTC [5384] DETAIL:  Failed process was running: SELECT sqlj.install_jar('file:/<<PKGBUILDDIR>>/debian/postgresql-16-pljava/usr/share/postgresql/16/pljava/pljava-examples-1.6.6.jar', 'examples', true)
15:09:51 2023-09-21 13:09:51.630 UTC [5384] LOG:  terminating any other active server processes
15:09:51 2023-09-21 13:09:51.632 UTC [5384] LOG:  all server processes terminated; reinitializing
15:09:51 Dropping cluster 16/regress ...
15:09:51 ### End 16 virtualenv (FAILED with exit code 2) ###

I don't really expect a fix since there's possibly no users anyway, but filing here to have it on record. See also #338.

https://pgdgbuild.dus.dg-i.net/job/postgresql-pljava-binaries/143/architecture=s390x,distribution=sid/console#console-section-6

jcflack commented 2 months ago

Closing until there is demand for this arch / access to a testing environment.