-
-
Notifications
You must be signed in to change notification settings - Fork 32.6k
Closed as not planned
Closed as not planned
Copy link
Labels
type-crashA hard crash of the interpreter, possibly with a core dumpA hard crash of the interpreter, possibly with a core dump
Description
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.
#
- Disabling JPype DLL preloading does not help. Same crash on multiple systems. Works with standard Python, only fails with Nuitka binary.
- This blocks all use of Tabula-py (and likely other JPype-based projects) with Nuitka.
- Related Nuitka issue: Crash: Nuitka-compiled binary using JPype/Tabula-py causes JVM core dump (EXCEPTION_ACCESS_VIOLATION, python311.dll) Nuitka/Nuitka#3569
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
Labels
type-crashA hard crash of the interpreter, possibly with a core dumpA hard crash of the interpreter, possibly with a core dump