Skip to content

Commit 91460cd

Browse files
committed
HPy: improve error message when HPy ext loading failed
1 parent e9895af commit 91460cd

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyContext.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,10 @@
8383
import com.oracle.graal.python.builtins.objects.cext.capi.CApiContext;
8484
import com.oracle.graal.python.builtins.objects.cext.common.CArrayWrappers;
8585
import com.oracle.graal.python.builtins.objects.cext.common.CArrayWrappers.CStringWrapper;
86-
import com.oracle.graal.python.builtins.objects.cext.common.CExtCommonNodesFactory.AsNativePrimitiveNodeGen;
8786
import com.oracle.graal.python.builtins.objects.cext.common.CExtContext;
8887
import com.oracle.graal.python.builtins.objects.cext.common.LoadCExtException.ApiInitException;
8988
import com.oracle.graal.python.builtins.objects.cext.common.LoadCExtException.ImportException;
89+
import com.oracle.graal.python.builtins.objects.cext.common.CExtCommonNodesFactory.AsNativePrimitiveNodeGen;
9090
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctions.GraalHPyAsIndex;
9191
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctions.GraalHPyAsPyObject;
9292
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctions.GraalHPyBinaryArithmetic;
@@ -169,12 +169,12 @@
169169
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctions.ReturnType;
170170
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodes.HPyAttachFunctionTypeNode;
171171
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodes.PCallHPyFunction;
172+
import com.oracle.graal.python.builtins.objects.cext.hpy.HPyExternalFunctionNodes.HPyCheckFunctionResultNode;
172173
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodesFactory.HPyAsPythonObjectNodeGen;
173174
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodesFactory.HPyGetNativeSpacePointerNodeGen;
174175
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodesFactory.HPyRaiseNodeGen;
175176
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodesFactory.HPyTransformExceptionToNativeNodeGen;
176177
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodesFactory.PCallHPyFunctionNodeGen;
177-
import com.oracle.graal.python.builtins.objects.cext.hpy.HPyExternalFunctionNodes.HPyCheckFunctionResultNode;
178178
import com.oracle.graal.python.builtins.objects.common.EmptyStorage;
179179
import com.oracle.graal.python.builtins.objects.common.HashMapStorage;
180180
import com.oracle.graal.python.builtins.objects.common.HashingStorage;
@@ -349,7 +349,7 @@ public static Object loadHPyModule(Node location, PythonContext context, String
349349
if (llvmInteropLib.isMemberExisting(llvmLibrary, hpyInitFuncName)) {
350350
return hpyContext.initHPyModule(context, llvmLibrary, hpyInitFuncName, name, path, debug, llvmInteropLib, checkResultNode);
351351
}
352-
throw new ImportException(null, name, path, ErrorMessages.CANNOT_INITIALIZE_WITH, path, basename, "");
352+
throw new ImportException(null, name, path, ErrorMessages.CANNOT_INITIALIZE_EXT_NO_ENTRY, basename, path, hpyInitFuncName);
353353
} catch (UnsupportedTypeException | ArityException | UnsupportedMessageException e) {
354354
throw new ImportException(CExtContext.wrapJavaException(e, location), name, path, ErrorMessages.CANNOT_INITIALIZE_WITH, path, basename, "");
355355
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/ErrorMessages.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ public abstract class ErrorMessages {
168168
public static final String CANNOT_IMPORT_NAME = "cannot import name '%s' from '%s' (%s)";
169169
public static final String CANNOT_IMPORT_NAME_CIRCULAR = "cannot import name '%s' from partially initialized module '%s' (most likely due to a circular import)";
170170
public static final String CANNOT_INITIALIZE_WITH = "cannot initialize %s with %s%s";
171+
public static final String CANNOT_INITIALIZE_EXT_NO_ENTRY = "cannot initialize extension '%s' at path '%s', entry point '%s' not found";
171172
public static final String CANNOT_LOAD = "cannot load %s: %s";
172173
public static final String CANNOT_LOAD_M = "cannot load %s: %m";
173174
public static final String CANNOT_RELEASE_UNAQUIRED_LOCK = "cannot release un-acquired lock";

0 commit comments

Comments
 (0)