Skip to main content

Hi,

I am using the 64bit version of FME 2017.0.  In my workspace I am writing to an Oracle Spatial Database. 

I have 64 bit versions of Python and Oracle instant_client installed.

At the end of the running the workspace after the TRANSLATION SUCCESSFUL message I receive the following error message (repeated 3 times) 

Traceback (most recent call last):
    File "C:\Apps\FME4\/python\fmesite.py", line 6, in <module>
from fmeobjects import FMESession
ImportError: DLL load failed: %1 is not a valid Win32 application.

Any suggestions as to what is causing this?

Could it be that you have both 32-bit and 64-bit versions of FME and/or Python on your machine? If so, it could be a problem related to your PATH settings. If you intend to run 64-bit FME, make sure that the 64-bit versions of FME, Python, Oracle etc all come before their 32-bit counterparts in the PATH.

What exactly is installed in C:\\Apps\\FME4?


Could it be that you have both 32-bit and 64-bit versions of FME and/or Python on your machine? If so, it could be a problem related to your PATH settings. If you intend to run 64-bit FME, make sure that the 64-bit versions of FME, Python, Oracle etc all come before their 32-bit counterparts in the PATH.

What exactly is installed in C:\\Apps\\FME4?

Tidying up PATH and removing old installations of FME doesn't remove the warning.

Past installations of FME are in C:\\Apps\\ e.g. 2015.1 is in C:\\Apps\\FME and 2017.0 (32bit) is in C:\\Apps\\FME3.


Do you have a Python shutdown script, or any other Python components, or is this just something unexpected that FME is doing?

Most of the examples I can see of this error are related to an incorrect path somewhere. Some info I found:

There are two possibilities: Your Python is 64 bit and you are trying to call fmeobjects from 32 bit
FME. Your Python is 32 bit and you are trying to call fmeobjects from 64
bit FME. If
you have more than one version of FME on your computer, fmeobjects will
use the first fme.dll it finds in the Path environment variable. This is
not affected by the Python sys.path, but must be changed in the Windows
system Path. Please check your Path, and ensure that a 32 bit version
of FME is first.

Are you running the FME workspace through a script, or do you have a Python script that calls FME? It might be picking up the wrong FME version from there.

Also, does the log file mention which version of Python is being loaded? ie which DLL it is? System32\\python27.dll or SysWOW64\\python27.dll perhaps?

Mark


Thanks for the feedback. I don't have any Python shutdown script - it is just something unexpected. I am not intentionally using Python in any way. There is no reference to Python in the log file.

Yes I do have more than one installation of FME, but the PATH only includes the latest version.

I am just not sure why Python is being called. Is it part of the Oracle reader?


Thanks for the feedback. I don't have any Python shutdown script - it is just something unexpected. I am not intentionally using Python in any way. There is no reference to Python in the log file.

Yes I do have more than one installation of FME, but the PATH only includes the latest version.

I am just not sure why Python is being called. Is it part of the Oracle reader?

I don't know if it's the Oracle reader, but something is calling Python, and it's calling the wrong version. Check under Tools > FME Options > Translation and see what the Python interpreter is set as there. If necessary, point it to the 64-bit Python install within FME. If that fails, I suggest you file a support case (http://safe.com/support) for us to investigate further. It might need an online meeting so we can see directly what is happening on your machine.

 

 


Thanks for the feedback. I don't have any Python shutdown script - it is just something unexpected. I am not intentionally using Python in any way. There is no reference to Python in the log file.

Yes I do have more than one installation of FME, but the PATH only includes the latest version.

I am just not sure why Python is being called. Is it part of the Oracle reader?

In addition to what Mark says, you should also check your environment variables to see if PYTHONHOME has been defined, and if so, make sure it points to the correct version.

If you are still seeing this error message I hope you've contact support at safe.com. Seems odd that you are seeing this. Also, check your Workspace Parameters>Scripting to see if tweaking these might have an affect on suppressing the error message.

Another thought, have you ever manually copied any python modules into folders in FME or other locations?


Reply