What to do if you get the above error when you try to install Oracle SE2 (did not test if the same issue is there with EE, but probably it is) in silent mode?:

./runInstaller oracle.install.option=INSTALL_DB_SWONLY 
    ORACLE_BASE=/u01/app/oracle/ 
    ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_2_4/ 
    UNIX_GROUP_NAME=oinstall  
    oracle.install.db.DBA_GROUP=dba 
    oracle.install.db.OPER_GROUP=dba 
    oracle.install.db.BACKUPDBA_GROUP=dba  
    oracle.install.db.DGDBA_GROUP=dba  
    oracle.install.db.KMDBA_GROUP=dba  
    FROM_LOCATION=../stage/products.xml 
    INVENTORY_LOCATION=/u01/app/oracle/oraInventory/ 
    SELECTED_LANGUAGES=en 
    oracle.install.db.InstallEdition=SE2 
    DECLINE_SECURITY_UPDATES=true  -silent -ignoreSysPrereqs -ignorePrereq -waitForCompletion

You already checked my oracle support and verified that there are no lock files in the oraInventory/locks directory:

ls -la /u01/app/oraIventory/locks

What to do? Follow the error message…:

[FATAL] [INS-10008] Session initialization failed
   CAUSE: An unexpected error occured while initializing the session.
   ACTION: Contact Oracle Support Services or refer logs
   SUMMARY:

… and create a service request in my oracle support? You don’t need to. The error message is a bit misleading. The real issue is only the trailing slash (“/”) at the end of the directory name for the oraInventory. Once you remove it everything works as expected:

./runInstaller oracle.install.option=INSTALL_DB_SWONLY 
    ORACLE_BASE=/u01/app/oracle 
    ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_2_4 
    UNIX_GROUP_NAME=oinstall  
    oracle.install.db.DBA_GROUP=dba 
    oracle.install.db.OPER_GROUP=dba 
    oracle.install.db.BACKUPDBA_GROUP=dba  
    oracle.install.db.DGDBA_GROUP=dba  
    oracle.install.db.KMDBA_GROUP=dba  
    FROM_LOCATION=../stage/products.xml 
    INVENTORY_LOCATION=/u01/app/oracle/oraInventory 
    SELECTED_LANGUAGES=en 
    oracle.install.db.InstallEdition=SE2 
    DECLINE_SECURITY_UPDATES=true  -silent -ignoreSysPrereqs -ignorePrereq -waitForCompletion

And all this because of a slash. I am pretty sure this could be handled better very easily.