[
https://issues.apache.org/jira/browse/DAEMON-341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15637878#comment-15637878
]
Mikhail Dobrinin commented on DAEMON-341:
-----------------------------------------
Unfortunately I don't have access to the exact environment where this was
observed. However, here is the best information I can provide:
* I can say that I was not able to reproduce this on other machines (only on
Windows Serevr 2008 not R2). Likewise, when it is reproducible, it is
reproducible every time.
* We did an environment variable dump at the time and did not see anything
pointing to log files, or any non-ascii characters in the names or values
(\[^\x00-\x7F\]). Note that I am talking about the environment variables in the
shell process. The actual command to reproduce this was boiled down to the
simple example you see above (without any ++Environment, --JVM, or any other
arguments).
* Each time that I saw this, it would appear that the garbage is part of a path
to a log file, but as you can can see in the above example that the "g" in
"log" is changed to a "ɥ". The full command that we would be executing in
production would set the "\-\-LogPath" and "\-\-LogPrefix" arguments and the
directory to which it would point actually would usually contain log files with
dates as seen in the example "...10-08.log". However, these log files were not
passed as arguments to the prunsrv command and were not seen in the environment
variable dumps. On top of that, I was able to reproduce it with very simple
commands to prunsrv that don't pass there arguments. I am thinking they may
have been incidentally been nearby in the memory and this may be some kind of
buffer overflow issue.
> prunsrv injects garbage into ImagePath
> --------------------------------------
>
> Key: DAEMON-341
> URL: https://issues.apache.org/jira/browse/DAEMON-341
> Project: Commons Daemon
> Issue Type: Bug
> Components: Procrun
> Affects Versions: 1.0.15
> Environment: Windows Server 2008 (not R2)
> Reporter: Mikhail Dobrinin
>
> Here is a reproducible example that works every time:
> {noformat}
> prunsrv.exe //IS//abcd.branch2 --StartMode=jvm
> --StartClass=abc.abcdefghih.abcd.abcdef.abcd.MyImportantClass
> --StartMethod=startService ++StartParams=abcd.branch2
> {noformat}
> The ImagePath entry for the service ends up being:
> {noformat}
> C:\path\to\prunsrv.exe 12-08.loɥ//RS//abcd.branch2
> {noformat}
> As you see, there is garbage inserted in front of the {{//RS//}} string.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)