I have an app (seaside) that is configured with multiple pharo (1.3) images behind an apache proxy, using a FFI wrapper to a OCI native library to connect to Oracle. It works fine with one image but with multiple images it crashes with a seg fault/memory error when under user load. The error appears to happen when the wrapper code closes an OCI statement/connection. It appears with multiple images that they are allocating/de-allocating memory via the wrapper/OCI and over-writing each over. Is that possible ?
How did you bind your native library, with FFI, alien or NativeBoost ? I guessed FFI but I'm not sure.
Did you try to run all the images on several VM (1 VM per image) ? If so, did it solve the problem ?
What version of the VM are you using ? (Evaluate Smalltalk vm version). Retry with the latest stable version of the VM and check if it does not solve the problem (latest stable here: http://files.pharo.org/vm/pharo/, select your os then download stable).
I'm not sure about the overwriting problem, I'll ask other people on thursday (if they don't answer).
I have an app (seaside) that is configured with multiple pharo (1.3) images behind an apache proxy, using a FFI wrapper to a OCI native library to connect to Oracle. It works fine with one image but with multiple images it crashes with a seg fault/memory error when under user load. The error appears to happen when the wrapper code closes an OCI statement/connection. It appears with multiple images that they are allocating/de-allocating memory via the wrapper/OCI and over-writing each over. Is that possible ?
Hmm, pharo processes should share no memory at all. Then the question is, is Oracle library doing something strange? Maybe the library suggests to be used in some special way for your setup?
I have an app (seaside) that is configured with multiple pharo (1.3) images behind an apache proxy, using a FFI wrapper to a OCI native library to connect to Oracle. It works fine with one image but with multiple images it crashes with a seg fault/memory error when under user load. The error appears to happen when the wrapper code closes an OCI statement/connection. It appears with multiple images that they are allocating/de-allocating memory via the wrapper/OCI and over-writing each over. Is that possible ?