[Internal] About GLib-WARNING **: getpwuid_r(): failed due to unknown user id
When running IDLDE under a Linux system a user can get the following error:
GLib-WARNING **: getpwuid_r(): failed due to unknown user id (5142)
where the last number (5142) can be different depending on the user.
Discussion
The complete error message after executing IDLDE (as an example, this was output from IDL 7.1) is the following:
[user@server bin]$ ./idlde
!SESSION 2010-06-22 17:30:44.619
-----------------------------------------------
eclipse.buildId=unknown
java.version=1.5.0_11
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Command-line arguments: -os linux -ws gtk -arch x86
!ENTRY org.eclipse.osgi 4 0 2010-06-22 17:30:45.000
!MESSAGE Error reading configuration:
/usr/local/itt/idl71/bin/?/.idl/itt/idlworkbench-config-idl7.1.0/org.eclipse.osgi/.manager/.fileTableLock
(No such file or directory)
!STACK 0
java.io.FileNotFoundException:
/usr/local/itt/idl71/bin/?/.idl/itt/idlworkbench-config-idl7.1.0/org.eclipse.osgi/.manager/.fileTableLock
(No such file or directory)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.(RandomAccessFile.java:212)
at org.eclipse.core.runtime.internal.adaptor.Locker_JavaNio.lock(Locker_JavaNio.java:32)
at org.eclipse.osgi.storagemanager.StorageManager.lock(StorageManager.java:389)
at org.eclipse.osgi.storagemanager.StorageManager.open(StorageManager.java:687)
at org.eclipse.osgi.internal.baseadaptor.BaseStorage.initFileManager(BaseStorage.java:208)
at org.eclipse.osgi.internal.baseadaptor.BaseStorage.initialize(BaseStorage.java:142)
at org.eclipse.osgi.baseadaptor.BaseAdaptor.initializeStorage(BaseAdaptor.java:124)
at org.eclipse.osgi.framework.internal.core.Framework.initialize(Framework.java:180)
at org.eclipse.osgi.framework.internal.core.Framework.(Framework.java:152)
at org.eclipse.osgi.framework.internal.core.OSGi.createFramework(OSGi.java:90)
at org.eclipse.osgi.framework.internal.core.OSGi.(OSGi.java:31)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:286)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
(.:31305): GLib-WARNING **: getpwuid_r(): failed due to unknown user id (5142)
This last line shows the actual error. This happens because the user is using LDAP to authenticate him/herself on the machine.
Solution
To solve the problem the best way is to start the NSCD service this way:
/etc/init.d/nscd start
or
service nscd start
Or, you could also start it at boot time by running the following command:
chkconfig nscd on
This should fix the problem of "unknown user id" referred previously above.