voiceip/oreka

Installation Guide

Closed this issue · 23 comments

Hello,

Would you please provide an installation guide to install in Centos or Debian?
I've been trying to install this with the binaries in Ubuntu and even tried to compile the solution, but I got in both ways, problems related to dependencies...

Thank you and
Best Regards,
Nelson

Which version of Ubuntu did you try on ? On our production boxes we use 16.04 and installation is just downloading the .deb and running apt install ./orkaudio.deb which automatically pulls in the rest of the dependencies.

Also folks have confirmed this to be running well on Debian 9 (same as above), and on centos using docker steps.

If you are still facing errors can you please share the dependency error that it is throwing?

Hello, I tried with the latest version of ubuntu 20.04.1 LTS. Also tried with ubuntu 18.04LTS according with a readme at: oreka/BUILD_C++.txt
I thought it should work without problems with that version.

Since you've mentioned about Debian 9, also tried to install it, it seems it installs all the packages but got a warning at the end:
Starting orkaudio....

  • svc -u /etc/service/orkaudio
    svc: warning: unable to control /etc/service/orkaudio: file does not exist
  • exit 0

With the command systemctl status orkaudio
● orkaudio.service - Oreka Audio Recorder
Loaded: loaded (/etc/systemd/system/orkaudio.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2020-11-20 19:20:37 WET; 3s ago
Process: 6188 ExecStart=/usr/sbin/orkaudio (code=exited, status=127)
Process: 6186 ExecStartPre=/usr/bin/logger Starting Oreka Audio Recorder (code=exited, status=0/SUCCESS)

Nov 20 19:20:37 oreka-deb9 systemd[1]: orkaudio.service: Control process exited, code=exited status=127
Nov 20 19:20:37 oreka-deb9 systemd[1]: Failed to start Oreka Audio Recorder.
Nov 20 19:20:37 oreka-deb9 systemd[1]: orkaudio.service: Unit entered failed state.
Nov 20 19:20:37 oreka-deb9 systemd[1]: orkaudio.service: Failed with result 'exit-code'.

Since it does not start the service, am I forgetting to configure something before start the service?

Hello, I tried with the latest version of ubuntu 20.04.1 LTS. Also tried with ubuntu 18.04LTS according with a readme at: oreka/BUILD_C++.txt

Those are upstream instructions and they don't work.

With the command systemctl status orkaudio

This is fine, the orkaudio systemd service doesn't work yet (I haven't been able to make fork mode work with orkaudio yet)

svc -u /etc/service/orkaudio
svc: warning: unable to control /etc/service/orkaudio: file does not exist

This is okay, and happens for the first time as this is daemontools-svc . Please check by running ps aux | grep orkaudio and see if it's running or not.

This is okay, and happens for the first time as this is daemontools-svc . Please check by running ps aux | grep orkaudio and see if it's running or not.

Unfortunately I don't see it running...

root@oreka-deb9:/home/sysadmin# ps aux | grep orkaudio
root        783  0.0  0.0  12780   932 pts/0    S+   20:09   0:00 grep orkaudio
root@oreka-deb9:/home/sysadmin#

EDIT:
I did a quick setup of another clean VM with Ubuntu 16.04 and it is presenting the same behavior...

Can you try to run/start it with

svc -u /etc/service/orkaudio and see if it starts up?

Also double check the logs to verify that its not stopping due to a configuration error

The command gives me this:

root@oreka-deb9:/home/sysadmin# svc -u /etc/service/orkaudio
svc: warning: unable to control /etc/service/orkaudio: file does not exist
root@oreka-deb9:/home/sysadmin# ps aux | grep orkaudio
root       1231  0.0  0.0  12780   964 pts/0    S+   20:16   0:00 grep orkaudio
root@oreka-deb9:/home/sysadmin#

EDIT:
Ubuntu 16.04 behavior:

root@oreka-ub1604:/home/sysadmin# svc -u /etc/service/orkaudio
svc: warning: unable to control /etc/service/orkaudio: file does not exist
root@oreka-ub1604:/home/sysadmin# ps aux | grep orkaudio
root       1322  0.0  0.0  14224   972 pts/0    S+   20:19   0:00 grep --color=auto orkaudio
root@oreka-ub1604:/home/sysadmin#

svc: warning: unable to control /etc/service/orkaudio: file does not exist

Can you double check if both daemontools and daemontools-run are installed, else please install with apt install daemontools daemontools-run. /etc/service/orkaudio is a folder which contains the format which daemontools expects. You can try doing a ls /etc/service/orkaudio to verify.

This should work perfectly on a ubuntu 16.04 because I am running this service on our production with this build package itself.

In any case you should be able to run orkaudio and that should automatically fork a background process or for debuging purpose orkaudio debug.

It seems that both Debian 9 and Ubuntu 16.04 didn't installed the daemontools-run:

root@oreka-deb9:/home/sysadmin# apt install daemontools daemontools-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
daemontools is already the newest version (1:0.76-6.1).
The following NEW packages will be installed:
  daemontools-run
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.2 kB of archives.
After this operation, 39.9 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://ftp.pt.debian.org/debian stretch/main amd64 daemontools-run all 1:0.76-6.1 [11.2 kB]
Fetched 11.2 kB in 0s (51.7 kB/s)
Selecting previously unselected package daemontools-run.
(Reading database ... 52610 files and directories currently installed.)
Preparing to unpack .../daemontools-run_1%3a0.76-6.1_all.deb ...
Unpacking daemontools-run (1:0.76-6.1) ...
Setting up daemontools-run (1:0.76-6.1) ...
Adding SV inittab entry...
Processing triggers for man-db (2.7.6.1-2) ...
root@oreka-deb9:/home/sysadmin# ls /etc/service/orkaudio
log  run  supervise
root@oreka-deb9:/home/sysadmin# systemctl start orkaudio
root@oreka-deb9:/home/sysadmin# ps aux | grep orkaudio
root       2188  0.0  0.0   4040   656 ?        S    20:31   0:00 supervise orkaudio
root       2190  0.0  0.0   4056   656 ?        S    20:31   0:00 multilog t s99999 n10 /var/log/orkaudio/svclog
root       2194  0.0  0.7 803572 15356 ?        Ssl  20:31   0:00 /usr/sbin/orkaudio
root       2450  0.0  0.0  12780   908 pts/0    S+   20:35   0:00 grep orkaudio
root@oreka-deb9:/home/sysadmin#

Now both (Debian and Ubuntu) can start successfully the service.

I've just another question but related to the orktrak and orkweb webapps
To have this webapps working, just need to install MySQL database engine working and Tomcat service, and via tomcat gui-manager deploy the 2 war files? Also, is there any specific packages to be installed before deploy the webapps?

Now both (Debian and Ubuntu) can start successfully the service.

Great! I will update the Readme with these instructions.

To have this webapps working, just need to install MySQL database engine working and Tomcat service, and via tomcat gui-manager deploy the 2 war files? Also, is there any specific packages to be installed before deploy the webapps?

Yes, nothing else is required. But you have to verify that the database is precreated, and the config is valid so that the application can create the required tables.

Ok, I've deployed the orkweb.war and orktrak.war files in tomcat, but... what configurations files should I update to make the connection to the local MySQL database engine?
I've already created a database, but I don't know where to put the user/password access to that database...

Create the folder /etc/oreka and create the following files database.hbm.xml example, logging.properties example, logging.xml example, orktrack.config.xml example and configure them as per your need.

I've create the 4 files you've suggested from URL link examples, just made some only adjustments for the configuration of MySQL connection in database.hbm.xml file
Did a restart to orktrack webapp, seems to be fine, it started without problems.
Did a restart to orkweb webapp, and it does not start, at tomcat log file, catalina.out is presented this kind of errors:

Nov 21, 2020 4:42:08 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/byte-buddy-1.10.10.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:08 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/jaxb-api-2.3.1.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:08 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/istack-commons-runtime-3.0.7.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:08 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/stax-ex-1.8.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:08 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/txw2-2.3.1.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:08 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/jaxb-runtime-2.3.1.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:08 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/classmate-1.5.1.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:08 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/FastInfoset-1.2.15.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:08 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
[Fatal Error] logging.properties:1:1: Content is not allowed in prolog.
Nov 21, 2020 4:42:09 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
Nov 21, 2020 4:42:09 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/orkweb] startup failed due to previous errors
Nov 21, 2020 4:42:09 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc
WARNING: The web application [orkweb] registered the JDBC driver [org.logicalcobwebs.proxool.ProxoolDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Nov 21, 2020 4:42:09 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc
WARNING: The web application [orkweb] registered the JDBC driver [com.mysql.cj.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Nov 21, 2020 4:42:09 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads
WARNING: The web application [orkweb] appears to have started a thread named [mysql-cj-abandoned-connection-cleanup] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
 com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:85)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 java.lang.Thread.run(Thread.java:748)
Nov 21, 2020 4:42:09 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads
WARNING: The web application [orkweb] appears to have started a thread named [HouseKeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Thread.sleep(Native Method)
 org.logicalcobwebs.proxool.HouseKeeperThread.run(HouseKeeperThread.java:46)
Nov 21, 2020 4:42:09 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads
WARNING: The web application [orkweb] appears to have started a thread named [Prototyper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 java.lang.Object.wait(Object.java:502)
 org.logicalcobwebs.proxool.PrototyperThread.doWait(PrototyperThread.java:69)
 org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:58)
Nov 21, 2020 4:42:09 PM org.apache.catalina.loader.WebappClassLoaderBase checkThreadLocalMapForLeaks
SEVERE: The web application [orkweb] created a ThreadLocal with key of type [com.sun.xml.bind.v2.ClassFactory$1] (value [com.sun.xml.bind.v2.ClassFactory$1@1b57eff3]) and a value of type [java.util.WeakHashMap] (value [{class org.hibernate.boot.jaxb.cfg.spi.JaxbCfgHibernateConfiguration=java.lang.ref.WeakReference@13b88e32, class java.util.ArrayList=java.lang.ref.WeakReference@53927c8, class org.hibernate.boot.jaxb.cfg.spi.JaxbCfgConfigPropertyType=java.lang.ref.WeakReference@2134fcee, class org.hibernate.boot.jaxb.cfg.spi.JaxbCfgHibernateConfiguration$JaxbCfgSessionFactory=java.lang.ref.WeakReference@5b8a74c}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
Nov 21, 2020 4:42:14 PM org.apache.catalina.loader.WebappClassLoaderBase checkStateForResourceLoading
INFO: Illegal access: this web application instance has been stopped already. Could not load []. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load []. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.

Nov 21, 2020 4:42:15 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/txw2-2.3.1.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:15 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/jaxb-api-2.3.1.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:16 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/byte-buddy-1.10.10.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:16 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/jaxb-runtime-2.3.1.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:16 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/stax-ex-1.8.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:16 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/classmate-1.5.1.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:16 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/FastInfoset-1.2.15.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:16 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:file:/var/lib/tomcat8/webapps/orkweb/WEB-INF/lib/istack-commons-runtime-3.0.7.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Nov 21, 2020 4:42:16 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
[Fatal Error] logging.properties:1:1: Content is not allowed in prolog.
Nov 21, 2020 4:42:17 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
Nov 21, 2020 4:42:17 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/orkweb] startup failed due to previous errors
Nov 21, 2020 4:42:17 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc
WARNING: The web application [orkweb] registered the JDBC driver [org.logicalcobwebs.proxool.ProxoolDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Nov 21, 2020 4:42:17 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc
WARNING: The web application [orkweb] registered the JDBC driver [com.mysql.cj.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Nov 21, 2020 4:42:17 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads
WARNING: The web application [orkweb] appears to have started a thread named [mysql-cj-abandoned-connection-cleanup] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
 com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:85)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 java.lang.Thread.run(Thread.java:748)
Nov 21, 2020 4:42:17 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads
WARNING: The web application [orkweb] appears to have started a thread named [HouseKeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Thread.sleep(Native Method)
 org.logicalcobwebs.proxool.HouseKeeperThread.run(HouseKeeperThread.java:46)
Nov 21, 2020 4:42:17 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads
WARNING: The web application [orkweb] appears to have started a thread named [Prototyper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 java.lang.Object.wait(Object.java:502)
 org.logicalcobwebs.proxool.PrototyperThread.doWait(PrototyperThread.java:69)
 org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:58)
Nov 21, 2020 4:42:17 PM org.apache.catalina.loader.WebappClassLoaderBase checkThreadLocalMapForLeaks
SEVERE: The web application [orkweb] created a ThreadLocal with key of type [com.sun.xml.bind.v2.ClassFactory$1] (value [com.sun.xml.bind.v2.ClassFactory$1@58ef9d50]) and a value of type [java.util.WeakHashMap] (value [{class org.hibernate.boot.jaxb.cfg.spi.JaxbCfgConfigPropertyType=java.lang.ref.WeakReference@6d947181, class java.util.ArrayList=java.lang.ref.WeakReference@6212e452, class org.hibernate.boot.jaxb.cfg.spi.JaxbCfgHibernateConfiguration$JaxbCfgSessionFactory=java.lang.ref.WeakReference@404057f, class org.hibernate.boot.jaxb.cfg.spi.JaxbCfgHibernateConfiguration=java.lang.ref.WeakReference@20251db2}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
Nov 21, 2020 4:42:22 PM org.apache.catalina.loader.WebappClassLoaderBase checkStateForResourceLoading
INFO: Illegal access: this web application instance has been stopped already. Could not load []. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load []. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.

the error log is "abbreviated" so you can see a bit better the errors, in case you need the total log output, let me know.
From what you see, do you have an idea on what's causing this? is it maybe related to a missing configuration parameter?

Well for orkweb I haven't used it yet, and I assumed that it works as it is but it doesn't look like that. Will check this out and get back on this.

Well for orkweb I haven't used it yet, and I assumed that it works as it is but it doesn't look like that. Will check this out and get back on this.

hello,
I would like to know if you had a chance to review/test the orkweb webapp?

thanks

Yes, I was able to get the orkweb app running, here are a few things that I found.

org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

Happens due to Tomcat8 which isn't able to parse java8 tags. Ref https://stackoverflow.com/questions/52867430/invalid-byte-tag-in-constant-pool-19-error-message/52882816 You need to use tomcat8.5 or greater.

Also, there are quite a few dependency issues, which I have tried to fix in #39. Can you please build the latest war from the above pr [ run mvn clean install -DskipTests=true to build] and try it out ?

Please let me know if this works for you.

I prefer to try to install directly the war files into tomcat instead of going to the whole process of compiling, because the last time I've tried to compile, there were still missing packages/libraries to be installed first before compiling. most of the errors about missing libraries were solved by googling for every error I got while compiling, until I got stuck with a library which doesn't exist in official repositories...

So, can you please, update the binaries release web page with your latest updates?
https://github.com/voiceip/oreka/releases

thanks

I see, though maven should automatically download all dependencies for you. Also, releases can be published only after pr is merged. Can you try with the attached war file orkweb.war.zip ?

ok, I've been testing the zip file you provided it still does not start, but this time I'm seeing much less error lines in catalina.out:

[Fatal Error] logging.properties:1:1: Content is not allowed in prolog.
26-Nov-2020 23:58:23.655 SEVERE [http-nio-8080-exec-4] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
26-Nov-2020 23:58:23.660 SEVERE [http-nio-8080-exec-4] org.apache.catalina.core.StandardContext.startInternal Context [/orkweb] startup failed due to previous errors
26-Nov-2020 23:58:23.664 WARNING [http-nio-8080-exec-4] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [orkweb] registered the JDBC driver [org.logicalcobwebs.proxool.ProxoolDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
26-Nov-2020 23:58:23.665 WARNING [http-nio-8080-exec-4] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [orkweb] registered the JDBC driver [com.mysql.cj.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
26-Nov-2020 23:58:23.668 WARNING [http-nio-8080-exec-4] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [orkweb] appears to have started a thread named [mysql-cj-abandoned-connection-cleanup] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
 com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:85)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 java.lang.Thread.run(Thread.java:748)
26-Nov-2020 23:58:23.668 WARNING [http-nio-8080-exec-4] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [orkweb] appears to have started a thread named [HouseKeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Thread.sleep(Native Method)
 org.logicalcobwebs.proxool.HouseKeeperThread.run(HouseKeeperThread.java:46)
26-Nov-2020 23:58:28.652 INFO [mysql-cj-abandoned-connection-cleanup] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already. Could not load []. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
        java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load []. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
                at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1378)
                at org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:1030)
                at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.checkThreadContextClassLoader(AbandonedConnectionCleanupThread.java:117)
                at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:84)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:748)

I'm using Debian9 with Tomcat v8.5.54-0+deb9u4, from official Debian repository.

Anyway, since I see some lines related to BD connection, this is what I have in /etc/oreka/database.hbm.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
                "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>    
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL55Dialect</property>
        <property name="hibernate.connection.maxconnections">256</property>
        <property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost/oreka?useSSL=false</property>
        <property name="hibernate.connection.password">somepassword</property>
        <property name="hibernate.connection.username">root</property>

        <property name="hibernate.hbm2ddl.auto">update</property> <!-- update, create, create-drop -->
        <property name="hibernate.show_sql">false</property>

        <property name="hibernate.jdbc.use_scrollable_resultset">true</property>
        <property name="hibernate.max_fetch_depth">1</property>
        <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
    </session-factory>
</hibernate-configuration>

Can you please confirm if it is right?

[Fatal Error] logging.properties:1:1: Content is not allowed in prolog.

This looks like some issue with the previous build or your installation. Can you remove your previous war + folder and redeploy this one orkweb-2.war.zip ?

Your database.hbm.xml looks fine.

Hello,

First of all, sorry for the late response, about the last war file your provided, I've redeployed the file in Tomcat and now I was able to start the Webapp. But in orkweb webpage, for some reason, I can't make login, it say's Invalid login or password

Here is the orkweb.log file output:

2020-11-30 20:31:38,012 INFO  [http-nio-8080-exec-42] OrkWeb ContextInitialized(): log4jConfigFile is /etc/oreka//logging.xml
2020-11-30 20:31:38,020 INFO  [http-nio-8080-exec-42] ========================================
2020-11-30 20:31:38,020 INFO  [http-nio-8080-exec-42] OrkWeb starting ...
2020-11-30 20:31:38,020 INFO  [http-nio-8080-exec-42] OrkWeb ContextInitialized(): HibernateConfigFile is database.hbm.xml
2020-11-30 20:31:38,040 DEBUG logging [http-nio-8080-exec-42] Logging Provider: org.jboss.logging.Log4j2LoggerProvider
2020-11-30 20:31:38,589 ERROR SqlExceptionHelper [http-nio-8080-exec-42] Access denied for user 'root'@'localhost'
2020-11-30 20:31:38,590 ERROR  [http-nio-8080-exec-42] OrkWeb ContextInitialized(): Error configuring Hibernate: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
2020-11-30 20:31:38,590 DEBUG  [http-nio-8080-exec-42] OrkWeb ContextInitialized(): get Tomcat Home...
2020-11-30 20:31:38,591 INFO  [http-nio-8080-exec-42] OrkWeb ContextInitialized(): TomcatHome is set to /var/lib/tomcat8
2020-11-30 20:31:38,591 DEBUG TomcatServerXMLParser [http-nio-8080-exec-42] parseServerXML() - parsing Tomcat server.xml file, path: /var/lib/tomcat8/conf/server.xml
2020-11-30 20:31:38,595 DEBUG TomcatServerXMLParser [http-nio-8080-exec-42] parseServerXML() - Service found=Service
2020-11-30 20:31:38,596 DEBUG TomcatServerXMLParser [http-nio-8080-exec-42] Service attribute index -  0 - name: connectionTimeout - value: 20000
2020-11-30 20:31:38,596 DEBUG TomcatServerXMLParser [http-nio-8080-exec-42] Service attribute index -  1 - name: port - value: 8080
2020-11-30 20:31:38,596 DEBUG TomcatServerXMLParser [http-nio-8080-exec-42] Service attribute index -  2 - name: protocol - value: HTTP/1.1
2020-11-30 20:31:38,596 DEBUG TomcatServerXMLParser [http-nio-8080-exec-42] Service attribute index -  3 - name: redirectPort - value: 8443
2020-11-30 20:31:38,596 DEBUG TomcatServerXMLParser [http-nio-8080-exec-42] parseServerXML() serverTcpPort=8080 scheme=null audioContextPath=
2020-11-30 20:31:38,596 INFO  [http-nio-8080-exec-42] OrkWeb started successfully.
2020-11-30 20:31:38,596 INFO  [http-nio-8080-exec-42] ----------------------------------------
2020-11-30 20:31:39,074 INFO ApplicationServlet [http-nio-8080-exec-42] Initialized application servlet 'orkweb': 187 millis to create HiveMind Registry, 474 millis overall.
2020-11-30 20:31:46,570 DEBUG UserServiceHbn [http-nio-8080-exec-44] Trying to login user:admin with passwd:admin
2020-11-30 20:31:46,571 ERROR UserServiceHbn [http-nio-8080-exec-44] login: exception:
net.sf.oreka.OrkException: HibernateManager.getSession: application must configure hibernate before using it.
        at net.sf.oreka.HibernateManager.getSession(HibernateManager.java:134) ~[orkbasej-0.0.2-SNAPSHOT.jar:?]
        at net.sf.oreka.services.UserServiceHbn.login(UserServiceHbn.java:28) [classes/:?]
        at net.sf.oreka.pages.HomePage.formSubmit(HomePage.java:52) [classes/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_272]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_272]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_272]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_272]
        at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(ListenerMethodInvokerImpl.java:214) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:155) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(ListenerMethodInvokerImpl.java:124) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:69) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.listener.SyntheticListener.actionTriggered(SyntheticListener.java:51) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(ListenerInvokerTerminator.java:51) [tapestry-4.0.2.jar:?]
        at $ListenerInvoker_1761ada8b1c.invokeListener($ListenerInvoker_1761ada8b1c.java) [?:?]
        at $ListenerInvoker_1761ada8b1b.invokeListener($ListenerInvoker_1761ada8b1b.java) [?:?]
        at org.apache.tapestry.form.AbstractSubmit$1.run(AbstractSubmit.java:88) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.form.FormSupportImpl.runDeferredRunnables(FormSupportImpl.java:608) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.form.FormSupportImpl.rewind(FormSupportImpl.java:589) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.form.Form.renderComponent(Form.java:226) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.form.Form.rewind(Form.java:327) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java:439) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.form.Form.trigger(Form.java:338) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:146) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.engine.DirectService.service(DirectService.java:132) [tapestry-4.0.2.jar:?]
        at $IEngineService_1761ada8b87.service($IEngineService_1761ada8b87.java) [?:?]
        at org.apache.tapestry.services.impl.EngineServiceInnerProxy.service(EngineServiceInnerProxy.java:77) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60) [tapestry-4.0.2.jar:?]
        at $WebRequestServicer_1761ada8b66.service($WebRequestServicer_1761ada8b66.java) [?:?]
        at $WebRequestServicer_1761ada8b65.service($WebRequestServicer_1761ada8b65.java) [?:?]
        at $WebRequestServicer_1761ada8b62.service($WebRequestServicer_1761ada8b62.java) [?:?]
        at $WebRequestServicer_1761ada8b61.service($WebRequestServicer_1761ada8b61.java) [?:?]
        at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56) [tapestry-4.0.2.jar:?]
        at $ServletRequestServicer_1761ada8b48.service($ServletRequestServicer_1761ada8b48.java) [?:?]
        at $ServletRequestServicer_1761ada8b47.service($ServletRequestServicer_1761ada8b47.java) [?:?]
        at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55) [tapestry-4.0.2.jar:?]
        at $ServletRequestServicerFilter_1761ada8b44.service($ServletRequestServicerFilter_1761ada8b44.java) [?:?]
        at $ServletRequestServicerFilter_1761ada8b43.service($ServletRequestServicerFilter_1761ada8b43.java) [?:?]
        at $ServletRequestServicer_1761ada8b49.service($ServletRequestServicer_1761ada8b49.java) [?:?]
        at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52) [tapestry-4.0.2.jar:?]
        at $ServletRequestServicerFilter_1761ada8b42.service($ServletRequestServicerFilter_1761ada8b42.java) [?:?]
        at $ServletRequestServicerFilter_1761ada8b41.service($ServletRequestServicerFilter_1761ada8b41.java) [?:?]
        at $ServletRequestServicer_1761ada8b49.service($ServletRequestServicer_1761ada8b49.java) [?:?]
        at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53) [tapestry-4.0.2.jar:?]
        at $ServletRequestServicerFilter_1761ada8b46.service($ServletRequestServicerFilter_1761ada8b46.java) [?:?]
        at $ServletRequestServicerFilter_1761ada8b45.service($ServletRequestServicerFilter_1761ada8b45.java) [?:?]
        at $ServletRequestServicer_1761ada8b49.service($ServletRequestServicer_1761ada8b49.java) [?:?]
        at $ServletRequestServicer_1761ada8b3c.service($ServletRequestServicer_1761ada8b3c.java) [?:?]
        at $ServletRequestServicer_1761ada8b3b.service($ServletRequestServicer_1761ada8b3b.java) [?:?]
        at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123) [tapestry-4.0.2.jar:?]
        at org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:168) [tapestry-4.0.2.jar:?]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) [tomcat8-servlet-api-8.5.54.jar:?]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) [tomcat8-servlet-api-8.5.54.jar:?]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat8-catalina-8.5.54.jar:8.5.54]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat8-catalina-8.5.54.jar:8.5.54]
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat8-websocket-8.5.54.jar:8.5.54]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat8-catalina-8.5.54.jar:8.5.54]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat8-catalina-8.5.54.jar:8.5.54]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200) [tomcat8-catalina-8.5.54.jar:8.5.54]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat8-catalina-8.5.54.jar:8.5.54]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) [tomcat8-catalina-8.5.54.jar:8.5.54]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [tomcat8-catalina-8.5.54.jar:8.5.54]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [tomcat8-catalina-8.5.54.jar:8.5.54]
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690) [tomcat8-catalina-8.5.54.jar:8.5.54]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat8-catalina-8.5.54.jar:8.5.54]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat8-catalina-8.5.54.jar:8.5.54]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615) [tomcat8-coyote-8.5.54.jar:8.5.54]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat8-coyote-8.5.54.jar:8.5.54]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818) [tomcat8-coyote-8.5.54.jar:8.5.54]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1627) [tomcat8-coyote-8.5.54.jar:8.5.54]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat8-coyote-8.5.54.jar:8.5.54]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_272]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_272]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat8-util-8.5.54.jar:8.5.54]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_272]

By the way, just a note, I got a few error lines in catalina.out about access denied in /var/log/ folder, so to get this log output from orkweb webapp, add to do the following commands:
mkdir /var/log/orkweb
chown -Rv tomcat8:adm /var/log/orkweb/

So the orkweb could create the log files with the correct permissions from the tomcat8 service.

In case you need more info about the issue I'm having, please let me know.

Thanks

2020-11-30 20:31:38,589 ERROR SqlExceptionHelper [http-nio-8080-exec-42] Access denied for user 'root'@'localhost'

Please check your database configuration it looks that connection is being rejected.

By the way, just a note, I got a few error lines in catalina.out about access denied in /var/log/ folder, so to get this log output from orkweb webapp, add to do the following commands:

Log folders are supposed to be pre-created as war doesn't have permission to create unless everyone has write permissions in /var/log. This is expected behavior, and I will add this as instructions in the wiki. For orkaudio this happens automatically as that is packaged as debian which takes care of creating the folders during the installation steps.

You're right, my bad, for some reason orkweb was not getting successful connection to MySQL, so I've created a specific user for the orkweb webapp with access permissions to the oreka database, and now it works, it let me login without problems.

I've checked the database, and I see that webapp was able to create all the tables:

root@oreka-deb9:/home/sysadmin# mysql -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 36
Server version: 10.1.47-MariaDB-0+deb9u1 Debian 9.13

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> use oreka;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [oreka]> show tables;
+-----------------+
| Tables_in_oreka |
+-----------------+
| orkdomain       |
| orkloginstring  |
| orkport         |
| orkprogram      |
| orkprogtoseg    |
| orksegment      |
| orkservice      |
| orksession      |
| orktape         |
| orkuser         |
+-----------------+
10 rows in set (0.01 sec)

MariaDB [oreka]>

I believe that everything has been solved, thank you so much for the help in solving these issues.

No problem, thanks for testing this though :)


For folks who are visiting this thread later for issues related to installation please follow the wiki.