You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Sean Qiu (JIRA)" <ji...@apache.org> on 2008/09/11 14:39:45 UTC
[jira] Created: (HARMONY-5981) [classlib][logging] FileHandler may
throw exception when logging to the same file by multiple thread
[classlib][logging] FileHandler may throw exception when logging to the same file by multiple thread
----------------------------------------------------------------------------------------------------
Key: HARMONY-5981
URL: https://issues.apache.org/jira/browse/HARMONY-5981
Project: Harmony
Issue Type: Bug
Components: Classlib
Affects Versions: 5.0M7
Reporter: Sean Qiu
Assignee: Sean Qiu
Fix For: 5.0M8
When we are trying to log by a Filehandler to publish the information into a same file,it will introduce multi-thread defect .
As a result, it will throw such exception[1] while logging.
The root cause is that the destination file may be deleted by other thread if they are not synchronized.
Below testcase[2] can reproduce the issue.
[1]
java.util.logging.ErrorManager: WRITE_FAILURE
Error message - Exception occurred when writing to the output stream.
Exception - java.io.IOException: Writer is closed.
[2]
package logging;
import java.io.File;
import java.util.logging.FileHandler;
import java.util.logging.Logger;
public class FileHandlerTest {
static class LoggingThread implements Runnable {
private Logger logger;
public LoggingThread(Logger logger){
this.logger = logger;
}
public void run() {
while (true) {
logger.info("Test");
}
}
}
public static void main(String[] args) throws Exception {
Logger logger = Logger.getLogger("test");
String path = new File(".").getAbsolutePath();
FileHandler fh = new FileHandler(path, 3000000, 12, false);
logger.setUseParentHandlers(false);
logger.addHandler(fh);
Thread[] threads = new Thread[12];
for (Thread thread : threads) {
thread = new Thread(new LoggingThread(logger));
thread.start();
}
}
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (HARMONY-5981) [classlib][logging] FileHandler may
throw exception when logging to the same file by multiple thread
Posted by "Sean Qiu (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-5981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sean Qiu closed HARMONY-5981.
-----------------------------
Close this pending issue.
> [classlib][logging] FileHandler may throw exception when logging to the same file by multiple thread
> ----------------------------------------------------------------------------------------------------
>
> Key: HARMONY-5981
> URL: https://issues.apache.org/jira/browse/HARMONY-5981
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Affects Versions: 5.0M7
> Reporter: Sean Qiu
> Assignee: Sean Qiu
> Fix For: 5.0M11
>
> Attachments: HARMONY-5981.diff
>
>
> When we are trying to log by a Filehandler to publish the information into a same file,it will introduce multi-thread defect .
> As a result, it will throw such exception[1] while logging.
> The root cause is that the destination file may be deleted by other thread if they are not synchronized.
> Below testcase[2] can reproduce the issue.
> [1]
> java.util.logging.ErrorManager: WRITE_FAILURE
> Error message - Exception occurred when writing to the output stream.
> Exception - java.io.IOException: Writer is closed.
> [2]
> package logging;
> import java.io.File;
> import java.util.logging.FileHandler;
> import java.util.logging.Logger;
> public class FileHandlerTest {
> static class LoggingThread implements Runnable {
> private Logger logger;
>
> public LoggingThread(Logger logger){
> this.logger = logger;
> }
> public void run() {
> while (true) {
> logger.info("Test");
> }
> }
> }
> public static void main(String[] args) throws Exception {
> Logger logger = Logger.getLogger("test");
> String path = new File(".").getAbsolutePath();
> FileHandler fh = new FileHandler(path, 3000000, 12, false);
> logger.setUseParentHandlers(false);
> logger.addHandler(fh);
> Thread[] threads = new Thread[12];
> for (Thread thread : threads) {
> thread = new Thread(new LoggingThread(logger));
> thread.start();
> }
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (HARMONY-5981) [classlib][logging] FileHandler may
throw exception when logging to the same file by multiple thread
Posted by "Sean Qiu (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-5981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sean Qiu resolved HARMONY-5981.
-------------------------------
Resolution: Fixed
Fix Version/s: (was: 5.0M8)
5.0M11
I've applied the fix at r792077.
> [classlib][logging] FileHandler may throw exception when logging to the same file by multiple thread
> ----------------------------------------------------------------------------------------------------
>
> Key: HARMONY-5981
> URL: https://issues.apache.org/jira/browse/HARMONY-5981
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Affects Versions: 5.0M7
> Reporter: Sean Qiu
> Assignee: Sean Qiu
> Fix For: 5.0M11
>
> Attachments: HARMONY-5981.diff
>
>
> When we are trying to log by a Filehandler to publish the information into a same file,it will introduce multi-thread defect .
> As a result, it will throw such exception[1] while logging.
> The root cause is that the destination file may be deleted by other thread if they are not synchronized.
> Below testcase[2] can reproduce the issue.
> [1]
> java.util.logging.ErrorManager: WRITE_FAILURE
> Error message - Exception occurred when writing to the output stream.
> Exception - java.io.IOException: Writer is closed.
> [2]
> package logging;
> import java.io.File;
> import java.util.logging.FileHandler;
> import java.util.logging.Logger;
> public class FileHandlerTest {
> static class LoggingThread implements Runnable {
> private Logger logger;
>
> public LoggingThread(Logger logger){
> this.logger = logger;
> }
> public void run() {
> while (true) {
> logger.info("Test");
> }
> }
> }
> public static void main(String[] args) throws Exception {
> Logger logger = Logger.getLogger("test");
> String path = new File(".").getAbsolutePath();
> FileHandler fh = new FileHandler(path, 3000000, 12, false);
> logger.setUseParentHandlers(false);
> logger.addHandler(fh);
> Thread[] threads = new Thread[12];
> for (Thread thread : threads) {
> thread = new Thread(new LoggingThread(logger));
> thread.start();
> }
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-5981) [classlib][logging] FileHandler may
throw exception when logging to the same file by multiple thread
Posted by "Sean Qiu (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-5981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sean Qiu updated HARMONY-5981:
------------------------------
Attachment: HARMONY-5981.diff
> [classlib][logging] FileHandler may throw exception when logging to the same file by multiple thread
> ----------------------------------------------------------------------------------------------------
>
> Key: HARMONY-5981
> URL: https://issues.apache.org/jira/browse/HARMONY-5981
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Affects Versions: 5.0M7
> Reporter: Sean Qiu
> Assignee: Sean Qiu
> Fix For: 5.0M8
>
> Attachments: HARMONY-5981.diff
>
>
> When we are trying to log by a Filehandler to publish the information into a same file,it will introduce multi-thread defect .
> As a result, it will throw such exception[1] while logging.
> The root cause is that the destination file may be deleted by other thread if they are not synchronized.
> Below testcase[2] can reproduce the issue.
> [1]
> java.util.logging.ErrorManager: WRITE_FAILURE
> Error message - Exception occurred when writing to the output stream.
> Exception - java.io.IOException: Writer is closed.
> [2]
> package logging;
> import java.io.File;
> import java.util.logging.FileHandler;
> import java.util.logging.Logger;
> public class FileHandlerTest {
> static class LoggingThread implements Runnable {
> private Logger logger;
>
> public LoggingThread(Logger logger){
> this.logger = logger;
> }
> public void run() {
> while (true) {
> logger.info("Test");
> }
> }
> }
> public static void main(String[] args) throws Exception {
> Logger logger = Logger.getLogger("test");
> String path = new File(".").getAbsolutePath();
> FileHandler fh = new FileHandler(path, 3000000, 12, false);
> logger.setUseParentHandlers(false);
> logger.addHandler(fh);
> Thread[] threads = new Thread[12];
> for (Thread thread : threads) {
> thread = new Thread(new LoggingThread(logger));
> thread.start();
> }
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.