[jira] Created: (COMMONSSITE-35) Unable to use commons:jira-page on Windows

2008-06-27 Thread Dennis Lundberg (JIRA)
Unable to use commons:jira-page on Windows
--

 Key: COMMONSSITE-35
 URL: https://issues.apache.org/jira/browse/COMMONSSITE-35
 Project: Commons All
  Issue Type: Bug
  Components: Commons Build Plugin
Reporter: Dennis Lundberg


I am unable to use the commons:jira-page goal on Windows. It seems to be a 
problem with spaces in the path.


Here is the stack trace I get:

{noformat}
G:\apache\commons\trunks-proper\exec>mvn commons:jira-page
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'commons'.
[INFO] 
[INFO] Building Commons Exec
[INFO]task-segment: [commons:jira-page]
[INFO] 
[INFO] [commons:jira-page]
[INFO] 
[ERROR] FATAL ERROR
[INFO] 
[INFO] null
Illegal character in path at index 18: file:/C:/Documents and 
Settings/dlg01/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar
[INFO] 
[INFO] Trace
java.lang.IllegalArgumentException
at java.net.URI.create(URI.java:838)
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:324)
at org.apache.tools.ant.launch.Locator.fromURI(Locator.java:162)
at 
org.apache.tools.ant.launch.Locator.getResourceSource(Locator.java:119)
at org.apache.tools.ant.launch.Locator.getClassSource(Locator.java:90)
at org.apache.tools.ant.Project.setAntLib(Project.java:313)
at org.apache.tools.ant.Project.initProperties(Project.java:309)
at org.apache.tools.ant.Project.init(Project.java:295)
at 
org.codehaus.plexus.component.factory.ant.AntScriptInvoker.initializeProject(AntScriptInvoker.java:251)
at 
org.codehaus.plexus.component.factory.ant.AntScriptInvoker.invoke(AntScriptInvoker.java:174)
at 
org.apache.maven.script.ant.AntMojoWrapper.execute(AntMojoWrapper.java:52)
at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
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:324)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: java.net.URISyntaxException: Illegal character in path at index 18: 
file:/C:/Documents and 
Settings/dlg01/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar
at java.net.URI$Parser.fail(URI.java:2752)
at java.net.URI$Parser.checkChars(URI.java:2925)
at java.net.URI$Parser.parseHierarchical(URI.java:3009)
at java.net.URI$Parser.parse(URI.java:2957)
at java.net.URI.(URI.java:574)
at java.net.URI.create(URI.java:836)
... 31 more
[INFO] 
[INFO] Total time: 2 seconds
[INFO] Finished at: Sat Jun 28 07:58:01 CEST 2008
[INFO] Final Memory: 6M/11M
[INFO] 
{noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue onli

[jira] Moved: (EXEC-15) [exec][patch] ExecTest fails due to improperly formatted src/test/scripts/test.sh

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-15?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-36 to EXEC-15:


Component/s: (was: Exec)
Key: EXEC-15  (was: SANDBOX-36)
Project: Commons Exec  (was: Commons Sandbox)

> [exec][patch] ExecTest fails due to improperly formatted 
> src/test/scripts/test.sh
> -
>
> Key: EXEC-15
> URL: https://issues.apache.org/jira/browse/EXEC-15
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: Linux
> Platform: All
>Reporter: Jerome Lacoste
> Attachments: 36182.diff
>
>
> On Linux, the following script invoked with the BAR argument will result in 
> FOO  BAR
> The unit test expects
> FOO BAR
> --
> #!/bin/sh
> echo FOO $TEST_ENV_VAR $1

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-6) [exec] Watchdog test cases and argument quotation fix

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-6?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-192 to EXEC-6:


  Component/s: (was: Exec)
Affects Version/s: (was: Nightly Builds)
  Key: EXEC-6  (was: SANDBOX-192)
  Project: Commons Exec  (was: Commons Sandbox)

> [exec] Watchdog test cases and argument quotation fix
> -
>
> Key: EXEC-6
> URL: https://issues.apache.org/jira/browse/EXEC-6
> Project: Commons Exec
>  Issue Type: Bug
> Environment: apache commons exec trunk/head; M$ Windows XP
>Reporter: Reinhold Füreder
>Assignee: Siegfried Goeschl
> Attachments: patch_apache-commons-exec.txt, ProcessTest.java, 
> ProcessTest.java
>
>
> Please find attached a patch for apache commons exec with respect to two 
> issues (note that I have only tested them under M$ Windows yet, but I am very 
> confident that these changes should work under *nix too):
> ---
> (1) ExecuteWatchdog test cases (DefaultExecutorTest.java): one for 
> synchronous and one for asynchronous execution including the required test 
> scripts (watchdog.bat, watchdog.sh) and test app (JavaApp.java). Whereas the 
> one for asynchronous is a bit more elaborated and kind of "more correct", 
> please note the hint on the well-known Java "bug"/issue under M$ Windows with 
> respect to the Process.destroy() method in the asynchronous test case code.
> ---
> (2) Add a method to CommandLine (CommandLine.java) to add arguments without 
> quoting, i.e. pre-quoted arguments, because default quoting may not be 
> correct in all cases. Note that I have not tried to find out if the default 
> quoting can be changed accordingly. And also that maybe this problem is only 
> M$ Windows specific, but I don't know (yet). The encountered problem was: 
> I want to start an executable (runMemorySud.cmd) with a list of JVM GC 
> options that in turn will then start a Java application utilising these JVM 
> GC options. I failed to find an accepted way of specifying the following:
> runMemorySud.cmd -XX:+UseParallelGC -XX:ParallelGCThreads=2
> After quite some time I found out that the default quoting of apache commons 
> exec is causing the problem, and with default pure standard Java it works as 
> expected by using (see attached ProcessTest.java example):
> Process p = new ProcessBuilder("runMemorySud.cmd", "10", "30", 
> "-XX:+UseParallelGC", "\"-XX:ParallelGCThreads=2\"").start();
> However, as I said, I found no way of being able to "propagate this to the 
> ProcessBuilder through apache commons exec". Thus, the need for adding a 
> so-called pre-quoted argument addArgument() method.
> ---
> Would you mind applying these patches? Thanks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-14) [exec] Environment: lack some HashMap methods delegation

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-14?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-32 to EXEC-14:


Component/s: (was: Exec)
Key: EXEC-14  (was: SANDBOX-32)
Project: Commons Exec  (was: Commons Sandbox)

> [exec] Environment: lack some HashMap methods delegation
> 
>
> Key: EXEC-14
> URL: https://issues.apache.org/jira/browse/EXEC-14
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Jerome Lacoste
> Attachments: 36795_fix_hashmap_inherit.diff
>
>
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-9) [exec][patch] Use Contants class to store final static strings, added SafeOutputstream to remove redundant z/Os code

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-9?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-18 to EXEC-9:
---

Component/s: (was: Exec)
Key: EXEC-9  (was: SANDBOX-18)
Project: Commons Exec  (was: Commons Sandbox)

> [exec][patch] Use Contants class to store final static strings, added 
> SafeOutputstream to remove redundant z/Os code
> 
>
> Key: EXEC-9
> URL: https://issues.apache.org/jira/browse/EXEC-9
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Kev Jackson
>Assignee: Siegfried Goeschl
> Attachments: constants_outputstream.patch
>
>
> + Constants.java
> - contains final static strings
> + SafeOutputStream
> - contains safe static method for toString() for use with z/Os (which requires
> an encoding before writing)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-8) [exec] Use Java 1.5 support for getting environment

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-8?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-4 to EXEC-8:
--

Component/s: (was: Exec)
Key: EXEC-8  (was: SANDBOX-4)
Project: Commons Exec  (was: Commons Sandbox)

> [exec] Use Java 1.5 support for getting environment
> ---
>
> Key: EXEC-8
> URL: https://issues.apache.org/jira/browse/EXEC-8
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Niklas Gustavsson
> Attachments: 36222.patch
>
>
> Where available, the new System.getenv() method should be used to retrive the
> environment in which the process is executed. 
> I got a patch for this but since it overlaps with the patch for 36159 I'll 
> hold
> it of until that first patch is commited.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-24) [exec] Watchdog "shutdown"

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-24?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-193 to EXEC-24:
-

Fix Version/s: (was: Nightly Builds)
  Component/s: (was: Exec)
  Key: EXEC-24  (was: SANDBOX-193)
  Project: Commons Exec  (was: Commons Sandbox)

> [exec] Watchdog "shutdown"
> --
>
> Key: EXEC-24
> URL: https://issues.apache.org/jira/browse/EXEC-24
> Project: Commons Exec
>  Issue Type: Improvement
>Reporter: Reinhold Füreder
>Assignee: Siegfried Goeschl
>
> In my unit tests I use apache commons exec in combination with the execution 
> watchdog for running some (Java) processes. By default, the processes should 
> end normally. However, in case of an error the processes might still be 
> running so I'd like to shut them down in the tearDown() cleanup step of the 
> test case. In order to avoid modifying apache commons exec this is currently 
> implemented like:
>   @Override
>   protected void tearDown() throws Exception {
>   ...
>   // This will implicitely lead to the required Process.destroy() 
> call in case the process has not yet exited:
>   watchdog.timeoutOccured(new Watchdog(1));
>   watchdog.stop();
>   ...
>   }
> There are two issues:
> (1) At least in the current implementation there does not seem to be any 
> reason anymore for the dummy watchdog argument in the timeoutOccured() 
> method. Should we remove that? Of course this would also mean to remove it 
> from the corresponding TimeoutObserver interface method. On the other hand, 
> it removes some of the flexibility in case e.g. one extends the 
> ExecuteWatchdog and requires more than one watchdog or so...
> (2) If this kind of watchdog "shutdown" (is there a better name?) is 
> generally useful, shall we introduce an explicit method for it in the 
> Watchdog class itself?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-21) [Exec] allow easy mocking of Process creation

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-62 to EXEC-21:


Component/s: (was: Exec)
Key: EXEC-21  (was: SANDBOX-62)
Project: Commons Exec  (was: Commons Sandbox)

> [Exec] allow easy mocking of Process creation
> -
>
> Key: EXEC-21
> URL: https://issues.apache.org/jira/browse/EXEC-21
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Jerome Lacoste
>Assignee: Siegfried Goeschl
> Attachments: 36707_allow_mocking_process_in_execute.diff
>
>
> In order to do proper unit testing, it is practical to use mocked Process
> instances. Unfortunately the Execute class doesn't make it easy to plug these
> classes. It calls the public static launch() method (which cannot be 
> overriden)
> and that method uses the vmlauncher which cannot be replaced.
> I see 3 options:
> - mock the Process creation. Create a protected launchCommand() method that 
> does
> call the public static launch() method. That protected method can be overriden
> by sub-classes.
> public static Process launch(final CommandLine command,
> final Environment env, final File dir)
> throws IOException {
> CommandLauncher launcher = vmLauncher;
> if (dir != null && !dir.exists()) {
> throw new IOException(dir + " doesn't exist.");
> }
> return launcher.exec(command, env, dir);
> }
> // hook for mock
> protected Process launchCommand(final CommandLine command,
> final Environment env, final File dir)
> throws IOException {
> return launch(command, env, dir);
> }
> - mock the Launcher creation which will itself be mocked.
> public static Process launch(final CommandLine command,
> final Environment env, final File dir)
> throws IOException {
> return launch(command, env, dir, vmLauncher);
> }
> private static Process launch(final CommandLine command,
> final Environment env, final File dir, CommandLauncher launcher)
> throws IOException {
> if (dir != null && !dir.exists()) {
> throw new IOException(dir + " doesn't exist.");
> }
> return launcher.exec(command, env, dir);
> }
> private Process launchCommand(final CommandLine command,
> final Environment env, final File dir)
> throws IOException {
> return launch(command, env, dir, getLauncher());
> }
> // hook for mock
> protected CommandLauncher getLauncher() {
> return vmlauncher;
> }
> - a combination of both
> I attach a patch that solves it using solution #1.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-22) [exec] Generalize ProcessDestroyer

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-22?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-49 to EXEC-22:


Component/s: (was: Exec)
Key: EXEC-22  (was: SANDBOX-49)
Project: Commons Exec  (was: Commons Sandbox)

> [exec] Generalize ProcessDestroyer
> --
>
> Key: EXEC-22
> URL: https://issues.apache.org/jira/browse/EXEC-22
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Niklas Gustavsson
> Attachments: 36287_generalize_processdestroyer.patch
>
>
> ProcessDestroyer is currently an implementation that destroys all Processes
> still alive when the VM exits. It should be generalized so that other
> implementations could be plugged in, for example to destroy Processes when an
> application is undeployed.
> Note that this bug does not cover the issue of ProcessDestroyer being 
> mandatory,
> that another bug soon to be created.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-20) [exec] EnvironmentVariable: inline private constructor

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-20?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-51 to EXEC-20:


Component/s: (was: Exec)
Key: EXEC-20  (was: SANDBOX-51)
Project: Commons Exec  (was: Commons Sandbox)

> [exec] EnvironmentVariable: inline private constructor
> --
>
> Key: EXEC-20
> URL: https://issues.apache.org/jira/browse/EXEC-20
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Jerome Lacoste
>Assignee: Siegfried Goeschl
> Attachments: 36796_environment_variable_inline_constructor.diff
>
>
> Move the key=value String parsing inside the factory method and remove the
> private constructor.
> There's no need for both and parsing logic is better outside of a constructor
> (as a rule and to make things similar with the rest of the code), especially 
> whe
> n there's already a factory.
> Removing the constructor doesn't create an issue as it's private and there's
> already another private one.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-19) [exec] several strange design / code decisions

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-19?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-38 to EXEC-19:


Component/s: (was: Exec)
Key: EXEC-19  (was: SANDBOX-38)
Project: Commons Exec  (was: Commons Sandbox)

> [exec] several strange design / code decisions
> --
>
> Key: EXEC-19
> URL: https://issues.apache.org/jira/browse/EXEC-19
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Jerome Lacoste
> Attachments: 36978_TODO_questions.diff
>
>
> add @todo around to show potential problems in the design

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-18) [exec][patch] added Javadoc to CommandLine interface

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-18?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-94 to EXEC-18:


Component/s: (was: Exec)
Key: EXEC-18  (was: SANDBOX-94)
Project: Commons Exec  (was: Commons Sandbox)

> [exec][patch] added Javadoc to CommandLine interface
> 
>
> Key: EXEC-18
> URL: https://issues.apache.org/jira/browse/EXEC-18
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Kev Jackson
> Attachments: CommandLine.patch
>
>
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-23) Cleanup the code

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-23?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-204 to EXEC-23:
-

Component/s: (was: Exec)
Key: EXEC-23  (was: SANDBOX-204)
Project: Commons Exec  (was: Commons Sandbox)

> Cleanup the code
> 
>
> Key: EXEC-23
> URL: https://issues.apache.org/jira/browse/EXEC-23
> Project: Commons Exec
>  Issue Type: Improvement
>Reporter: Siegfried Goeschl
>Assignee: Siegfried Goeschl
>Priority: Minor
>
> The code looks a bit untidy - broken & missing javadocs, unused imports, 
> missing comments - might be a good thing to do past midnight when the family 
> is asleep ... :-)
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-17) Support for non-standard exit values indicating successful execution

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-17?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-203 to EXEC-17:
-

Component/s: (was: Exec)
Key: EXEC-17  (was: SANDBOX-203)
Project: Commons Exec  (was: Commons Sandbox)

> Support for non-standard exit values indicating successful execution
> 
>
> Key: EXEC-17
> URL: https://issues.apache.org/jira/browse/EXEC-17
> Project: Commons Exec
>  Issue Type: Bug
>Reporter: Siegfried Goeschl
>Assignee: Siegfried Goeschl
>
> For printing a PDF document on Windows XP Adobe Acrobat Reader 8.x can be 
> used - even when successful the application returns "1" as exit value causing 
> an exception in commons-exec. "1" is considered an execution failure and 
> there is no way to overwrite the behavior which renders commons-exec useless 
> here. 
> PS: Having said that Acrobat Reader 8.x also returns "1" if it can't print 
> ... :-( 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-16) [exec] EnvironmentVariable: remove empty factory method

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-16?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-20 to EXEC-16:


Component/s: (was: Exec)
Key: EXEC-16  (was: SANDBOX-20)
Project: Commons Exec  (was: Commons Sandbox)

> [exec] EnvironmentVariable: remove empty factory method
> ---
>
> Key: EXEC-16
> URL: https://issues.apache.org/jira/browse/EXEC-16
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Jerome Lacoste
>Assignee: Siegfried Goeschl
> Attachments: 36797_environment_variable_public_constructor.diff
>
>
> Proposed API change: remove public factory method which seems to add only
> complexity.
> See comments inside patch header

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-13) [exec] potential threading issue when closing process.getInputStream()

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-13?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-109 to EXEC-13:
-

Component/s: (was: Exec)
Key: EXEC-13  (was: SANDBOX-109)
Project: Commons Exec  (was: Commons Sandbox)

> [exec] potential threading issue when closing process.getInputStream()
> --
>
> Key: EXEC-13
> URL: https://issues.apache.org/jira/browse/EXEC-13
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Jerome Lacoste
>
> When I started to look into finding common code between ant, plexus, m2 and
> cruisecontrol, I found a couple of differences that I think need to be merged
> back into commons-exec.
> In particular it seems like this plexus-util change [1] contains a threading 
> fix
> which should also be backported to commons-exec. I think we are hitting it now
> in CruiseControl in some rare cases: executed process is ant which forks and
> spawns a separate process. This makes getInputStream().close() hang, and I 
> think
> your change would fix it.
> I haven't yet worked on it, nor wrote a test case. Would appreciate input from
> trygvis as he's the one who made the fix for plexus.
> [1]
> http://svn.codehaus.org/trunk/plexus-utils/src/main/java/org/codehaus/plexus/util/cli/StreamPumper.java?rev=1298&root=plexus&view=rev

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-10) [exec][patch] use final static strings where appropriate

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-10?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-15 to EXEC-10:


Component/s: (was: Exec)
Key: EXEC-10  (was: SANDBOX-15)
Project: Commons Exec  (was: Commons Sandbox)

> [exec][patch] use final static strings where appropriate
> 
>
> Key: EXEC-10
> URL: https://issues.apache.org/jira/browse/EXEC-10
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Kev Jackson
> Attachments: use-final-strings.patch
>
>
> small refactoring of CommandLineImpl to use stringbuffers and final static 
> strings

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-12) [exec][patch] make ant stores junit test reports in correct directory

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-12?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-82 to EXEC-12:


Component/s: (was: Exec)
Key: EXEC-12  (was: SANDBOX-82)
Project: Commons Exec  (was: Commons Sandbox)

> [exec][patch] make ant stores junit test reports in correct directory
> -
>
> Key: EXEC-12
> URL: https://issues.apache.org/jira/browse/EXEC-12
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Jerome Lacoste
>Priority: Trivial
> Attachments: 36183.diff
>
>
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-11) [exec] setWatchDog method in DefaultExecutor has no affect

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-11?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-185 to EXEC-11:
-

Component/s: (was: Exec)
Key: EXEC-11  (was: SANDBOX-185)
Project: Commons Exec  (was: Commons Sandbox)

> [exec] setWatchDog method in DefaultExecutor has no affect
> --
>
> Key: EXEC-11
> URL: https://issues.apache.org/jira/browse/EXEC-11
> Project: Commons Exec
>  Issue Type: Bug
> Environment: All Environments
>Reporter: Bindul Bhowmik
> Attachments: default-executor.patch
>
>
> The setWatchDog method in org.apache.commons.exec.DefaultExecutor.java does 
> not have any affect due to a case discrepancy. The method parameter for the 
> method is watchDog and the value that is assigned is watchdog (the same as 
> the class field).
> I have attached a patch for the same. If required I could add in a test case 
> for this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-7) [exec][patch] ant get-deps target fails to download dependency

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-7?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-108 to EXEC-7:


Component/s: (was: Exec)
Key: EXEC-7  (was: SANDBOX-108)
Project: Commons Exec  (was: Commons Sandbox)

> [exec][patch] ant get-deps target fails to download dependency
> --
>
> Key: EXEC-7
> URL: https://issues.apache.org/jira/browse/EXEC-7
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: Linux
> Platform: Other
>Reporter: Jerome Lacoste
> Attachments: diff.txt
>
>
> get-deps doesn't work if dest directory doesn't exist (ant 1.6.5, Linux)
> This one-liner patch fixes it for me.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-4) [exec] Make ProcessDestroyer optional and pluggable

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-4?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-107 to EXEC-4:


Component/s: (was: Exec)
Key: EXEC-4  (was: SANDBOX-107)
Project: Commons Exec  (was: Commons Sandbox)

> [exec] Make ProcessDestroyer optional and pluggable
> ---
>
> Key: EXEC-4
> URL: https://issues.apache.org/jira/browse/EXEC-4
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Niklas Gustavsson
>Assignee: Siegfried Goeschl
> Attachments: 36288_Optional_ProcessDestroyer.patch
>
>
> ProcessDestroyer is currently allways used, and as a shutdown hook. It should 
> be
> made optional and pluggable as the current implementation is not appropriate 
> in
> for example application servers.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-5) [exec][patch] small refactor of Environment for style

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-5?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-78 to EXEC-5:
---

Component/s: (was: Exec)
Key: EXEC-5  (was: SANDBOX-78)
Project: Commons Exec  (was: Commons Sandbox)

> [exec][patch] small refactor of Environment for style
> -
>
> Key: EXEC-5
> URL: https://issues.apache.org/jira/browse/EXEC-5
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Kev Jackson
> Attachments: Environment.patch
>
>
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-2) [exec] Remove Java 1.1 support

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-2?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-2 to EXEC-2:
--

Component/s: (was: Exec)
Key: EXEC-2  (was: SANDBOX-2)
Project: Commons Exec  (was: Commons Sandbox)

> [exec] Remove Java 1.1 support
> --
>
> Key: EXEC-2
> URL: https://issues.apache.org/jira/browse/EXEC-2
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Niklas Gustavsson
> Attachments: commons-exec-20050812.patch, commons-exec-20050812b.patch
>
>
> Attached to this bug report is a patch that removes the Java 1.1 support and
> also cleans up much of the remaining code.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-1) [exec] Replace Environment with Map

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-1?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-55 to EXEC-1:
---

Component/s: (was: Exec)
Key: EXEC-1  (was: SANDBOX-55)
Project: Commons Exec  (was: Commons Sandbox)

> [exec] Replace Environment with Map
> ---
>
> Key: EXEC-1
> URL: https://issues.apache.org/jira/browse/EXEC-1
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Niklas Gustavsson
> Attachments: 37951.patch
>
>
> The Environment class (and thereby also EnvironmentVariable) should be 
> replaced
> by using Map. This is in line with the Java 1.5 way of describing the
> environment and remove a class which is most ways was just a duplicate of Map.
> The functionality for retriveing the current processing environment should be
> moved to seperate classes to seperate concerns.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Moved: (EXEC-3) [Exec] support getting Environment variables using type checked methods

2008-06-27 Thread Dennis Lundberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/EXEC-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg moved SANDBOX-112 to EXEC-3:


Component/s: (was: Exec)
Key: EXEC-3  (was: SANDBOX-112)
Project: Commons Exec  (was: Commons Sandbox)

> [Exec] support getting Environment variables using type checked methods
> ---
>
> Key: EXEC-3
> URL: https://issues.apache.org/jira/browse/EXEC-3
> Project: Commons Exec
>  Issue Type: Bug
> Environment: Operating System: other
> Platform: Other
>Reporter: Jerome Lacoste
> Attachments: 36708_support_get_env_variable.diff
>
>
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (COLLECTIONS-300) Method to query Class to determine if it is a collection

2008-06-27 Thread Paul Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/COLLECTIONS-300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12608980#action_12608980
 ] 

Paul Benedict commented on COLLECTIONS-300:
---

boolean isCollectionType(Class clazz);

Yes. Map, for example, does not implement Collection and yet it is a well-known 
collection interface. I could not find any other exception in the JDK, however, 
are there exceptions in Commons Collections that too should be considered?



> Method to query Class to determine if it is a collection
> 
>
> Key: COLLECTIONS-300
> URL: https://issues.apache.org/jira/browse/COLLECTIONS-300
> Project: Commons Collections
>  Issue Type: Wish
>Reporter: Paul Benedict
>Priority: Minor
> Fix For: 3.3
>
>
> Test a Class instance to determine whether it is a known JDK collection type. 
> Someone else should opine if other Apache Collection interfaces should be 
> included in the same or different method.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (DAEMON-98) make fails for jsvc on OS X

2008-06-27 Thread John Malis (JIRA)

 [ 
https://issues.apache.org/jira/browse/DAEMON-98?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

John Malis updated DAEMON-98:
-

Attachment: osx-leopard.txt

Patch to compile on OS X 10.5 Leopard

> make fails for jsvc on OS X
> ---
>
> Key: DAEMON-98
> URL: https://issues.apache.org/jira/browse/DAEMON-98
> Project: Commons Daemon
>  Issue Type: Bug
>Affects Versions: 1.0, 1.0.1
> Environment: OS X 10.4.9 Server on i386
> Darwin Kernel Version 8.9.1: Thu Feb 22 20:55:00 PST 2007; 
> root:xnu-792.18.15~1/RELEASE_I386 i386 i386
> java version "1.5.0_07"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-164)
> Java HotSpot(TM) Server VM (build 1.5.0_07-87, mixed mode)
>Reporter: Amos Hayes
> Attachments: osx-leopard.txt, osx_patch.txt
>
>
> With both jsvc.tar.gz from tomcat 6.0.10 and the daemon-1.0.1.tar.gz sources 
> from the commons project, when I try to configure/compile jsvc on OS X, I get 
> the following:
> arthur:/usr/local/apache-tomcat-6.0.10/bin/daemon-1.0.1/src/native/unix root# 
> ./configure 
> *** Current host ***
> checking build system type... i386-apple-darwin8.9.1
> checking host system type... i386-apple-darwin8.9.1
> checking cached host system type... ok
> *** C-Language compilation tools ***
> checking for gcc... gcc
> checking for C compiler default output file name... a.out
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables... 
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc accepts -g... yes
> checking for gcc option to accept ANSI C... none needed
> checking for ranlib... ranlib
> *** Host support ***
> checking C flags dependant on host system type... ok
> *** Java compilation tools ***
> checking for javac... 
> /System/Library/Frameworks/JavaVM.framework/Home/bin/javac
> checking wether the Java compiler 
> (/System/Library/Frameworks/JavaVM.framework/Home/bin/javac) works... yes
> checking for jar... /System/Library/Frameworks/JavaVM.framework/Home/bin/jar
> gcc flags added
> *** Writing output files ***
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating Makedefs
> config.status: creating native/Makefile
> *** All done ***
> Now you can issue "make"
> arthur:/usr/local/apache-tomcat-6.0.10/bin/daemon-1.0.1/src/native/unix root# 
> make
> make -C native all
> gcc -g -O2 -DOS_DARWIN -DDSO_DYLD -DCPU=\"i386\" 
> -I/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Headers -Wall 
> -Wstrict-prototypes -c jsvc-unix.c -o jsvc-unix.o
> gcc -g -O2 -DOS_DARWIN -DDSO_DYLD -DCPU=\"i386\" 
> -I/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Headers -Wall 
> -Wstrict-prototypes -c arguments.c -o arguments.o
> arguments.c: In function 'arguments':
> arguments.c:251: warning: unused variable 'temp'
> gcc -g -O2 -DOS_DARWIN -DDSO_DYLD -DCPU=\"i386\" 
> -I/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Headers -Wall 
> -Wstrict-prototypes -c debug.c -o debug.o
> gcc -g -O2 -DOS_DARWIN -DDSO_DYLD -DCPU=\"i386\" 
> -I/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Headers -Wall 
> -Wstrict-prototypes -c dso-dlfcn.c -o dso-dlfcn.o
> gcc -g -O2 -DOS_DARWIN -DDSO_DYLD -DCPU=\"i386\" 
> -I/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Headers -Wall 
> -Wstrict-prototypes -c dso-dyld.c -o dso-dyld.o
> dso-dyld.c:54: error: conflicting types for 'dso_init'
> dso.h:24: error: previous declaration of 'dso_init' was here
> dso-dyld.c: In function 'dso_link':
> dso-dyld.c:69: warning: 'NSAddLibrary' is deprecated (declared at 
> /usr/include/mach-o/dyld.h:224)
> dso-dyld.c: At top level:
> dso-dyld.c:76: error: conflicting types for 'dso_unlink'
> dso.h:26: error: previous declaration of 'dso_unlink' was here
> dso-dyld.c: In function 'dso_symbol':
> dso-dyld.c:109: warning: operation on 'x' may be undefined
> dso-dyld.c:113: warning: 'NSLookupAndBindSymbol' is deprecated (declared at 
> /usr/include/mach-o/dyld.h:158)
> dso-dyld.c: At top level:
> dso-dyld.c:127: warning: function declaration isn't a prototype
> make[1]: *** [dso-dyld.o] Error 1
> make: *** [native/all] Error 2

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (COLLECTIONS-300) Method to query Class to determine if it is a collection

2008-06-27 Thread James Carman (JIRA)

[ 
https://issues.apache.org/jira/browse/COLLECTIONS-300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12608863#action_12608863
 ] 

James Carman commented on COLLECTIONS-300:
--

So, you want something that says "does this class implement 
java.util.Collection or java.util.Map or ..."?

> Method to query Class to determine if it is a collection
> 
>
> Key: COLLECTIONS-300
> URL: https://issues.apache.org/jira/browse/COLLECTIONS-300
> Project: Commons Collections
>  Issue Type: Wish
>Reporter: Paul Benedict
>Priority: Minor
> Fix For: 3.3
>
>
> Test a Class instance to determine whether it is a known JDK collection type. 
> Someone else should opine if other Apache Collection interfaces should be 
> included in the same or different method.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Reopened: (VALIDATOR-243) Create standalone domain validator routine

2008-06-27 Thread Niall Pemberton (JIRA)

 [ 
https://issues.apache.org/jira/browse/VALIDATOR-243?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Niall Pemberton reopened VALIDATOR-243:
---


Re-openning since the following announcement probably means this needs to be 
rethought:

http://www.icann.org/en/announcements/announcement-4-26jun08-en.htm

> Create standalone domain validator routine
> --
>
> Key: VALIDATOR-243
> URL: https://issues.apache.org/jira/browse/VALIDATOR-243
> Project: Commons Validator
>  Issue Type: Task
>  Components: Routines
>Reporter: Ben Speakmon
>Assignee: Ben Speakmon
> Fix For: 1.4
>
>
> Since EmailValidator and UrlValidator both need domain name validation, and 
> since that logic is currently duplicated between them, that logic should be 
> factored out into a standalone routine for reuse by all.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (COLLECTIONS-300) Method to query Class to determine if it is a collection

2008-06-27 Thread Paul Benedict (JIRA)
Method to query Class to determine if it is a collection


 Key: COLLECTIONS-300
 URL: https://issues.apache.org/jira/browse/COLLECTIONS-300
 Project: Commons Collections
  Issue Type: Wish
Reporter: Paul Benedict
Priority: Minor
 Fix For: 3.3


Test a Class instance to determine whether it is a known JDK collection type. 
Someone else should opine if other Apache Collection interfaces should be 
included in the same or different method.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (LANG-443) DateUtils should test with the extremes

2008-06-27 Thread Robert Scholte (JIRA)

 [ 
https://issues.apache.org/jira/browse/LANG-443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Scholte updated LANG-443:


Attachment: LANG-443-rs.patch

First set of new tests. If DateUtils.ceil() is available, this file must also 
test this method

> DateUtils should test with the extremes
> ---
>
> Key: LANG-443
> URL: https://issues.apache.org/jira/browse/LANG-443
> Project: Commons Lang
>  Issue Type: Task
>Affects Versions: 2.4
>Reporter: Robert Scholte
>Priority: Minor
> Fix For: 3.0
>
> Attachments: LANG-443-rs.patch
>
>
> Current testdates are a bit to generic. Especially for truncating, ceiling 
> and rounding you shuold test for the extremes. 
> So for rounding to hours you should test for 0:29 (rounding down); 0:30 
> (rounding up); 1:00 (no rounding required)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (DBCP-271) Thread safety issues in AbandonedTrace class

2008-06-27 Thread Sebb (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12608725#action_12608725
 ] 

Sebb commented on DBCP-271:
---

Also, as far as I can tell, the parent instance field is used but never 
initialised.

> Thread safety issues in AbandonedTrace class
> 
>
> Key: DBCP-271
> URL: https://issues.apache.org/jira/browse/DBCP-271
> Project: Commons Dbcp
>  Issue Type: Bug
>Reporter: Sebb
> Fix For: 1.3
>
>
> DBCP-270 implies that the AbandonedTrace class is called from multiple 
> threads, however it is not thread-safe:
> * SimpleDateFormat  is not threadsafe, but it is called without protection.
> * various instance fields need to be made final to ensure that they are 
> published correctly (memory visibility)
> * getLastUsed/setLastUsed need to be synchronized - or better, createdBy made 
> volatile so printStackTrace can access the variable safely
> (createdBy is rewritten, not updated, so lost updates are not important)
> Also, the Javadoc for printStackTrace() is wrong.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (DBCP-270) Dead lock using the evictor

2008-06-27 Thread Sebb (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12608721#action_12608721
 ] 

Sebb commented on DBCP-270:
---

Note that the patch also adds synchronisation to the getTrace() method.

> Dead lock using the evictor
> ---
>
> Key: DBCP-270
> URL: https://issues.apache.org/jira/browse/DBCP-270
> Project: Commons Dbcp
>  Issue Type: Bug
>Affects Versions: 1.2.2
>Reporter: Filip Hanik
>Priority: Critical
> Fix For: 1.3
>
> Attachments: deadlock-abandoned-trace.patch
>
>
> Patch attached, dead lock reported. the abandonedtrace does 
> synchronized(this) when it really only needs to do synchronized(this.trace)
> Dead lock reported when using the evictor
> =
> "Timer-3":
>   waiting to lock monitor 0x53b40548 (object 0x2aaabf3210f0, a
> org.apache.tomcat.dbcp.dbcp.PoolableConnection),
>   which is held by "TP-Processor27"
> "TP-Processor27":
>   waiting to lock monitor 0x53b404d0 (object 0x2aaab9fa8b08, a
> org.apache.tomcat.dbcp.pool.impl.GenericObjectPool),
>   which is held by "Timer-3"
> Java stack information for the threads listed above:
> ===
> "Timer-3":
> at
> org.apache.tomcat.dbcp.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:175)
> - waiting to lock <0x2aaabf3210f0> (a
> org.apache.tomcat.dbcp.dbcp.PoolableConnection)
> at
> org.apache.tomcat.dbcp.dbcp.AbandonedTrace.init(AbandonedTrace.java:92)
> at
> org.apache.tomcat.dbcp.dbcp.AbandonedTrace.(AbandonedTrace.java:82)
> at
> org.apache.tomcat.dbcp.dbcp.DelegatingStatement.(DelegatingStatement.java:61)
> at
> org.apache.tomcat.dbcp.dbcp.DelegatingConnection.createStatement(DelegatingConnection.java:224)
> at
> org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:331)
> at
> org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312)
> at
> org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.evict(GenericObjectPool.java:1217)
> - locked <0x2aaab9fa8b08> (a
> org.apache.tomcat.dbcp.pool.impl.GenericObjectPool)
> at
> org.apache.tomcat.dbcp.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
> at java.util.TimerThread.mainLoop(Timer.java:512)
> at java.util.TimerThread.run(Timer.java:462)
> "TP-Processor27":
> at
> org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1136)
> - waiting to lock <0x2aaab9fa8b08> (a
> org.apache.tomcat.dbcp.pool.impl.GenericObjectPool)
> at
> org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
> at
> org.apache.tomcat.dbcp.dbcp.PoolableConnection.close(PoolableConnection.java:87)
> - locked <0x2aaabf3210f0> (a
> org.apache.tomcat.dbcp.dbcp.PoolableConnection)
> 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (DBCP-271) Thread safety issues in AbandonedTrace class

2008-06-27 Thread Sebb (JIRA)

 [ 
https://issues.apache.org/jira/browse/DBCP-271?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sebb updated DBCP-271:
--

Description: 
DBCP-270 implies that the AbandonedTrace class is called from multiple threads, 
however it is not thread-safe:

* SimpleDateFormat  is not threadsafe, but it is called without protection.
* various instance fields need to be made final to ensure that they are 
published correctly (memory visibility)
* getLastUsed/setLastUsed need to be synchronized - or better, createdBy made 
volatile so printStackTrace can access the variable safely
(createdBy is rewritten, not updated, so lost updates are not important)

Also, the Javadoc for printStackTrace() is wrong.

  was:
DBCP-270 implies that the AbandonedTrace class is called from multiple threads, 
however it is not thread-safe:

* SimpleDateFormat  is not threadsafe, but it is called without protection.
* various instance fields need to be made final to ensure that they are 
published correctly (memory visibility)
* getLastUsed/setLastUsed need to be synchronized

Also, the Javadoc for printStackTrace() is wrong.


> Thread safety issues in AbandonedTrace class
> 
>
> Key: DBCP-271
> URL: https://issues.apache.org/jira/browse/DBCP-271
> Project: Commons Dbcp
>  Issue Type: Bug
>Reporter: Sebb
> Fix For: 1.3
>
>
> DBCP-270 implies that the AbandonedTrace class is called from multiple 
> threads, however it is not thread-safe:
> * SimpleDateFormat  is not threadsafe, but it is called without protection.
> * various instance fields need to be made final to ensure that they are 
> published correctly (memory visibility)
> * getLastUsed/setLastUsed need to be synchronized - or better, createdBy made 
> volatile so printStackTrace can access the variable safely
> (createdBy is rewritten, not updated, so lost updates are not important)
> Also, the Javadoc for printStackTrace() is wrong.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (DBCP-271) Thread safety issues in AbandonedTrace class

2008-06-27 Thread Sebb (JIRA)
Thread safety issues in AbandonedTrace class


 Key: DBCP-271
 URL: https://issues.apache.org/jira/browse/DBCP-271
 Project: Commons Dbcp
  Issue Type: Bug
Reporter: Sebb
 Fix For: 1.3


DBCP-270 implies that the AbandonedTrace class is called from multiple threads, 
however it is not thread-safe:

* SimpleDateFormat  is not threadsafe, but it is called without protection.
* various instance fields need to be made final to ensure that they are 
published correctly (memory visibility)
* getLastUsed/setLastUsed need to be synchronized

Also, the Javadoc for printStackTrace() is wrong.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.