<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to bugs</title><link href="https://sourceforge.net/p/wrapper/bugs/" rel="alternate"/><link href="https://sourceforge.net/p/wrapper/bugs/feed.atom" rel="self"/><id>https://sourceforge.net/p/wrapper/bugs/</id><updated>2025-10-17T12:05:56.882000Z</updated><subtitle>Recent changes to bugs</subtitle><entry><title>#327 Update mac os implementation to use launchctl bootout bootstrap</title><link href="https://sourceforge.net/p/wrapper/bugs/327/?limit=25#20c0" rel="alternate"/><published>2025-10-17T12:05:56.882000Z</published><updated>2025-10-17T12:05:56.882000Z</updated><author><name>Maxime Andrighetto</name><uri>https://sourceforge.net/u/maxime-tsl/</uri></author><id>https://sourceforge.netb23c6aa4b54d9c2b6d3e582e90875097fbe5eb9c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Jonathan,&lt;/p&gt;
&lt;p&gt;Thank you again for your contribution.&lt;/p&gt;
&lt;p&gt;We have implemented changes similar to your suggestions. &lt;/p&gt;
&lt;p&gt;However, we found that instead of waiting for process termination, it is more reliable to wait for the service to be unbooted by launchd. &lt;br/&gt;
launchd normally sends a TERM signal to the process and unloads it upon confirmation of termination, but there can be a slight delay between the process stopping and the service actually being unloaded.&lt;br/&gt;
Attempting to execute &lt;code&gt;launchctl bootstrap&lt;/code&gt; might result in an error like the following:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;service already bootstrapped
Bootstrap failed: 37: Operation already in progress
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The fix will be available in the next Wrapper release.&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;/p&gt;
&lt;p&gt;Maxime&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#327 Update mac os implementation to use launchctl bootout bootstrap</title><link href="https://sourceforge.net/p/wrapper/bugs/327/?limit=25#7931" rel="alternate"/><published>2025-09-26T07:08:20.554000Z</published><updated>2025-09-26T07:08:20.554000Z</updated><author><name>Maxime Andrighetto</name><uri>https://sourceforge.net/u/maxime-tsl/</uri></author><id>https://sourceforge.net473833d447d42126aaceb9133c3129eb31f247d6</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Jonathan,&lt;/p&gt;
&lt;p&gt;Thank you very much for bringing this issue to our attention.&lt;/p&gt;
&lt;p&gt;I believe 'launchctl bootout/bootstrap' was introduced in macOS 10.10 Yosemite. The current Wrapper still supports older macOS versions, so we need to maintain compatibility for now. But we plan to raise the system requirements in the next release (3.7.0), which will allow us to implement macosxRestart() as you've suggested.&lt;/p&gt;
&lt;p&gt;When restarting the Wrapper, we typically call waitForWrapperStop() in the shell script, which uses a loop similar to your proposed code. We could also introduce a timeout as you suggested. &lt;/p&gt;
&lt;p&gt;We will update this thread once this change is implemented.&lt;/p&gt;
&lt;p&gt;Thank you again for your suggestion.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maxime Andrighetto&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Update mac os implementation to use launchctl bootout bootstrap</title><link href="https://sourceforge.net/p/wrapper/bugs/327/" rel="alternate"/><published>2025-09-25T16:37:29.899000Z</published><updated>2025-09-25T16:37:29.899000Z</updated><author><name>Jonathan Coffman</name><uri>https://sourceforge.net/u/jcoffman/</uri></author><id>https://sourceforge.net582a21d9148c7889e0397cf252bbc4b8e35f79a9</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;launchctl's load and unload commands are considered legacy at this point and swapping to bootout and bootstrap should be fairly trivial.&lt;/p&gt;
&lt;p&gt;instead of:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;launchctl&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;unload&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/Library/LaunchDaemons/${APP_PLIST}"&lt;/span&gt;
&lt;span class="n"&gt;launchctl&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;load&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/Library/LaunchDaemons/${APP_PLIST}"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;it becomes&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;launchctl&lt;span class="w"&gt; &lt;/span&gt;bootout&lt;span class="w"&gt; &lt;/span&gt;"system/&lt;span class="cp"&gt;${&lt;/span&gt;&lt;span class="n"&gt;APP_PLIST_BASE&lt;/span&gt;&lt;span class="cp"&gt;}&lt;/span&gt;"
launchctl&lt;span class="w"&gt; &lt;/span&gt;bootstrap&lt;span class="w"&gt; &lt;/span&gt;system&lt;span class="w"&gt; &lt;/span&gt;"/Library/LaunchDaemons/&lt;span class="cp"&gt;${&lt;/span&gt;&lt;span class="n"&gt;APP_PLIST&lt;/span&gt;&lt;span class="cp"&gt;}&lt;/span&gt;"
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;also, while we are in here we should alter the macosRestart() function to actually wait for the process to be stopped instead of a hardcoded &lt;code&gt;sleep 1&lt;/code&gt; like so:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;macosxRestart()&lt;span class="w"&gt; &lt;/span&gt;{
&lt;span class="w"&gt;    &lt;/span&gt;mustBeRootOrExit
&lt;span class="w"&gt;    &lt;/span&gt;checkRunning&lt;span class="w"&gt; &lt;/span&gt;$1

&lt;span class="w"&gt;    &lt;/span&gt;eval&lt;span class="w"&gt; &lt;/span&gt;echo&lt;span class="w"&gt; &lt;/span&gt;`gettext&lt;span class="w"&gt; &lt;/span&gt;'Restarting&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$APP_LONG_NAME...&lt;/span&gt;'`

&lt;span class="w"&gt;    &lt;/span&gt;if&lt;span class="w"&gt; &lt;/span&gt;[&lt;span class="w"&gt; &lt;/span&gt;"&lt;span class="nv"&gt;$MACOSX_KEEP_RUNNING&lt;/span&gt;"&lt;span class="w"&gt; &lt;/span&gt;=&lt;span class="w"&gt; &lt;/span&gt;"true"&lt;span class="w"&gt; &lt;/span&gt;]&lt;span class="w"&gt; &lt;/span&gt;;&lt;span class="w"&gt; &lt;/span&gt;then
&lt;span class="w"&gt;        &lt;/span&gt;#&lt;span class="w"&gt; &lt;/span&gt;by&lt;span class="w"&gt; &lt;/span&gt;stopping&lt;span class="w"&gt; &lt;/span&gt;it,&lt;span class="w"&gt; &lt;/span&gt;launchd&lt;span class="w"&gt; &lt;/span&gt;will&lt;span class="w"&gt; &lt;/span&gt;automatically&lt;span class="w"&gt; &lt;/span&gt;restart&lt;span class="w"&gt; &lt;/span&gt;it
&lt;span class="w"&gt;        &lt;/span&gt;launchctl&lt;span class="w"&gt; &lt;/span&gt;stop&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;${&lt;/span&gt;&lt;span class="n"&gt;APP_PLIST_BASE&lt;/span&gt;&lt;span class="cp"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;else
&lt;span class="w"&gt;        &lt;/span&gt;launchctl&lt;span class="w"&gt; &lt;/span&gt;bootout&lt;span class="w"&gt; &lt;/span&gt;"system/&lt;span class="cp"&gt;${&lt;/span&gt;&lt;span class="n"&gt;APP_PLIST_BASE&lt;/span&gt;&lt;span class="cp"&gt;}&lt;/span&gt;"
&lt;span class="w"&gt;        &lt;/span&gt;timeout=60
&lt;span class="w"&gt;        &lt;/span&gt;while&lt;span class="w"&gt; &lt;/span&gt;[&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$timeout&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-gt&lt;span class="w"&gt; &lt;/span&gt;0&lt;span class="w"&gt; &lt;/span&gt;]&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;pgrep&lt;span class="w"&gt; &lt;/span&gt;-f&lt;span class="w"&gt; &lt;/span&gt;"&lt;span class="nv"&gt;$PIDFILE&lt;/span&gt;"&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;/dev/null;&lt;span class="w"&gt; &lt;/span&gt;do
&lt;span class="w"&gt;            &lt;/span&gt;sleep&lt;span class="w"&gt; &lt;/span&gt;1
&lt;span class="w"&gt;            &lt;/span&gt;((timeout--))
&lt;span class="w"&gt;        &lt;/span&gt;done
&lt;span class="w"&gt;        &lt;/span&gt;launchctl&lt;span class="w"&gt; &lt;/span&gt;bootstrap&lt;span class="w"&gt; &lt;/span&gt;system&lt;span class="w"&gt; &lt;/span&gt;"/Library/LaunchDaemons/&lt;span class="cp"&gt;${&lt;/span&gt;&lt;span class="n"&gt;APP_PLIST&lt;/span&gt;&lt;span class="cp"&gt;}&lt;/span&gt;"
&lt;span class="w"&gt;    &lt;/span&gt;fi

&lt;span class="w"&gt;    &lt;/span&gt;startwait
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</summary></entry><entry><title>#326 ./server.sh start fails to start Java application when the application installation path contains a space</title><link href="https://sourceforge.net/p/wrapper/bugs/326/?limit=25#4f85" rel="alternate"/><published>2024-11-13T03:29:11.987000Z</published><updated>2024-11-13T03:29:11.987000Z</updated><author><name>Maxime Andrighetto</name><uri>https://sourceforge.net/u/maxime-tsl/</uri></author><id>https://sourceforge.net9409f906bbea3af8bb6bbe5c9cb97b68d5f9e5c2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; open-accepted&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</summary></entry><entry><title>./server.sh start fails to start Java application when the application installation path contains a space</title><link href="https://sourceforge.net/p/wrapper/bugs/326/" rel="alternate"/><published>2024-11-13T00:02:23.737000Z</published><updated>2024-11-13T00:02:23.737000Z</updated><author><name>Mohammed Fahed Shareef</name><uri>https://sourceforge.net/u/mohammeds24/</uri></author><id>https://sourceforge.netf5333f64168e67fc9c23bc3d1531a7cbcf823ed8</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;strong&gt;How Found:&lt;/strong&gt;&lt;br/&gt;
 When attempting to start a Java application  installed on Amazon Linux 2023 and Rocky Linux 9 environments.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Expected Outcome:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The application starts up normally. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Actual Outcome:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The application does  not start and an error is output to the console. For example, if the installation path is &lt;code&gt;/opt/foo bar&lt;/code&gt; the error on the console is:&lt;/p&gt;
&lt;p&gt;Unable to locate any of the following binaries:&lt;br/&gt;
  /opt/./wrapper-linux-x86-64&lt;br/&gt;
  /opt/./wrapper-linux-x86-32&lt;br/&gt;
  /opt/./wrapper&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>./server.sh start fails to start Java application when the application installation path contains a space</title><link href="https://sourceforge.net/p/wrapper/bugs/326/" rel="alternate"/><published>2024-11-13T00:02:23.737000Z</published><updated>2024-11-13T00:02:23.737000Z</updated><author><name>Mohammed Fahed Shareef</name><uri>https://sourceforge.net/u/mohammeds24/</uri></author><id>https://sourceforge.net697b7f07720406f92b4cb4c41c74e650fc81c410</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Ticket 326 has been modified: ./server.sh start fails to start Java application when the application installation path contains a space&lt;br/&gt;
Edited By: Maxime Andrighetto (maxime-tsl)&lt;br/&gt;
Status updated: 'open' =&amp;gt; 'open-accepted'&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#325 Tanuki wrapper is creating large number of wrapper.log files</title><link href="https://sourceforge.net/p/wrapper/bugs/325/?limit=25#8ff4/6027" rel="alternate"/><published>2024-06-25T06:26:53.626000Z</published><updated>2024-06-25T06:26:53.626000Z</updated><author><name>Maxime Andrighetto</name><uri>https://sourceforge.net/u/maxime-tsl/</uri></author><id>https://sourceforge.net795bb2058ad87b5f830a4f18d268abd91e947f6e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;This problem is now fixed in version 3.5.58.&lt;br/&gt;
&lt;a href="https://wrapper.tanukisoftware.com/doc/english/release-notes.html#3.5.58" rel="nofollow"&gt;https://wrapper.tanukisoftware.com/doc/english/release-notes.html#3.5.58&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#325 Tanuki wrapper is creating large number of wrapper.log files</title><link href="https://sourceforge.net/p/wrapper/bugs/325/?limit=25#24ed" rel="alternate"/><published>2024-06-25T06:25:36.487000Z</published><updated>2024-06-25T06:25:36.487000Z</updated><author><name>Maxime Andrighetto</name><uri>https://sourceforge.net/u/maxime-tsl/</uri></author><id>https://sourceforge.netdeecdb34601afe39586b05013e137a92c519c137</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;Description has changed:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Diff:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="gd"&gt;--- old&lt;/span&gt;
&lt;span class="gi"&gt;+++ new&lt;/span&gt;
&lt;span class="gu"&gt;@@ -1,3 +1,2 @@&lt;/span&gt;
&lt;span class="gd"&gt;-&lt;/span&gt;

&lt;span class="w"&gt; &lt;/span&gt;We have created  wrapper service for Opensearch service. On one of the service wrapper did not have access to log file location given for wrapper log file. Hence wrapper created the log file in the working directory with name as wrapper.log. However it was observed that &amp;amp;#34;wrapper.logfile.maxfiles&amp;amp;#34; is not getting honored in this scenario. We have given max number of files as 10 but it created more than 800 log files. Please find attached screenshot for the same
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open-accepted --&amp;gt; closed-fixed&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</summary></entry><entry><title>#325 Tanuki wrapper is creating large number of wrapper.log files</title><link href="https://sourceforge.net/p/wrapper/bugs/325/?limit=25#8ff4" rel="alternate"/><published>2024-06-12T11:27:43.571000Z</published><updated>2024-06-12T11:27:43.571000Z</updated><author><name>Swapnil Vaidya</name><uri>https://sourceforge.net/u/swapnilsvaidya/</uri></author><id>https://sourceforge.net9a40cc891125ee9d58a26339a8fb93130a442740</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks Maxime for quickly triaging the issue. Yes each file was of 5Mb size.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#325 Tanuki wrapper is creating large number of wrapper.log files</title><link href="https://sourceforge.net/p/wrapper/bugs/325/?limit=25#728a/5dce" rel="alternate"/><published>2024-06-12T11:22:28.876000Z</published><updated>2024-06-12T11:22:28.876000Z</updated><author><name>Maxime Andrighetto</name><uri>https://sourceforge.net/u/maxime-tsl/</uri></author><id>https://sourceforge.net85a58e23f4ddd6ae2419b0ba7aebc75f21857a92</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Thank you for your reply.&lt;/p&gt;
&lt;p&gt;I was able to reproduce the issue. It first appeared in version 3.5.37.&lt;br/&gt;
We will of course fix it for the next release, but in the meantime you may use version 3.5.36.&lt;/p&gt;
&lt;p&gt;I just want to confirm the size of your rolled log files. Are they 5Mb each?&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;/p&gt;
&lt;p&gt;Maxime&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>