Fitnesse: Slim server fails to start; using Eclipse - java

I'm trying to get a very basic Fitnesse test to run; using Fitnesse / Slim; Java in Eclipse.
Test runs, or at least starts, but doesn't finish; get this error:
Unable to start test system 'slim': fitnesse.slim.SlimError: Error SLiM server died before a connection could be established. JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]
Fitnesse test is:
!define TEST_SYSTEM {slim}
!path: C:\Users\<my folder>\EclipseWorkspace\CalculatorProject
| import | packageCalculator |
| TestCalculator |
| operand | result? |
| 4 | 8 |
| 2 | 4 |
| 7 | 14 |
| 2 | 4 |
This is a similar issue: Fitnesse: SLiM server died before a connection could be established; suggests this might be a regression bug; but I tried earlier versions of fitnesse, which made no difference
And it's not this one either: https://github.com/unclebob/fitnesse/issues/726; there is no space in the classpath
Help!!!

Related

How to undo a migration using Flyway?

I am working on a Spring project and I have FlyWay as a dependency to manage my migrations, I made a mistake on the SQL command. When I ran the project I got an error showing a problem with the script, a silly mistake that was easy to fix, I misspelled a column name. However, the undo command from the flyway is not working.
I was trying to undo a migration using FlyWay and I follow the tutorial from FlyWay documentation: link-flyway
However, I got this output:
C:\Users\leonardo.freitas\Documents\workspace\api>C:\Users\leonardo.freitas\Documents\workspace\flyway-9.8.1\flyway undo
A new version of Flyway is available
Upgrade to Flyway 9.8.2: https://rd.gt/2X0gakb
ERROR: The command 'undo' was not recognized. Make sure you have added 'flyway-proprietary' as a dependency.
Caused by: No command extension found to handle command: undo
That's my migration history:
C:\Users\leonardo.freitas\Documents\workspace\api>C:\Users\leonardo.freitas\Documents\workspace\flyway-9.8.1\flyway info
A new version of Flyway is available
Upgrade to Flyway 9.8.2: https://rd.gt/2X0gakb
Flyway Community Edition 9.8.1 by Redgate
See what's new here: https://flywaydb.org/documentation/learnmore/releaseNotes#9.8.1
ERROR: Skipping filesystem location: sql (not found)
Database: jdbc:mysql://localhost:3306/volimed (MySQL 8.0)
Schema version: 5
+-----------+---------+----------------------------------------+------+---------------------+-----------------+----------+
| Category | Version | Description | Type | Installed On | State | Undoable |
C:\Users\leonardo.freitas\Documents\workspace\api>C:\Users\leonardo.freitas\Documents\workspace\flyway-9.8.1\flyway info
A new version of Flyway is available
Upgrade to Flyway 9.8.2: https://rd.gt/2X0gakb
Flyway Community Edition 9.8.1 by Redgate
See what's new here: https://flywaydb.org/documentation/learnmore/releaseNotes#9.8.1
ERROR: Skipping filesystem location: sql (not found)
Database: jdbc:mysql://localhost:3306/volimed (MySQL 8.0)
Schema version: 5
+-----------+---------+----------------------------------------+------+---------------------+-----------------+----------+
| Category | Version | Description | Type | Installed On | State | Undoable |
+-----------+---------+----------------------------------------+------+---------------------+-----------------+----------+
| Versioned | 1 | create-table-medicos | SQL | 2022-11-19 03:12:19 | Future | No |
| Versioned | 2 | alter-table-medicos-add-telefone | SQL | 2022-11-19 13:32:45 | Future | No |
| Versioned | 3 | create-table-pacientes | SQL | 2022-11-19 13:46:17 | Future | No |
| Versioned | 4 | alter-table-medicos-add-column-active | SQL | 2022-11-19 15:28:46 | Future | No |
| Versioned | 5 | alter-table-paciente-add-column-active | SQL | 2022-11-19 15:45:28 | Failed (Future) | No |
+-----------+---------+----------------------------------------+------+---------------------+-----------------+----------+
And I want to redu the last migration.
Undo command is supported in both the Teams and Enterprise edition . Flyway Enterprise is the only version with auto generation of Undo scripts though. Bill, could you point me towards where the information is conflicting?
I find out a way to resolve this problem, I went to the FlyWay table and deleted the last row, when I ran the project the FlyWay applied the migration again.

How to get the actual start time of the service using ManagementFactory.getRuntimeMXBean().getStartTime()

I have to implement a logic based on the JVM StartTime. How may I get the actual start time of the JVM? Even the JVM restarts internally also can I able to use this ManagementFactory.getRuntimeMXBean().getStartTime() method?
Below is the sample of logs of the service which I run in my environment.
I have started the windows service # 01/01/2022 10:00:00 by which the code is created using Java. By the time the wrapper service prints the logs like below,
STATUS | wrapper | 2022/01/01 10:00:00 | Launching a JVM...
INFO | jvm 1 | 2022/01/01 10:00:00 | WrapperManager: Initializing...
INFO | jvm 1 | 2022/01/01 10:00:00 | Wrapper startup method..
After some period of time wrapper service prints, the logs like JVM is restarting and the new JVM to be launch,
STATUS | wrapper | 2022/01/01 10:58:01 | JVM requested a restart.
INFO | jvm 1 | 2022/01/01 10:58:02 | Going to shutdown the all threads...0
STATUS | wrapper | 2022/01/01 10:58:09 | Launching a JVM...
INFO | jvm 2 | 2022/01/01 10:58:09 | WrapperManager: Initializing...
INFO | jvm 2 | 2022/01/01 10:58:09 | Wrapper startup method..
What the doubt is even if the JVM is launching again internally without restarting the service manually will this ManagementFactory.getRuntimeMXBean().getStartTime() method returns the start time as 01/01/2022 10:00:00???
Someone help me in this context to find the actual start time of the service.

ActiveMQ shuts down on startup with "TERM Trapped"

I'm currently using the java service wrapper to start my ActiveMQ (5.10) service running on Ubuntu 14.04.1 LTS. Every now and then when my Jenkins instance runs the last step in my deploy script
cd /app/apache-activemq-5.10.0/bin/linux-x86-64; ./activemq restart
the wrapper will try to start up, then immediately shutdown with the following log entries.
STATUS | wrapper | 2014/10/09 08:15:09 | --> Wrapper Started as Daemon
STATUS | wrapper | 2014/10/09 08:15:09 | Launching a JVM...
STATUS | wrapper | 2014/10/09 08:15:09 | TERM trapped. Shutting down.
WARN | wrapper | 2014/10/09 08:15:09 | JVM exited unexpectedly while stopping the application.
STATUS | wrapper | 2014/10/09 08:15:09 | <-- Wrapper Stopped
I haven't got a clue why this is happening. Ideas anyone?

Fuse ESB mysteriously hangs - "JVM appears hung: Timed out waiting for signal from JVM."

My Fuse ESB application suddenly stopped, with no clues in fuseesb.log and the following weird log items in wrapper.log:
ERROR | wrapper | 2014/02/12 02:36:59 | JVM appears hung: Timed out waiting for signal from JVM.
ERROR | wrapper | 2014/02/12 02:36:59 | JVM did not exit on request, terminated
STATUS | wrapper | 2014/02/12 02:37:02 | JVM exited in response to signal SIGKILL (9).
ERROR | wrapper | 2014/02/12 02:37:02 | Unable to start a JVM
STATUS | wrapper | 2014/02/12 02:37:02 | <-- Wrapper Stopped
We are using Nagios to monitor the system.
System info: FuseESBEnterprise-7.1.0 / linux-gnu (x86_64).
For various reasons we need to sick with Fuse ESB (not possible to migrate to JBoss Fuse...)
This was a system issue - the vm hung.
You can catch this kind of condition in one of two ways:
monitor the java jvm process
monitor the wrapper.log file for errors

Error while making Java window Service using Tanuki Software

I am using Tanuki Software to make a window service for java. Here is my config file.
#encoding=UTF-8
# Configuration files must begin with a line specifying the encoding
# of the the file.
#********************************************************************
# Wrapper License Properties (Ignored by Community Edition)
#********************************************************************
# Professional and Standard Editions of the Wrapper require a valid
# License Key to start. Licenses can be purchased or a trial license
# requested on the following pages:
# http://wrapper.tanukisoftware.com/purchase
# http://wrapper.tanukisoftware.com/trial
# Include file problems can be debugged by removing the first '#'
# from the following line:
##include.debug
# The Wrapper will look for either of the following optional files for a
# valid License Key. License Key properties can optionally be included
# directly in this configuration file.
#include ../conf/wrapper-license.conf
#include ../conf/wrapper-license-%WRAPPER_HOST_NAME%.conf
# The following property will output information about which License Key(s)
# are being found, and can aid in resolving any licensing problems.
#wrapper.license.debug=TRUE
#********************************************************************
# Wrapper Localization
#********************************************************************
# Specify the locale which the Wrapper should use. By default the system
# locale is used.
#wrapper.lang=en_US # en_US or ja_JP
# Specify the location of the Wrapper's language resources. If these are
# missing, the Wrapper will default to the en_US locale.
wrapper.lang.folder=../lang
#********************************************************************
# Wrapper Java Properties
#********************************************************************
# Java Application
# Locate the java binary on the system PATH:
wrapper.java.command=java
# Specify a specific java binary:
#set.JAVA_HOME=/java/path
#wrapper.java.command=%JAVA_HOME%/bin/java
# Tell the Wrapper to log the full generated Java command line.
#wrapper.java.command.loglevel=INFO
# Java Main class. This class must implement the WrapperListener interface
# or guarantee that the WrapperManager class is initialized. Helper
# classes are provided to do this for you. See the Integration section
# of the documentation for details.
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
# Java Classpath (include wrapper.jar) Add class path elements as
# needed starting from 1
wrapper.java.classpath.1=sendmaill.SendMail
wrapper.java.classpath.2=../lib/wrapper.jar
wrapper.java.classpath.3=sendmaill.jar
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=../lib
# Java Bits. On applicable platforms, tells the JVM to run in 32 or 64-bit mode.
wrapper.java.additional.auto_bits=TRUE
# Java Additional Parameters
wrapper.java.additional.1=
# Initial Java Heap Size (in MB)
#wrapper.java.initmemory=3
# Maximum Java Heap Size (in MB)
#wrapper.java.maxmemory=64
# Application parameters. Add parameters as needed starting from 1
#wrapper.app.parameter.1=
#********************************************************************
# Wrapper Logging Properties
#********************************************************************
# Enables Debug output from the Wrapper.
# wrapper.debug=TRUE
# Format of output for the console. (See docs for formats)
wrapper.console.format=PM
# Log Level for console output. (See docs for log levels)
wrapper.console.loglevel=INFO
# Log file to use for wrapper output logging.
wrapper.logfile=../logs/wrapper.log
# Format of output for the log file. (See docs for formats)
wrapper.logfile.format=LPTM
# Log Level for log file output. (See docs for log levels)
wrapper.logfile.loglevel=INFO
# Maximum size that the log file will be allowed to grow to before
# the log is rolled. Size is specified in bytes. The default value
# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
# 'm' (mb) suffix. For example: 10m = 10 megabytes.
wrapper.logfile.maxsize=0
# Maximum number of rolled log files which will be allowed before old
# files are deleted. The default value of 0 implies no limit.
wrapper.logfile.maxfiles=0
# Log Level for sys/event log output. (See docs for log levels)
wrapper.syslog.loglevel=NONE
#********************************************************************
# Wrapper General Properties
#********************************************************************
# Allow for the use of non-contiguous numbered properties
wrapper.ignore_sequence_gaps=TRUE
# Do not start if the pid file already exists.
wrapper.pidfile.strict=TRUE
# Title to use when running as a console
wrapper.console.title=Test Wrapper Sample Application
#********************************************************************
# Wrapper JVM Checks
#********************************************************************
# Detect DeadLocked Threads in the JVM. (Requires Standard Edition)
wrapper.check.deadlock=TRUE
wrapper.check.deadlock.interval=10
wrapper.check.deadlock.action=RESTART
wrapper.check.deadlock.output=FULL
# Out Of Memory detection.
# (Ignore output from dumping the configuration to the console. This is only needed by the TestWrapper sample application.)
wrapper.filter.trigger.999=wrapper.filter.trigger.*java.lang.OutOfMemoryError
wrapper.filter.allow_wildcards.999=TRUE
wrapper.filter.action.999=NONE
# Ignore -verbose:class output to avoid false positives.
wrapper.filter.trigger.1000=[Loaded java.lang.OutOfMemoryError
wrapper.filter.action.1000=NONE
# (Simple match)
wrapper.filter.trigger.1001=java.lang.OutOfMemoryError
# (Only match text in stack traces if -XX:+PrintClassHistogram is being used.)
#wrapper.filter.trigger.1001=Exception in thread "*" java.lang.OutOfMemoryError
#wrapper.filter.allow_wildcards.1001=TRUE
wrapper.filter.action.1001=RESTART
wrapper.filter.message.1001=The JVM has run out of memory.
#********************************************************************
# Wrapper Email Notifications. (Requires Professional Edition)
#********************************************************************
# Common Event Email settings.
#wrapper.event.default.email.debug=TRUE
#wrapper.event.default.email.smtp.host=<SMTP_Host>
#wrapper.event.default.email.smtp.port=25
#wrapper.event.default.email.subject=[%WRAPPER_HOSTNAME%:%WRAPPER_NAME%:%WRAPPER_EVENT_NAME%] Event Notification
#wrapper.event.default.email.sender=<Sender email>
#wrapper.event.default.email.recipient=<Recipient email>
# Configure the log attached to event emails.
#wrapper.event.default.email.attach_log=TRUE
#wrapper.event.default.email.maillog.lines=50
#wrapper.event.default.email.maillog.format=LPTM
#wrapper.event.default.email.maillog.loglevel=INFO
# Enable specific event emails.
#wrapper.event.wrapper_start.email=TRUE
#wrapper.event.jvm_prelaunch.email=TRUE
#wrapper.event.jvm_start.email=TRUE
#wrapper.event.jvm_started.email=TRUE
#wrapper.event.jvm_deadlock.email=TRUE
#wrapper.event.jvm_stop.email=TRUE
#wrapper.event.jvm_stopped.email=TRUE
#wrapper.event.jvm_restart.email=TRUE
#wrapper.event.jvm_failed_invocation.email=TRUE
#wrapper.event.jvm_max_failed_invocations.email=TRUE
#wrapper.event.jvm_kill.email=TRUE
#wrapper.event.jvm_killed.email=TRUE
#wrapper.event.jvm_unexpected_exit.email=TRUE
#wrapper.event.wrapper_stop.email=TRUE
# Specify custom mail content
wrapper.event.jvm_restart.email.body=The JVM was restarted.\n\nPlease check on its status.\n
#********************************************************************
# Wrapper Windows NT/2000/XP Service Properties
#********************************************************************
# WARNING - Do not modify any of these properties when an application
# using this configuration file has been installed as a service.
# Please uninstall the service before modifying this section. The
# service can then be reinstalled.
# Name of the service
wrapper.name=SendMail
# Display name of the service
wrapper.displayname=SendMail
# Description of the service
wrapper.description=Send Mail
# Service dependencies. Add dependencies as needed starting from 1
wrapper.ntservice.dependency.1=
# Mode in which the service is installed. AUTO_START, DELAY_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START
# Allow the service to interact with the desktop.
wrapper.ntservice.interactive=false
SendMail is the name of my class while sendmaill is my jar file.
When i will run StartTestWrapper-NT.bat file its give an error. I can see my service in the window services but when i click it to start it through an error.
Here is the log file tanuki software.
NOTICE | wrapper | 2013/12/31 18:13:03 | --------------------------------------------------------------------
NOTICE | wrapper | 2013/12/31 18:13:03 |
STATUS | wrapper | 2013/12/31 18:13:03 |
STATUS | wrapper | 2013/12/31 18:13:03 | Launching a JVM...
INFO | jvm 1 | 2013/12/31 18:13:04 | WrapperManager: Initializing...
INFO | jvm 1 | 2013/12/31 18:13:04 |
INFO | jvm 1 | 2013/12/31 18:13:04 | WrapperSimpleApp Usage:
INFO | jvm 1 | 2013/12/31 18:13:04 | java org.tanukisoftware.wrapper.WrapperSimpleApp {app_class{/app_method}} [app_arguments]
INFO | jvm 1 | 2013/12/31 18:13:04 |
INFO | jvm 1 | 2013/12/31 18:13:04 | Where:
INFO | jvm 1 | 2013/12/31 18:13:04 | app_class: The fully qualified class name of the application to run.
INFO | jvm 1 | 2013/12/31 18:13:04 | app_arguments: The arguments that would normally be passed to the
INFO | jvm 1 | 2013/12/31 18:13:04 | application.
ERROR | wrapper | 2013/12/31 18:13:06 | JVM exited while loading the application.
INFO | wrapperm | 2013/12/31 18:13:08 | Waiting to start...
STATUS | wrapper | 2013/12/31 18:13:10 | Launching a JVM...
INFO | jvm 2 | 2013/12/31 18:13:10 | WrapperManager: Initializing...
INFO | jvm 2 | 2013/12/31 18:13:10 |
INFO | jvm 2 | 2013/12/31 18:13:10 | WrapperSimpleApp Usage:
INFO | jvm 2 | 2013/12/31 18:13:10 | java org.tanukisoftware.wrapper.WrapperSimpleApp {app_class{/app_method}} [app_arguments]
INFO | jvm 2 | 2013/12/31 18:13:10 |
INFO | jvm 2 | 2013/12/31 18:13:10 | Where:
INFO | jvm 2 | 2013/12/31 18:13:10 | app_class: The fully qualified class name of the application to run.
INFO | jvm 2 | 2013/12/31 18:13:10 | app_arguments: The arguments that would normally be passed to the
INFO | jvm 2 | 2013/12/31 18:13:10 | application.
INFO | wrapperm | 2013/12/31 18:13:13 | Waiting to start...
ERROR | wrapper | 2013/12/31 18:13:12 | JVM exited while loading the application.
STATUS | wrapper | 2013/12/31 18:13:17 | Launching a JVM...
INFO | wrapperm | 2013/12/31 18:13:18 | Waiting to start...
INFO | jvm 3 | 2013/12/31 18:13:17 | WrapperManager: Initializing...
INFO | jvm 3 | 2013/12/31 18:13:17 |
INFO | jvm 3 | 2013/12/31 18:13:17 | WrapperSimpleApp Usage:
INFO | jvm 3 | 2013/12/31 18:13:17 | java org.tanukisoftware.wrapper.WrapperSimpleApp {app_class{/app_method}} [app_arguments]
INFO | jvm 3 | 2013/12/31 18:13:17 |
INFO | jvm 3 | 2013/12/31 18:13:17 | Where:
INFO | jvm 3 | 2013/12/31 18:13:17 | app_class: The fully qualified class name of the application to run.
INFO | jvm 3 | 2013/12/31 18:13:17 | app_arguments: The arguments that would normally be passed to the
INFO | jvm 3 | 2013/12/31 18:13:17 | application.
ERROR | wrapper | 2013/12/31 18:13:19 | JVM exited while loading the application.
INFO | wrapperm | 2013/12/31 18:13:23 | Waiting to start...
STATUS | wrapper | 2013/12/31 18:13:23 | Launching a JVM...
INFO | jvm 4 | 2013/12/31 18:13:24 | WrapperManager: Initializing...
INFO | jvm 4 | 2013/12/31 18:13:24 |
INFO | jvm 4 | 2013/12/31 18:13:24 | WrapperSimpleApp Usage:
INFO | jvm 4 | 2013/12/31 18:13:24 | java org.tanukisoftware.wrapper.WrapperSimpleApp {app_class{/app_method}} [app_arguments]
INFO | jvm 4 | 2013/12/31 18:13:24 |
INFO | jvm 4 | 2013/12/31 18:13:24 | Where:
INFO | jvm 4 | 2013/12/31 18:13:24 | app_class: The fully qualified class name of the application to run.
INFO | jvm 4 | 2013/12/31 18:13:24 | app_arguments: The arguments that would normally be passed to the
INFO | jvm 4 | 2013/12/31 18:13:24 | application.
ERROR | wrapper | 2013/12/31 18:13:26 | JVM exited while loading the application.
INFO | wrapperm | 2013/12/31 18:13:28 | Waiting to start...
STATUS | wrapper | 2013/12/31 18:13:30 | Launching a JVM...
INFO | jvm 5 | 2013/12/31 18:13:30 | WrapperManager: Initializing...
INFO | jvm 5 | 2013/12/31 18:13:30 |
INFO | jvm 5 | 2013/12/31 18:13:30 | WrapperSimpleApp Usage:
INFO | jvm 5 | 2013/12/31 18:13:30 | java org.tanukisoftware.wrapper.WrapperSimpleApp {app_class{/app_method}} [app_arguments]
INFO | jvm 5 | 2013/12/31 18:13:30 |
INFO | jvm 5 | 2013/12/31 18:13:30 | Where:
INFO | jvm 5 | 2013/12/31 18:13:30 | app_class: The fully qualified class name of the application to run.
INFO | jvm 5 | 2013/12/31 18:13:30 | app_arguments: The arguments that would normally be passed to the
INFO | jvm 5 | 2013/12/31 18:13:30 | application.
ERROR | wrapper | 2013/12/31 18:13:32 | JVM exited while loading the application.
FATAL | wrapper | 2013/12/31 18:13:33 | There were 5 failed launches in a row, each lasting less than 300 seconds. Giving up.
FATAL | wrapper | 2013/12/31 18:13:33 | There may be a configuration problem: please check the logs.
STATUS | wrapper | 2013/12/31 18:13:33 | <-- Wrapper Stopped
INFO | wrapperm | 2013/12/31 18:13:33 | Waiting to start...
ERROR | wrapperm | 2013/12/31 18:13:34 | The SendMail service was launched, but failed to start.
ERROR | wrapperm | 2013/12/31 18:13:34 | Please check the log file more information: F:\Java Work\wrapper-windows-x86-64-3.5.22-st\wrapper-windows-x86-64-3.5.22-st\logs\wrapper.log
Any Help is very appreciable.
Malik,
The problem is that the WrapperSimpleApp class expects a class name as an argument. You are not currently passing any arguments. Please try adding the following:
wrapper.app.parameter.1=SendMail
This assumes that the full class name of your main class is "SendMail" as you said.
Cheers,
Leif

Categories