Skip to content

cryptography CANNOT work with multi context due to TypeError: object.__init__() takes exactly one argument (the instance to initialize) #557

@buuuuuuug

Description

@buuuuuuug

i tried to use cryptography==44.0.2 with graalpython 25.0.0
when set python.IsolateNativeModules to true
the second context will error when executing method default_backend() of cryptography.

[ERROR] org.example.embedding.test.EmbeddingTest.testSuccess -- Time elapsed: 72.35 s <<< ERROR!
java.lang.RuntimeException: TypeError: TypeError: object.__init__() takes exactly one argument (the instance to initialize)
        at org.example.embedding.Main.test(Main.java:100)
        at org.example.embedding.Main.main(Main.java:31)
        at org.example.embedding.test.EmbeddingTest.testSuccess(EmbeddingTest.java:54)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:565)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
        at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
        at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:316)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:240)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:214)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:155)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
        at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
        at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
Caused by: TypeError: TypeError: object.__init__() takes exactly one argument (the instance to initialize)
        at <python>.default_backend(Unknown)
        at <python>.decryptAES_cryptography(Unknown)
        at org.graalvm.polyglot.Value.execute(Value.java:1049)
        at org.example.embedding.Main.test(Main.java:85)
        ... 28 more

there is a repo which will reproduce the error
https://github.com/buuuuuuug/pycrypto_graalpy/tree/bug/20251010_object_init_err

clone

git clone https://github.com/buuuuuuug/pycrypto_graalpy.git -b bug/20251010_object_init_err && cd pycrypto_graalpy

versions

mvn --version
Apache Maven 3.9.11 (3e54c93a704957b63ee3494413a2b544fd3d825b)
Maven home: /root/.sdkman/candidates/maven/current
Java version: 25, vendor: Oracle Corporation, runtime: /root/.sdkman/candidates/java/25-graal
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "6.8.0-40-generic", arch: "amd64", family: "unix"

test

mvn test

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions