Skip to content

Crash: JVM core dump (EXCEPTION_ACCESS_VIOLATION, python311.dll) when started via JPype/Tabula-py in Nuitka-compiled binary #137662

@Tanishq-JM

Description

@Tanishq-JM

Crash report

What happened?

Compiling a Python script that uses Tabula-py (which uses JPype) with Nuitka results in a crash when starting the JVM from the Nuitka-compiled executable. The JVM reports EXCEPTION_ACCESS_VIOLATION in python311.dll and creates a core dump. This only happens with Nuitka binaries, not when running with the standard Python interpreter.

Minimal, reproducible example

import os
import tabula
os.environ["PATH"] = os.path.join(os.getcwd(), "java_runtime", "bin") + os.pathsep + os.environ.get("PATH", "")
tabula.read_pdf("test.pdf")

Additional context

  • Nuitka: 2.7.12
  • Python: 3.11.x (CPython)
  • Windows 10 x64 (also Java 21.x OpenJDK)
  • Nuitka installed via pip, Python from python.org, Java (OpenJDK/Temurin) portable
  • tabula-py and jpype1: latest
  • Sample JVM output:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0xXXXXXXXX, pid=XXXXX, tid=XXXXX
#
# JRE version: Java(TM) SE Runtime Environment (XX.X.XX)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (...)
# Problematic frame:
# C  [python311.dll+0xab9d6]
#
# The crash happened outside the Java Virtual Machine in native code.
#

CPython versions tested on:

3.11

Operating systems tested on:

Windows

Output from running 'python -VV' on the command line:

Python 3.11.x (from python.org) on Windows 10 x64

Metadata

Metadata

Assignees

No one assigned

    Labels

    type-crashA hard crash of the interpreter, possibly with a core dump

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions