bug-classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug classpath/28939] New: FileChannelImpl.write hangs forever writing t


From: greenrd at gcc dot gnu dot org
Subject: [Bug classpath/28939] New: FileChannelImpl.write hangs forever writing to NFS file
Date: 2 Sep 2006 20:39:26 -0000

I just installed PyDev on Eclipse 3.2, running on JamVM, and configured it to
use the python interpreter at /usr/bin/python in the Eclipse prefs dialog. When
I clicked OK in the prefs dialog, PyDev then scanned for all python code on the
PYTHONPATH, and then eclipse hung at the end of that process. A CTRL+\ showed
that it's hanging while serialising some kind of data structure:

------ JamVM version 1.4.3 Full Thread Dump -------

"main" priority: 6 tid: 0x2aaaab39e6e0 id: 1 state: 5
        at gnu.java.nio.channels.FileChannelImpl.write(Native method)
        at java.io.FileOutputStream.write(FileOutputStream.java:234)
        at java.io.DataOutputStream.write(DataOutputStream.java:115)
        at java.io.DataOutputStream.writeShort(DataOutputStream.java:201)
        at java.io.DataOutputStream.writeUTF(DataOutputStream.java:478)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:305)
        at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:1253)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:370)
        at java.util.HashSet.writeObject(HashSet.java:271)
        at java.lang.reflect.Method.invokeNative(Native method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at
java.io.ObjectOutputStream.callWriteMethod(ObjectOutputStream.java:1287)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:360)
        at
org.python.pydev.editor.codecompletion.revisited.ModulesManager.writeObject(ModulesManager.java:162)
        at java.lang.reflect.Method.invokeNative(Native method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at
java.io.ObjectOutputStream.callWriteMethod(ObjectOutputStream.java:1287)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:360)
        at org.python.pydev.core.REF.writeToStreamAndCloseIt(REF.java:275)
        at
org.python.pydev.plugin.PydevPlugin.writeToPlatformFile(PydevPlugin.java:1028)
        at
org.python.pydev.ui.interpreters.AbstractInterpreterManager.getStringToPersist(AbstractInterpreterManager.java:331)
        at
org.python.pydev.ui.pythonpathconf.AbstractInterpreterEditor.createList(AbstractInterpreterEditor.java:625)
        at
org.python.pydev.ui.pythonpathconf.AbstractInterpreterEditor.doStore(AbstractInterpreterEditor.java:599)
        at org.eclipse.jface.preference.FieldEditor.store(FieldEditor.java:676)
        at
org.eclipse.jface.preference.FieldEditorPreferencePage.performOk(FieldEditorPreferencePage.java:336)
        at
org.python.pydev.ui.pythonpathconf.AbstractInterpreterPreferencesPage.performOk(AbstractInterpreterPreferencesPage.java:92)
        at
org.eclipse.jface.preference.PreferenceDialog$11.run(PreferenceDialog.java:889)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
        at org.eclipse.core.runtime.Platform.run(Platform.java:843)
        at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
        at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
        at
org.eclipse.jface.preference.PreferenceDialog.okPressed(PreferenceDialog.java:869)
        at
org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.okPressed(FilteredPreferenceDialog.java:377)
        at
org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.okPressed(WorkbenchPreferenceDialog.java:164)
        at
org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:230)
        at org.eclipse.jface.dialogs.Dialog$3.widgetSelected(Dialog.java:660)
        at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3164)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2840)
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
        at org.eclipse.jface.window.Window.open(Window.java:796)
        at
org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:65)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
        at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539)
        at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488)
        at
org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3164)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2840)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
        at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
        at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
        at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
        at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
        at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
        at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
        at java.lang.reflect.Method.invokeNative(Native method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
        at org.eclipse.core.launcher.Main.run(Main.java:977)
        at org.eclipse.core.launcher.Main.main(Main.java:952)
        at java.lang.reflect.Method.invokeNative(Native method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at jamvm.java.lang.JarLauncher.main(JarLauncher.java:49)

"Worker-2" priority: 5 tid: 0x46e0a960 id: 12 state: 3
        at java.lang.VMObject.wait(Native method)
        at java.lang.Object.wait(Object.java:528)
        at java.lang.Object.wait(Object.java:480)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
        at
org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Worker-1" priority: 5 tid: 0x45a08960 id: 10 state: 3
        at java.lang.VMObject.wait(Native method)
        at java.lang.Object.wait(Object.java:528)
        at java.lang.Object.wait(Object.java:480)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
        at
org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Java indexing" (daemon) priority: 4 tid: 0x46409960 id: 11 state: 3
        at java.lang.VMObject.wait(Native method)
        at java.lang.Object.wait(Object.java:434)
        at
org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:349)
        at java.lang.Thread.run(Thread.java:743)

"Start Level Event Dispatcher" (daemon) priority: 5 tid: 0x45007960 id: 9
state: 3
        at java.lang.VMObject.wait(Native method)
        at java.lang.Object.wait(Object.java:434)
        at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:349)
        at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:287)

"Framework Event Dispatcher" (daemon) priority: 5 tid: 0x44606960 id: 8 state:
3
        at java.lang.VMObject.wait(Native method)
        at java.lang.Object.wait(Object.java:434)
        at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:349)
        at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:287)

"State Data Manager" (daemon) priority: 5 tid: 0x43c05960 id: 7 state: 3
        at java.lang.VMThread.sleep(Native method)
        at java.lang.Thread.sleep(Thread.java:898)
        at java.lang.Thread.sleep(Thread.java:864)
        at
org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:297)
        at java.lang.Thread.run(Thread.java:743)

"Async GC" (daemon) priority: 5 tid: 0x42803960 id: 5 state: 3

"Reference Handler" (daemon) priority: 5 tid: 0x41e02960 id: 4 state: 3

"Finalizer" (daemon) priority: 5 tid: 0x41401960 id: 3 state: 3

"Signal Handler" (daemon) priority: 5 tid: 0x40a00960 id: 2 state: 2


The file that it's serialising to is on an NFS mount and looks like this:

24K    
/home/greenrd/newdth/.metadata/.plugins/org.python.pydev/L3Vzci9iaW4vcHl0aG9u

("newdth" is my eclipse workspace.)

>From within gdb I see this (note that /usr/lib/classpath actually points to
/usr/lib64/classpath):

0x00002aaaab06e24f in __write_nocancel () from /lib64/tls/libpthread.so.0
(gdb) bt
#0  0x00002aaaab06e24f in __write_nocancel () from /lib64/tls/libpthread.so.0
#1  0x00002aaabc6ded32 in
BII::Java_gnu_java_nio_channels_FileChannelImpl_write_ () from
/usr/lib/classpath/libjavanio.so
#2  0x00002aaaaabc36f4 in ffi_call_UNIX64 () at
../../../libffi/src/x86/unix64.S:91
#3  0x00002aaaaabc34ff in ffi_call (cif=0x7fffefcc5930,
    fn=0x2aaabc6decc0
<BII::Java_gnu_java_nio_channels_FileChannelImpl_write_(void)>,
rvalue=0x531400,
    avalue=0xffffffffffffffff) at ../../../libffi/src/x86/ffi64.c:564
#4  0x000000000041b536 in callJNIMethod (env=0x5200f0, class=0x0, sig=0x557295
")V", num_args=5, ostack=0x531400,
    func=0x2aaabc6decc0
"AWA\211&#65533;VI\211AUATUSD\211&#65533;\203&#65533;bH\211\024$&#65533;\205&#65533;\211&#65533;\017H\203&#65533;b[]A\\A]A^A_&#65533;\213\0061&#65533;\2134$L\211&#65533;c&#65533;&#65533;\220&#65533;005")
at dll_ffi.c:89
#5  0x00000000004087d8 in callJNIWrapper (class=0x0, mb=0x631b20,
ostack=0x531400) at dll.c:322
#6  0x000000000040e8d5 in executeJava () at interp.c:2224
#7  0x0000000000415df7 in invoke (ob=<value optimized out>, mb=0x61d410,
arg_array=0x2aaaae1455c0,
    param_types=0x2aaaade6fc00, check_access=<value optimized out>) at
reflect.c:603
#8  0x0000000000414330 in invokeNative (class=<value optimized out>, mb2=<value
optimized out>, ostack=0x531118)
    at natives.c:859
#9  0x000000000040e8d5 in executeJava () at interp.c:2224
#10 0x0000000000415df7 in invoke (ob=<value optimized out>, mb=0x67aca0,
arg_array=0x2aaaade67348,
    param_types=0x2aaaade5b090, check_access=<value optimized out>) at
reflect.c:603
#11 0x0000000000414330 in invokeNative (class=<value optimized out>, mb2=<value
optimized out>, ostack=0x530e18)
    at natives.c:859
#12 0x000000000040e8d5 in executeJava () at interp.c:2224
#13 0x0000000000415df7 in invoke (ob=<value optimized out>, mb=0x289de90,
arg_array=0x2aaaad163dc0,
    param_types=0x2aaaad138130, check_access=<value optimized out>) at
reflect.c:603
#14 0x0000000000414330 in invokeNative (class=<value optimized out>, mb2=<value
optimized out>, ostack=0x530c20)
    at natives.c:859
#15 0x000000000040e8d5 in executeJava () at interp.c:2224
#16 0x0000000000415df7 in invoke (ob=<value optimized out>, mb=0x820250,
arg_array=0x2aaaab668570,
    param_types=0x2aaaab61ec48, check_access=<value optimized out>) at
reflect.c:603
#17 0x0000000000414330 in invokeNative (class=<value optimized out>, mb2=<value
optimized out>, ostack=0x52fe10)
    at natives.c:859
#18 0x000000000040e8d5 in executeJava () at interp.c:2224
#19 0x0000000000415df7 in invoke (ob=<value optimized out>, mb=0x7d99e0,
arg_array=0x2aaaab46c840,
    param_types=0x2aaaab46c5a0, check_access=<value optimized out>) at
reflect.c:603
#20 0x0000000000414330 in invokeNative (class=<value optimized out>, mb2=<value
optimized out>, ostack=0x52fbd8)
    at natives.c:859
#21 0x000000000040e8d5 in executeJava () at interp.c:2224
#22 0x0000000000409e81 in executeMethodVaList (ob=0x0, class=0x2aaaab42e330,
mb=0x7bd1b0, jargs=<value optimized out>)
    at execute.c:91
#23 0x0000000000409f71 in executeMethodArgs (ob=0x70, class=0x2aaaad142b2c,
mb=0x39) at execute.c:63
#24 0x000000000040f837 in main (argc=31, argv=0x7fffefcc6408) at jam.c:343
(gdb)


-- 
           Summary: FileChannelImpl.write hangs forever writing to NFS file
           Product: classpath
           Version: 0.92
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: classpath
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: greenrd at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28939





reply via email to

[Prev in Thread] Current Thread [Next in Thread]