X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 1.4.3/27936) X-Junk-Score: 0 [] X-KAS-Score: 0 [] From: "D Tim Cummings" Received: from mail.triptera.au ([175.45.182.215] verified) by post.selbstdenker.com (CommuniGate Pro SMTP 6.3.18) with ESMTPS id 35406847 for webobjects-dev@wocommunity.org; Wed, 11 Mar 2026 00:26:38 +0100 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=175.45.182.215; envelope-from=tim@triptera.com.au Received: from localhost (localhost [127.0.0.1]) by mail.triptera.au (Postfix) with ESMTP id 24B7DA060B for ; Wed, 11 Mar 2026 09:26:25 +1000 (AEST) X-Virus-Scanned: Debian amavisd-new at mail.triptera.au Received: from mail.triptera.au ([127.0.0.1]) by localhost (mail.triptera.au [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RaDnAZletQTF for ; Wed, 11 Mar 2026 09:26:20 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=triptera.com.au; s=202212; t=1773185179; bh=2ACgF+lpC0/Iedd3E9Vv3uEholO823ia5SCDkTlfzeM=; h=Date:Subject:To:References:From:In-Reply-To:From; b=jiOMOhaAMw8Ndj35ShFNG8gM5GBHAK9JfxrUYpW6PBTE+bpw/dPaTGdIzFipzCwxl V9KAn6A9Xy/MjskyjuxiIMBudA2BYRaoJLAvpRbb+BhiJH2TLrcvlSnmOPIyFuztrc zyEB9Xhbt5rP/efzfXNgqvVHVq/lv7FtWs5LJT/jBZHBNMESXSEsjy+p/QQBB0oQEq KhrHDmc2A+LfsLokpg41ct4MeYth0nsXXCBvdENfczkVVKyeCwEARdmTLekOQJQB8w HmoYXBnnM49SGlb1wTIxBLu/+ZIMzEResRPuQvLUxT2bR1wslWhEksxVwDfgIi6Rxs cXH11TsqdLKIQ== Content-Type: multipart/alternative; boundary="------------nMLGr0hpwUh3tGJMt4VmBeGA" Message-ID: Date: Wed, 11 Mar 2026 09:26:19 +1000 MIME-Version: 1.0 Subject: Re: [WO-DEV] Re: Help with Apache mod issues To: WebObjects & WOnder Development References: Content-Language: en-US In-Reply-To: This is a multi-part message in MIME format. --------------nMLGr0hpwUh3tGJMt4VmBeGA Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Ted Here is how I deploy to the correct directories. # WebObjects install script using maven and ant This script will is initiated by maven, for example: `mvn clean package -Dinstall_my_server` It will package the webobjects app into timestamped gzip files, for example ``` target/MyWoApp202602100628.woapplication.tar.gz target/MyWoApp202602100628.wowebserverresources.tar.gz ``` Then it will use ssh/scp to copy these files to the server (into a folder called ~/Documents which should exist beforehand) and extract them into the correct directories. ``` # directory for the application /opt/webobjects/Local/Library/WebObjects/Applications # directory for the webserver resources /opt/webobjects/Local/Library/WebServer/Documents/WebObjects ``` SETUP In `pom.xml`I timestamp my build file so I don't accidentally overwrite a previous install. Add to `project > build` ```xml ${project.artifactId}${maven.build.timestamp} ``` In `pom.xml`add plugin to `project > build > plugins`so maven can call ant. ```xml maven-antrun-plugin 3.2.0 install-actions package run ``` Create an ant build script `build.xml`in project directory (next to `pom.xml`). You will need to modify value of "remote.host" ```xml ``` On 11/3/26 00:42, Theodore Petrosky wrote: > > ok I went through the wiki Deploying on Ubuntu 24.04 that Tim > references and for days could not get it to work. So I went line by > line making sure I understood what this script was doing and modifying > what files. > > Then I found the issue!!  Near the bottom of the script it references > Install WebObjects adapter. it uses git to clone the wonder.git repo. > > Git is not installed anywhere. I installed git and walked through the > lines of the script, restarted Apache and voila. A working Ubuntu setup. > > I updated the wiki to reflect adding git. > > > Lastly, I do not understand what this setup does to create the > directories for the upload of my app. > > Where do I upload my woapplication and wowebserverresources directories? > > > Ted > > On 3/6/26 9:34 PM, Theodore Petrosky wrote: >> >> Tim, >> >> We are almost there. your wiki post was really great but I have run >> into a little problem. after I ran the script, apache came up >> beautifully, and javamonitor status shows: >> ● javamonitor.service - WebObjects/Wonder JavaMonitor >>      Loaded: loaded (/usr/lib/systemd/system/javamonitor.service; >> disabled; preset: enabled) >>      Active: active (running) since Fri 2026-03-06 20:42:10 EST; >> 47min ago >> >> However, when I try to add a host 127.0.0.1 I get Failed to contact >> localhost-1085 >> >> did I miss something? >> >> Ted >> >> ted@ted-Virtual-Machine:~$ sudo systemctl status javamonitor >> ● javamonitor.service - WebObjects/Wonder JavaMonitor >>      Loaded: loaded (/usr/lib/systemd/system/javamonitor.service; >> disabled; preset: enabled) >>      Active: active (running) since Fri 2026-03-06 20:42:10 EST; >> 47min ago >>        Docs: >> https://wiki.wocommunity.org/display/documentation/Wonder+JavaMonitor+and+wotaskd >>    Main PID: 9579 (java) >>       Tasks: 45 (limit: 4612) >>      Memory: 123.2M (peak: 129.9M) >>         CPU: 8.430s >>      CGroup: /system.slice/javamonitor.service >>              └─9579 java -DWORootDirectory=/opt/webobjects >> -DWOLocalRootDirectory=/opt/webobjects/Local -DWOUserDirectory=/ >> -DWOEnvClassPath= >> -DWOApplicationClass=com.webobjects.monitor.application.Application >> -DWOP> >> >> Mar 06 20:42:10 ted-Virtual-Machine systemd[1]: Started >> javamonitor.service - WebObjects/Wonder JavaMonitor. >> Mar 06 20:42:10 ted-Virtual-Machine JavaMonitor[9579]: Reading >> UNIXClassPath.txt ... >> Mar 06 20:42:10 ted-Virtual-Machine JavaMonitor[9579]: Launching >> JavaMonitor.woa ... >> Mar 06 20:42:10 ted-Virtual-Machine JavaMonitor[9579]: java >> -DWORootDirectory="/opt/webobjects" >> -DWOLocalRootDirectory="/opt/webobjects/Local" -DWOUserDirectory="/" >> -DWOEnvClassPath="" -DWOApplicationClass=com.webob> >> lines 1-15/15 (END) >> >> On 3/4/26 6:48 PM, D Tim Cummings wrote: >>> >>> You need to use prefork version of Apache. See deploy instructions on >>> >>> https://wiki.wocommunity.org/xwiki/bin/view/documentation/Home/Deployment/Platforms/Deploying%20on%20Linux/Deploying%20on%20Ubuntu%2022.04/ >>> >>> sudo apt install apache2 >>> sudo a2dismod mpm_event >>> sudo a2enmod mpm_prefork >>> >>> Cheers >>> >>> Tim >>> >>> On 5/03/2026 02:59, Jason Coffin wrote: >>>> Hello all! >>>> >>>> I'm looking for help diagnosing an issue that we are seeing in a WebObjects production environment. I'm not the developer on the project, I'm the devops person and I know little about WebObjects. >>>> >>>> Here is our stack: >>>> >>>> Ubuntu version 20.04.1 >>>> Apache version 2.4.41 >>>> Project Wonder version 7.5-SNAPSHOT >>>> WebObjects version 5.4.3 >>>> >>>> About once a day the Apache mod seems to stop working and no longer routes traffic to the WebObjects application. Restarting Apache solves the issue until it crops up again. The Apache error logs show these errors, in the given order, and they repeat several times: >>>> >>>> lock_file_section(): failed to lock (1 attempts): Resource deadlock avoided >>>> ac_readConfiguration: WOShmem_lock() failed. Skipping reading config. >>>> >>>> Any idea what could be causing this issue? Should we be using a different version of Apache or the WebObjects mod? >>>> >>>> We are also considering alternative methods for hosting the WebObjects application. Should we consider removing the Apache mod requirement entirely? >>>> >>>> Thank you kindly! >>>> >>>> Jason Coffin >>>> >>>> ############################################################# >>>> This message is sent to you because you are subscribed to >>>> the mailing list. >>>> To unsubscribe, E-mail to: >>>> To switch to the DIGEST mode, E-mail to >>>> To switch to the INDEX mode, E-mail to >>>> Send administrative queries to >>>> --------------nMLGr0hpwUh3tGJMt4VmBeGA Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Hi Ted

Here is how I deploy to the correct directories.

# WebObjects install script using maven and ant
This script will is initiated by maven, for example:
`mvn clean package -Dinstall_my_server`
It will package the webobjects app into timestamped gzip files, for example
```
target/MyWoApp202602100628.woapplication.tar.gz
target/MyWoApp202602100628.wowebserverresources.tar.gz
```
Then it will use ssh/scp to copy these files to the server (into a folder called ~/Documents which should exist beforehand) and extract them into the correct directories.
```
# directory for the application
/opt/webobjects/Local/Library/WebObjects/Applications
# directory for the webserver resources
/opt/webobjects/Local/Library/WebServer/Documents/WebObjects
```
SETUP
In `pom.xml` I timestamp my build file so I don't accidentally overwrite a previous install. Add to `project > build`
```xml
<finalName>${project.artifactId}${maven.build.timestamp}</finalName>
```
In `pom.xml` add plugin to `project > build > plugins` so maven can call ant.
```xml
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>install-actions</id>
<phase>package</phase>
<configuration>
<target>
<property name="dest.dir" value="target" />
<property name="build.app.name" value="${project.build.finalName}" />
<echo message="Installing ${project.build.finalName} using ant" />
<ant antfile="${basedir}/build.xml">
<target name="install_actions" />
</ant>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
```
Create an ant build script `build.xml` in project directory (next to `pom.xml`). You will need to modify value of "remote.host"
```xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE project>
<project name="MyWoApp" default="install_actions" basedir="." xmlns:if="ant:if" xmlns:unless="ant:unless">
<!-- normally run from maven. eg 'mvn clean package -Dinstall_my_server' -->
<target name="install_actions">
<antcall target="install_my_server_target" if:set="install_my_server" />
</target>
<target name="install_my_server_target">
<echo message="installing to my server" />
<antcall target="install_server">
<param name="remote.host" value="my.server.example.com" />
<param name="remote.local.root" value="/opt/webobjects/Local" />
<param name="remote.web.root" value="/opt/webobjects/Local/Library/WebServer/Documents/WebObjects" />
<param name="remote.dest.dir" value="Library/WebObjects/Applications" />
<param name="remote.webobjects.user" value="webobjects" />
<param name="remote.webobjects.group" value="webobjects" />
</antcall>
</target>
<target name="install_server">
<echo message="install_server ${dest.dir}/${build.app.name}" />
<exec executable="scp">
<arg value="${dest.dir}/${build.app.name}.woapplication.tar.gz" />
<arg value="${remote.host}:Documents/${build.app.name}.woapplication.tar.gz" />
</exec>
<exec executable="scp">
<arg value="${dest.dir}/${build.app.name}.wowebserverresources.tar.gz" />
<arg value="${remote.host}:Documents/${build.app.name}.wowebserverresources.tar.gz" />
</exec>
<exec executable="ssh">
<arg value="${remote.host}" />
<arg value="sudo" />
<arg value="/bin/tar" />
<arg value="-zxf" />
<arg value="Documents/${build.app.name}.woapplication.tar.gz" />
<arg value="-C" />
<arg value="${remote.local.root}/${remote.dest.dir}" />
</exec>
<exec executable="ssh">
<arg value="${remote.host}" />
<arg value="sudo" />
<arg value="/bin/tar" />
<arg value="-zxf" />
<arg value="Documents/${build.app.name}.wowebserverresources.tar.gz" />
<arg value="-C" />
<arg value="${remote.web.root}" />
</exec>
<exec executable="ssh">
<arg value="${remote.host}" />
<arg value="sudo" />
<arg value="chown" />
<arg value="-R" />
<arg value="${remote.webobjects.user}:${remote.webobjects.group}" />
<arg value="${remote.local.root}/${remote.dest.dir}/${build.app.name}.woa" />
</exec>
</target>
</project>
```


On 11/3/26 00:42, Theodore Petrosky wrote:

ok I went through the wiki Deploying on Ubuntu 24.04 that Tim references and for days could not get it to work. So I went line by line making sure I understood what this script was doing and modifying what files. 

Then I found the issue!!  Near the bottom of the script it references Install WebObjects adapter. it uses git to clone the wonder.git repo. 

Git is not installed anywhere. I installed git and walked through the lines of the script, restarted Apache and voila. A working Ubuntu setup.

I updated the wiki to reflect adding git.


Lastly, I do not understand what this setup does to create the directories for the upload of my app.

Where do I upload my woapplication and wowebserverresources directories?


Ted

On 3/6/26 9:34 PM, Theodore Petrosky wrote:

Tim,

We are almost there. your wiki post was really great but I have run into a little problem. after I ran the script, apache came up beautifully, and javamonitor status shows:
● javamonitor.service - WebObjects/Wonder JavaMonitor
     Loaded: loaded (/usr/lib/systemd/system/javamonitor.service; disabled; preset: enabled)
     Active: active (running) since Fri 2026-03-06 20:42:10 EST; 47min ago

However, when I try to add a host 127.0.0.1 I get Failed to contact localhost-1085

did I miss something?

Ted

ted@ted-Virtual-Machine:~$ sudo systemctl status javamonitor
● javamonitor.service - WebObjects/Wonder JavaMonitor
     Loaded: loaded (/usr/lib/systemd/system/javamonitor.service; disabled; preset: enabled)
     Active: active (running) since Fri 2026-03-06 20:42:10 EST; 47min ago
       Docs: https://wiki.wocommunity.org/display/documentation/Wonder+JavaMonitor+and+wotaskd
   Main PID: 9579 (java)
      Tasks: 45 (limit: 4612)
     Memory: 123.2M (peak: 129.9M)
        CPU: 8.430s
     CGroup: /system.slice/javamonitor.service
             └─9579 java -DWORootDirectory=/opt/webobjects -DWOLocalRootDirectory=/opt/webobjects/Local -DWOUserDirectory=/ -DWOEnvClassPath= -DWOApplicationClass=com.webobjects.monitor.application.Application -DWOP>

Mar 06 20:42:10 ted-Virtual-Machine systemd[1]: Started javamonitor.service - WebObjects/Wonder JavaMonitor.
Mar 06 20:42:10 ted-Virtual-Machine JavaMonitor[9579]: Reading UNIXClassPath.txt ...
Mar 06 20:42:10 ted-Virtual-Machine JavaMonitor[9579]: Launching JavaMonitor.woa ...
Mar 06 20:42:10 ted-Virtual-Machine JavaMonitor[9579]: java -DWORootDirectory="/opt/webobjects" -DWOLocalRootDirectory="/opt/webobjects/Local" -DWOUserDirectory="/" -DWOEnvClassPath="" -DWOApplicationClass=com.webob>
lines 1-15/15 (END)

On 3/4/26 6:48 PM, D Tim Cummings wrote:

You need to use prefork version of Apache. See deploy instructions on

https://wiki.wocommunity.org/xwiki/bin/view/documentation/Home/Deployment/Platforms/Deploying%20on%20Linux/Deploying%20on%20Ubuntu%2022.04/

sudo apt install apache2
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork

Cheers

Tim

On 5/03/2026 02:59, Jason Coffin wrote:
Hello all!

I'm looking for help diagnosing an issue that we are seeing in a WebObjects production environment. I'm not the developer on the project, I'm the devops person and I know little about WebObjects.

Here is our stack:

Ubuntu version 20.04.1
Apache version 2.4.41
Project Wonder version 7.5-SNAPSHOT
WebObjects version 5.4.3

About once a day the Apache mod seems to stop working and no longer routes traffic to the WebObjects application. Restarting Apache solves the issue until it crops up again. The Apache error logs show these errors, in the given order, and they repeat several times:

lock_file_section(): failed to lock (1 attempts): Resource deadlock avoided
ac_readConfiguration: WOShmem_lock() failed. Skipping reading config.

Any idea what could be causing this issue? Should we be using a different version of Apache or the WebObjects mod? 

We are also considering alternative methods for hosting the WebObjects application. Should we consider removing the Apache mod requirement entirely?

Thank you kindly!

Jason Coffin

#############################################################
This message is sent to you because you are subscribed to
  the mailing list <webobjects-dev@wocommunity.org>.
To unsubscribe, E-mail to: <webobjects-dev-off@wocommunity.org>
To switch to the DIGEST mode, E-mail to <webobjects-dev-digest@wocommunity.org>
To switch to the INDEX mode, E-mail to <webobjects-dev-index@wocommunity.org>
Send administrative queries to  <webobjects-dev-request@wocommunity.org>

--------------nMLGr0hpwUh3tGJMt4VmBeGA--