-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PG-10 invoke an UDF report 'java.lang.SecurityException' read on /path/to/pljava-1.5.7.jar error #508
Comments
The key difficulty here will be the attempt to use the standard Java security manager and policy-based permissions with PL/Java 1.5.x, which used an incompatible custom security manager. I am not sure whether you could, with some amount of effort, make it do something you want, but the combination is unsupported. Is there a reason you cannot use the current PL/Java 1.6.x? It uses policy-based permissions natively. PL/Java 1.6 will require using Java 9 or later. Would that pose a difficulty for you? |
For convenience, I'll add a link to PL/Java 1.6.x's docs regarding policy-based permissions. https://tada.github.io/pljava/use/policy.html For the legacy PL/Java 1.5.x series, this is 'wontfix'. |
Thank you very much for your suggestion. The local pljava version is indeed a bit low, and I am going to upgrade it to 1.6x. In addition, there is a debugging problem. How to set the parameters related to pljava to obtain the java error stack when an exception occurs? Stack trace:
1 0x1190a7e postgres errstart + 0x55e
2 0x7ff3462a8b14 libpljava-so-1.5.7.so <symbol not found> + 0x462a8b14
3 0x7ff3462a8d18 libpljava-so-1.5.7.so <symbol not found> + 0x462a8d18
4 0x7ff3462aa61f libpljava-so-1.5.7.so JNI_callStaticObjectMethodA + 0xbe
5 0x7ff3462b6b15 libpljava-so-1.5.7.so _Type_invoke + 0x33
6 0x7ff3462b6258 libpljava-so-1.5.7.so Type_invoke + 0x3d
7 0x7ff3462a5a21 libpljava-so-1.5.7.so Function_invoke + 0x259
8 0x7ff34629e60a libpljava-so-1.5.7.so <symbol not found> + 0x4629e60a
9 0x7ff34629e4a5 libpljava-so-1.5.7.so java_call_handler + 0x1d
10 0x870570 postgres <symbol not found> + 0x870570
11 0x869391 postgres ExecInterpExprStillValid + 0x31
12 0x90013e postgres <symbol not found> + 0x90013e
13 0x88a6ab postgres standard_ExecutorRun + 0x22b
14 0x7ff9bab614d5 pg_stat_statements.so <symbol not found> + 0xbab614d5
15 0x7ff9ba1355ce pg_stat_log.so <symbol not found> + 0xba1355ce
16 0x88ac64 postgres ExecutorRun + 0x54
17 0xce3495 postgres <symbol not found> + 0xce3495
18 0xce6747 postgres PortalRun + 0x397
19 0xcdcab9 postgres <symbol not found> + 0xcdcab9
20 0xce0d7a postgres PostgresMain + 0x335a
21 0x502e7c postgres <symbol not found> + 0x502e7c
22 0xb8446e postgres PostmasterMain + 0x122e
23 0x5081b6 postgres main + 0x3d6
24 0x7ff9c1cbb555 libc.so.6 __libc_start_main + 0xf5
25 0x5082cc postgres <symbol not found> + 0x5082cc |
Hmm, it does seem the trick to seeing exception stacktraces could be documented a bit better. It is mentioned in the wiki. The wiki still says it only works to set |
Background information
os-version: centos-7.0 with 4.14.105-19-0024
pg-version: pg-10
pljava-version: 1.5.7
jvm-options:
java.policy, added the pljava-1.5.7.jar path into it.
Basic operation:
Debug log
It seems to be a problem caused by environment configuration, but I don’t know much about the Java-related system. Any feasible suggestions?
Best wishes.
The text was updated successfully, but these errors were encountered: