1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-02 14:45:25 +02:00

[358301] [DSTORE] Hang during debug source look up

This commit is contained in:
David McKnight 2011-10-14 15:50:45 +00:00
parent 3823dcc6a4
commit e8bd883e79
4 changed files with 28 additions and 7 deletions

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2002, 2010 IBM Corporation and others.
* Copyright (c) 2002, 2011 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@ -19,6 +19,7 @@
* Martin Oberhuber (Wind River) - [199854][api] Improve error reporting for archive handlers
* David McKnight (IBM) - [232004] [dstore][multithread] some miner finish() is not terminated sometimes
* David McKnight (IBM) - [328060] [dstore] command queue in Miner should be synchronized
* David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up
*******************************************************************************/
package org.eclipse.dstore.core.miners;
@ -325,6 +326,9 @@ implements ISchemaExtender
exc = "Exception"; //$NON-NLS-1$
_dataStore.createObject(status, DataStoreResources.model_error, exc);
}
catch (OutOfMemoryError e){
System.exit(-1);
}
catch (Error er)
{
er.printStackTrace();

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2002, 2009 IBM Corporation and others.
* Copyright (c) 2002, 2011 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@ -15,6 +15,7 @@
* David McKnight (IBM) [222168][dstore] Buffer in DataElement is not sent
* David McKnight (IBM) - [225507][api][breaking] RSE dstore API leaks non-API types
* David McKnight (IBM) [246826][dstore] KeepAlive does not work correctly
* David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up
*******************************************************************************/
package org.eclipse.dstore.internal.core.server;
@ -261,7 +262,12 @@ public class ServerUpdateHandler extends UpdateHandler
{
if (!_dataObjects.isEmpty() || _pendingKeepAliveConfirmation != null || _pendingKeepAliveRequest != null || !_classesToSend.isEmpty())
{
sendUpdates();
try {
sendUpdates();
}
catch (OutOfMemoryError e){
System.exit(-1);
}
}
}

View file

@ -18,6 +18,7 @@
* David McKnight (IBM) [343939][dstore][windows] DBCS3.7 DBCS characters are corrupted in Files
* David McKnight (IBM) [347412][dstore] Need an option to set TCP NODELAYACKS
* David McKnight (IBM) [350315][dstore] regress change made for bug 305218
* David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up
*******************************************************************************/
package org.eclipse.dstore.internal.core.util;
@ -303,10 +304,14 @@ public class Sender implements ISender
{
synchronized (_outFile)
{
_xmlGenerator.empty();
_xmlGenerator.generate(objectRoot, depth);
_xmlGenerator.flushData();
try {
_xmlGenerator.empty();
_xmlGenerator.generate(objectRoot, depth);
_xmlGenerator.flushData();
}
catch (OutOfMemoryError e){
System.exit(-1);
}
}
}

View file

@ -24,6 +24,7 @@
* David McKnight (IBM) - [282364] [dstore][multithread] timer-threads stay active after disconnect
* David McKnight (IBM) [343939][dstore][windows] DBCS3.7 DBCS characters are corrupted in Files
* David McKnight (IBM) [350315][dstore] regress change made for bug 305218
* David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up
*******************************************************************************/
package org.eclipse.dstore.internal.core.util;
@ -556,6 +557,7 @@ public class XMLparser
String matchTag = null;
boolean done = false;
try {
while (!done)
{
String xmlTag = readLine(reader, socket);
@ -790,6 +792,10 @@ public class XMLparser
if (_panic)
return null;
}
}
catch (OutOfMemoryError e){
System.exit(-1);
}
DataElement result = _rootDataElement;
_rootDataElement.setParent(null); // this root is transient