Issue
After upgrading from DXP 7.4 Update 55 to Update 58, exception java.lang.RuntimeException: java.lang.NumberFormatException: For input string: "" is thrown during Liferay startup
2023-02-28 12:15:02.136 ERROR [main][DBUpgrader:79] null
java.lang.RuntimeException: java.lang.NumberFormatException: For input string: ""
at com.liferay.portal.util.InitUtil.initWithSpring(InitUtil.java:289) ~[portal-impl.jar:?]
at com.liferay.portal.util.InitUtil.initWithSpring(InitUtil.java:209) ~[portal-impl.jar:?]
at com.liferay.portal.tools.DBUpgrader.main(DBUpgrader.java:135) [portal-impl.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_341]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_341]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_341]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_341]
at com.liferay.portal.tools.db.upgrade.client.DBUpgraderLauncher.main(DBUpgraderLauncher.java:54) [com.liferay.portal.tools.db.upgrade.client.jar:?]
Caused by: java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[?:1.8.0_341]
at java.lang.Integer.parseInt(Integer.java:592) ~[?:1.8.0_341]
at java.lang.Integer.parseInt(Integer.java:615) ~[?:1.8.0_341]
at org.eclipse.osgi.storagemanager.StorageManager.updateTable(StorageManager.java:511) ~[org.eclipse.osgi.jar:?]
at org.eclipse.osgi.storagemanager.StorageManager.open(StorageManager.java:708) ~[org.eclipse.osgi.jar:?]
at org.eclipse.osgi.storage.Storage.getChildStorageManager(Storage.java:2011) ~[org.eclipse.osgi.jar:?]
at org.eclipse.osgi.storage.Storage.getInfoInputStream(Storage.java:2028) ~[org.eclipse.osgi.jar:?]
at org.eclipse.osgi.storage.Storage.<init>(Storage.java:216) ~[org.eclipse.osgi.jar:?]
at org.eclipse.osgi.storage.Storage.createStorage(Storage.java:151) ~[org.eclipse.osgi.jar:?]
at org.eclipse.osgi.internal.framework.EquinoxContainer.<init>(EquinoxContainer.java:69) ~[org.eclipse.osgi.jar:?]
at org.eclipse.osgi.launch.Equinox.<init>(Equinox.java:31) ~[org.eclipse.osgi.jar:?]
at org.eclipse.osgi.launch.EquinoxFactory.newFramework(EquinoxFactory.java:24) ~[org.eclipse.osgi.jar:?]
at com.liferay.portal.bootstrap.ModuleFrameworkImpl.initFramework(ModuleFrameworkImpl.java:204) ~[com.liferay.portal.bootstrap.jar:?]
at com.liferay.portal.module.framework.ModuleFrameworkUtil.initFramework(ModuleFrameworkUtil.java:37) ~[portal-impl.jar:?]
at com.liferay.portal.util.InitUtil.initWithSpring(InitUtil.java:227) ~[portal-impl.jar:?]
... 7 more
Environment
- DXP 7.4
Resolution
The reported exception is produced inside the OSGI code when the OSGI framework is being initialized and org.eclipse.osgi.storagemanager.StorageManager.open(StorageManager.java:708) is reading the information stored in [LIFERAY_HOME]/osgi/state
To solve this error you have to delete the content of the [LIFERAY_HOME]/osgi/state folder.
The information stored in this folder it will be regenerated during startup if it is deleted, so it is safe to delete. (This folder can be considered as a "cache" of the OSGI configuration.)