PGX 20.1.1


If the documentation does not provide an answer to your question, please let us know on the PGX community.

PGX Quits with a Message Containing "Aborted (core Dumped)", Logs Contain a Line "oracle.pgx.runtime.util.RtsLoggingAdapter - 0 Ms [rts Thread 0] ERROR - Could Not Parse /proc/cpuinfo"

This means that your system is incompatible with the enterprise scheduler.

Solution: If you are on linux, please try to upgrade the linux kernel version to at least version 3.13.

If this is not an option, as a workaround you can switch from the enterprise_scheduler to the basic_scheduler by changing the following field in the pgx configuration:

    "scheduler": "basic_scheduler"

Note that the basic scheduler is missing some features

I Get an Error "java.lang.InternalError: Can't Connect to X11 Window Server Using 'foobar' as the Value of the DISP" When Trying to Run PGX Shell

Solution: Try to start the JVM in headless mode:

export JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"

The Shell is Throwing an "OutOfMemoryError"

Solution: If your machine allows it, try increasing the JVM heap-size. For example, to set the maximum heap-size to 128 GB, do

export JAVA_OPTS="$JAVA_OPTS -Xmx128g"

Also see this article about PGX memory consumption.

The PGX Process Died without Exception

This can happen if you haven't specified an upper off-heap memory allocation limit and the OS allowed more memory to be allocated than available. See this article for a detailed explanation.

Solution: To make sure PGX is never getting killed by the OS, set the max_off_heap_size field in PGX configuration accordingly.

If you're sure that off-heap memory was not exhausted and PGX still died without error, please let us know.

Starting Weblogic Fails with an AssertionError

Starting Weblogic on certain distributions fails with a java.lang.AssertionError: Could not obtain the localhost address.

Solution: Make sure the hostname of the machine (try typing hostname in the linux command line) does not have an entry in the /etc/hosts file. Make sure to add an entry to that file or to change the hostname to 'localhost' (by calling hostname localhost as root). Setting the hostname to 'localhost' is not recommended in a production environment.

Calling RDBMS with Large Number of Connections

Using the database with too many connections may end up in the following error: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor.

Solution: Make sure the database has enough processes/sessions available by checking:

SELECT resource_name, current_utilization, max_utilization, limit_value
FROM v$resource_limit
WHERE resource_name IN ('sessions', 'processes');

Try incrementing the number of max processes/sessions allowed by executing:


PGX Not Using Enterprise Scheduler on ArchLinux Systems

PGX is running on ArchLinux and is configured to use the Enterprise Scheduler but it always falls back to the Basic Scheduler after startup. This might be because the numactl package is not installed on your system.

Solution: Make sure numactl is in the list of installed packages. You can use the following command:

pacman -Qqen | grep "numactl"

In case the package is missing, install it using pacman.

sudo pacman -S numactl

PGX in Distributed Mode Fails to Initialize

Starting PGX in distributed execution mode fails to initialize with an error similar to the following snippet:

01:23:45,678 [hostname] INFO comm_manager - [0/2] Initializing communication (initial cluster)
MQL:CINI:Forcing MSGQ CTX 0x392d9a0
IPCLW:[0.0]{E}[PINI]:RC: [0]Deferred context initialization failed.
IPCLW:[0.1]{E}[PINI]:PUB: [0]Failed Pini at IP cookie 59965688 rval 3
MQL:Could not initialize MQL Context
MQL:CINI:Forcing MSGQ CTX 0x392d9a0
MQL:INIT: sharing regs across context with diff IPs
MQL:Could not initialize MQL Context
[proc0] PID 1234 got signal 11 at address 0x10

This is likely because the version of used does not contain the necessary XRC expansions required for the distributed version of PGX.

Solution: Make sure that the missing expansions are indeed causing the issue. You can use the following command:

objdump -T <>/ | grep "_xrc_"

If this displays nothing, you are missing the necessary XRC expansions. In this case, you will need to remove the current drivers and use instead the libibverbs packaged with Exadata images for OEL.