History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QB-2641
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Robin Shen
Reporter: John Szakmeister
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
QuickBuild

Java Service Wrapper no longer works correctly under FreeBSD 10.1...

Created: 23/Feb/16 01:40 PM   Updated: 09/Jul/16 12:09 AM
Component/s: None
Affects Version/s: 6.1.0
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Environment: FreeBSD 10.1


 Description  « Hide
It appears that FreeBSD renamed iconv_open() to libiconv_open() and it's causing the Java Service Wrapper binary to fail. For now, I've moved the wrapper binaries and libraries from bin/ and am using the version I can install through pkg. I think you might need to pull in an updated version... it looks like version 3.5.23 or better from the ticket: https://sourceforge.net/p/wrapper/bugs/283/.

What I find especially odd is that this had been working until recently after updating some things in FreeBSD. I guess what I had was pretty out-of-date (we don't tend to keep it very up-to-date, since some of the tooling is rather... primitive).

 All   Comments   Work Log   Change History      Sort Order:
Robin Shen [24/Feb/16 12:27 AM]
Is your FreeBSD running QB server or build agent?

John Szakmeister [24/Feb/16 01:41 PM]
The build agent.

Robin Shen [25/Feb/16 12:21 AM]
Can you please upgrade to QB 6.1.5 and re-install the build agent to see if it works? In 6.1.5 we've updated JSW to 3.5.28

John Szakmeister [26/Feb/16 12:00 PM]
Is there a way to re-install the build agent without losing all my settings and attributes for the node?

John Szakmeister [26/Feb/16 12:12 PM]
Now the main quickbuild server won't start. It dies with this error:

root@boba:/home/quickbuild/quickbuild-6.1.5/logs# cat ~quickbuild/quickbuild-6.1.5/logs/console.log
wrapper | --> Wrapper Started as Daemon
wrapper | Java Service Wrapper Standard Edition 64-bit 3.5.28
wrapper | Copyright (C) 1999-2016 Tanuki Software, Ltd. All Rights Reserved.
wrapper | http://wrapper.tanukisoftware.com
wrapper | Licensed to PMEase Inc. for QuickBuild
wrapper |
wrapper | Launching a JVM...
jvm 1 | WrapperManager: Initializing...
jvm 1 | 2016-02-26 07:09:17,061 INFO - Cleaning cached plugin libraries...
jvm 1 | 2016-02-26 07:09:17,212 INFO - Cleaning temp directory...
jvm 1 | 2016-02-26 07:09:17,221 INFO - Benchmarking...
jvm 1 | 2016-02-26 07:09:19,866 INFO - Booting QuickBuild from '/home/quickbuild/quickbuild-6.1.5'...
jvm 1 | 2016-02-26 07:09:19,871 INFO - Starting framework...
jvm 1 | 2016-02-26 07:09:19,945 INFO - Caching plugin libraries...
jvm 1 | 2016-02-26 07:09:23,927 INFO - Starting QuickBuild server...
jvm 1 | 2016-02-26 07:09:23,936 INFO - Initializing velocity...
jvm 1 | 2016-02-26 07:09:25,253 INFO - Checking data version...
jvm 1 | 2016-02-26 07:09:25,499 INFO - QuickBuild version table found. Catalog: null, Schema: public, Name: qb_setting, Type: TABLE
jvm 1 | 2016-02-26 07:09:25,554 INFO - Checking data...
jvm 1 | 2016-02-26 07:09:31,286 INFO - Initializing caches...
jvm 1 | 2016-02-26 07:09:31,833 INFO - Starting plugins...
jvm 1 | 2016-02-26 07:09:32,357 WARN - Plugin 'com.pmease.quickbuild.plugin.notifier.jabber' is not enabled as it needs to be configured.
jvm 1 | 2016-02-26 07:09:32,395 WARN - Plugin 'com.pmease.quickbuild.plugin.notifier.msn' is not enabled as it needs to be configured.
jvm 1 | 2016-02-26 07:09:32,419 WARN - Plugin 'com.pmease.quickbuild.plugin.artifactory' is not enabled as it needs to be configured.
jvm 1 | 2016-02-26 07:09:32,686 WARN - Plugin 'com.pmease.quickbuild.plugin.cloud.ec2' is not enabled as it needs to be configured.
jvm 1 | 2016-02-26 07:09:32,701 INFO - Constructing report category for plugin: PMD Report (6.1.0)
jvm 1 | 2016-02-26 07:09:33,217 INFO - Constructing report category for plugin: SCM Changes (6.1.0)
jvm 1 | 2016-02-26 07:09:33,366 INFO - Constructing report category for plugin: TestNG Report (6.1.3)
jvm 1 | 2016-02-26 07:09:33,598 INFO - Constructing report category for plugin: Valgrind Report (6.1.0)
jvm 1 | 2016-02-26 07:09:33,658 INFO - Constructing report category for plugin: NCover Report (6.1.0)
jvm 1 | 2016-02-26 07:09:33,848 INFO - Constructing report category for plugin: Clover Report (6.1.0)
jvm 1 | 2016-02-26 07:09:34,046 INFO - Constructing report category for plugin: MBUnit Report (6.1.0)
jvm 1 | 2016-02-26 07:09:34,238 INFO - Constructing report category for plugin: Codenarc Report (6.1.5)
jvm 1 | 2016-02-26 07:09:34,391 INFO - Constructing report category for plugin: JUnit Report (6.1.3)
jvm 1 | 2016-02-26 07:09:34,629 INFO - Constructing report category for plugin: CPD Report (6.1.0)
jvm 1 | 2016-02-26 07:09:34,669 INFO - Constructing report category for plugin: MSTest report (6.1.0)
jvm 1 | 2016-02-26 07:09:34,826 INFO - Constructing report category for plugin: Test Anything Protocol (TAP) (6.1.0)
jvm 1 | 2016-02-26 07:09:34,934 INFO - Constructing report category for plugin: Coverity Report (6.1.0)
jvm 1 | 2016-02-26 07:09:35,025 INFO - Constructing report category for plugin: Checkstyle Report (6.1.0)
jvm 1 | 2016-02-26 07:09:35,167 INFO - Constructing report category for plugin: Cppcheck Report (6.1.0)
jvm 1 | 2016-02-26 07:09:35,246 INFO - Constructing report category for plugin: Fxcop Report (6.1.0)
jvm 1 | 2016-02-26 07:09:35,394 INFO - Constructing report category for plugin: Findbugs Report (6.1.0)
jvm 1 | 2016-02-26 07:09:35,555 INFO - Constructing report category for plugin: Jacoco Coverage (6.1.0)
jvm 1 | 2016-02-26 07:09:35,646 INFO - Constructing report category for plugin: JMeter Report (6.1.0)
jvm 1 | 2016-02-26 07:09:35,754 INFO - Constructing report category for plugin: NUnit Report (6.1.0)
jvm 1 | 2016-02-26 07:09:35,919 INFO - Constructing report category for plugin: Build Statistics (6.1.0)
jvm 1 | 2016-02-26 07:09:35,952 INFO - Constructing report category for plugin: Cobertura Report (6.1.0)
jvm 1 | 2016-02-26 07:09:36,065 INFO - Constructing report category for plugin: EMMA Report (6.1.0)
jvm 1 | 2016-02-26 07:09:36,209 INFO - Constructing report category for plugin: Boost Test Integration (6.1.0)
jvm 1 | 2016-02-26 07:09:36,539 INFO - Constructing report category for plugin: Lua Busted (6.1.0)
jvm 1 | 2016-02-26 07:09:36,690 INFO - Constructing report category for plugin: Bugzilla Integration (6.1.0)
jvm 1 | 2016-02-26 07:09:36,731 INFO - Constructing report category for plugin: Atlassian Jira Integration (6.1.5)
jvm 1 | 2016-02-26 07:09:36,789 INFO - Constructing report category for plugin: CollabNet TeamForge Integration (6.1.0)
jvm 1 | 2016-02-26 07:09:36,820 INFO - Constructing report category for plugin: Trac Integration (6.1.0)
jvm 1 | 2016-02-26 07:09:36,935 INFO - Constructing report category for plugin: Redmine Integration (6.1.0)
jvm 1 | 2016-02-26 07:09:37,022 INFO - Constructing report category for plugin: GitHub Integration (6.1.0)
jvm 1 | 2016-02-26 07:09:37,428 INFO - Starting build engine...
jvm 1 | WrapperStartStopApp:
jvm 1 | WrapperStartStopApp Error: Encountered an error running start main: java.lang.reflect.InvocationTargetException
jvm 1 | WrapperStartStopApp Error: java.lang.reflect.InvocationTargetException
jvm 1 | WrapperStartStopApp Error: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1 | WrapperStartStopApp Error: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
jvm 1 | WrapperStartStopApp Error: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
jvm 1 | WrapperStartStopApp Error: at java.lang.reflect.Method.invoke(Method.java:497)
jvm 1 | WrapperStartStopApp Error: at com.pmease.quickbuild.bootstrap.Bootstrap.boot(Bootstrap.java:576)
jvm 1 | WrapperStartStopApp Error: at com.pmease.quickbuild.bootstrap.Bootstrap.main(Bootstrap.java:126)
jvm 1 | WrapperStartStopApp Error: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1 | WrapperStartStopApp Error: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
jvm 1 | WrapperStartStopApp Error: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
jvm 1 | WrapperStartStopApp Error: at java.lang.reflect.Method.invoke(Method.java:497)
jvm 1 | WrapperStartStopApp Error: at org.tanukisoftware.wrapper.WrapperStartStopApp.run(WrapperStartStopApp.java:398)
jvm 1 | WrapperStartStopApp Error: at java.lang.Thread.run(Thread.java:745)
jvm 1 | WrapperStartStopApp Error: Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
jvm 1 | WrapperStartStopApp Error: at com.pmease.quickbuild.bootstrap.BootstrapUtils.wrapAsUnchecked(BootstrapUtils.java:56)
jvm 1 | WrapperStartStopApp Error: at com.pmease.quickbuild.equinoxadapter.EquinoxAdapter.startup(EquinoxAdapter.java:61)
jvm 1 | WrapperStartStopApp Error: ... 12 more
jvm 1 | WrapperStartStopApp Error: Caused by: java.lang.reflect.InvocationTargetException
jvm 1 | WrapperStartStopApp Error: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1 | WrapperStartStopApp Error: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
jvm 1 | WrapperStartStopApp Error: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
jvm 1 | WrapperStartStopApp Error: at java.lang.reflect.Method.invoke(Method.java:497)
jvm 1 | WrapperStartStopApp Error: at com.pmease.quickbuild.equinoxadapter.EquinoxAdapter.startup(EquinoxAdapter.java:59)
jvm 1 | WrapperStartStopApp Error: ... 12 more
jvm 1 | WrapperStartStopApp Error: Caused by: org.hibernate.type.SerializationException: could not deserialize
jvm 1 | WrapperStartStopApp Error: at org.hibernate.internal.util.SerializationHelper.doDeserialize(SerializationHelper.java:250)
jvm 1 | WrapperStartStopApp Error: at org.hibernate.internal.util.SerializationHelper.deserialize(SerializationHelper.java:284)
jvm 1 | WrapperStartStopApp Error: at com.pmease.quickbuild.DefaultBuildEngine.startup(DefaultBuildEngine.java:1544)
jvm 1 | WrapperStartStopApp Error: at com.pmease.quickbuild.Quickbuild.startServer(Quickbuild.java:768)
jvm 1 | WrapperStartStopApp Error: at com.pmease.quickbuild.Quickbuild.start(Quickbuild.java:253)
jvm 1 | WrapperStartStopApp Error: ... 17 more
jvm 1 | WrapperStartStopApp Error: Caused by: java.lang.ClassNotFoundException: org.hibernate.collection.PersistentBag
jvm 1 | WrapperStartStopApp Error: at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
jvm 1 | WrapperStartStopApp Error: at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
jvm 1 | WrapperStartStopApp Error: at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
jvm 1 | WrapperStartStopApp Error: at java.lang.Class.forName0(Native Method)
jvm 1 | WrapperStartStopApp Error: at java.lang.Class.forName(Class.java:348)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:626)
jvm 1 | WrapperStartStopApp Error: at org.hibernate.internal.util.SerializationHelper$CustomObjectInputStream.resolveClass(SerializationHelper.java:383)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1613)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:501)
jvm 1 | WrapperStartStopApp Error: at com.pmease.quickbuild.model.Build.readObject(Build.java:1338)
jvm 1 | WrapperStartStopApp Error: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1 | WrapperStartStopApp Error: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
jvm 1 | WrapperStartStopApp Error: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
jvm 1 | WrapperStartStopApp Error: at java.lang.reflect.Method.invoke(Method.java:497)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
jvm 1 | WrapperStartStopApp Error: at java.util.ArrayList.readObject(ArrayList.java:791)
jvm 1 | WrapperStartStopApp Error: at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
jvm 1 | WrapperStartStopApp Error: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
jvm 1 | WrapperStartStopApp Error: at java.lang.reflect.Method.invoke(Method.java:497)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
jvm 1 | WrapperStartStopApp Error: at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
jvm 1 | WrapperStartStopApp Error: at org.hibernate.internal.util.SerializationHelper.doDeserialize(SerializationHelper.java:247)
jvm 1 | WrapperStartStopApp Error: ... 21 more
jvm 1 | 2016-02-26 07:09:38,742 INFO - Stopping plugin manager...
jvm 1 | 2016-02-26 07:09:38,765 INFO - Stopping QuickBuild server...
jvm 1 | 2016-02-26 07:09:38,766 INFO - Stopping plugins...
jvm 1 | 2016-02-26 07:09:38,766 INFO - Stopping task scheduler...
jvm 1 | 2016-02-26 07:09:38,767 INFO - Closing session factory...
jvm 1 | 2016-02-26 07:09:38,794 WARN - /agent_update/plugins/com.pmease.quickbuild.plugin.tracker.jira_6.1.5.jar
jvm 1 | java.lang.RuntimeException: org.eclipse.jetty.io.EofException
jvm 1 | at com.pmease.quickbuild.util.ServletUtils.serve(ServletUtils.java:144)
jvm 1 | at com.pmease.quickbuild.grid.AgentUpdateServlet.doGet(AgentUpdateServlet.java:39)
jvm 1 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
jvm 1 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
jvm 1 | at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669)
jvm 1 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1336)
jvm 1 | at com.pmease.quickbuild.Quickbuild$DisableTraceFilter.doFilter(Quickbuild.java:1060)
jvm 1 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
jvm 1 | at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
jvm 1 | at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
jvm 1 | at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072)
jvm 1 | at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382)
jvm 1 | at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
jvm 1 | at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006)
jvm 1 | at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
jvm 1 | at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
jvm 1 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
jvm 1 | at org.eclipse.jetty.server.Server.handle(Server.java:365)
jvm 1 | at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485)
jvm 1 | at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
jvm 1 | at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926)
jvm 1 | at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988)
jvm 1 | at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:635)
jvm 1 | at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
jvm 1 | at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
jvm 1 | at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
jvm 1 | at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
jvm 1 | at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
jvm 1 | at java.lang.Thread.run(Thread.java:745)
jvm 1 | Caused by: org.eclipse.jetty.io.EofException
jvm 1 | at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:914)
jvm 1 | at org.eclipse.jetty.http.AbstractGenerator.blockForOutput(AbstractGenerator.java:507)
jvm 1 | at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:170)
jvm 1 | at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:107)
jvm 1 | at com.pmease.quickbuild.util.ServletUtils.serve(ServletUtils.java:142)
jvm 1 | ... 28 more
jvm 1 | Caused by: java.net.SocketException: Socket closed
jvm 1 | at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:116)
jvm 1 | at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
jvm 1 | at org.eclipse.jetty.io.ByteArrayBuffer.writeTo(ByteArrayBuffer.java:359)
jvm 1 | at org.eclipse.jetty.io.bio.StreamEndPoint.flush(StreamEndPoint.java:164)
jvm 1 | at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:853)
jvm 1 | ... 32 more
jvm 1 | 2016-02-26 07:09:39,265 INFO - QuickBuild server stopped.
wrapper | <-- Wrapper Stopped


John Szakmeister [26/Feb/16 07:34 PM]
So, I ended up restoring my system from a backup. I'm a bit disappointed on several fronts here. First, I was not able to restore my database to a previous version using either the migration backup or one that I took previously. The restore command simply failed:

:: ./restore.sh ~/quickbuild-6.1.0/db-backup/initial.backup
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
===========================================================
2016-02-26 13:52:15,016 INFO - Cleaning cached plugin libraries...
2016-02-26 13:52:15,142 INFO - Cleaning temp directory...
2016-02-26 13:52:15,181 INFO - Extracting backup file...
2016-02-26 13:52:15,425 INFO - Booting QuickBuild from '/home/quickbuild/quickbuild-6.1.0'...
2016-02-26 13:52:15,429 INFO - Starting framework...
2016-02-26 13:52:15,577 INFO - Caching plugin libraries...
2016-02-26 13:52:20,400 INFO - Starting QuickBuild server...
2016-02-26 13:52:20,405 INFO - Migrating data in directory '/home/quickbuild/quickbuild-6.1.0/restore/data'...
2016-02-26 13:52:20,986 INFO - Importing data from '/home/quickbuild/quickbuild-6.1.0/restore/data'...
2016-02-26 13:52:22,812 INFO - QuickBuild version table found. Catalog: null, Schema: public, Name: qb_setting, Type: TABLE
2016-02-26 13:52:22,863 INFO - Stopping plugin manager...
2016-02-26 13:52:22,881 INFO - Stopping QuickBuild server...
2016-02-26 13:52:22,882 INFO - Stopping plugins...
2016-02-26 13:52:22,883 INFO - Stopping task scheduler...
2016-02-26 13:52:22,952 INFO - QuickBuild server stopped.
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.pmease.quickbuild.Quickbuild.importData(Quickbuild.java:922)
at com.pmease.quickbuild.bootstrap.Restore$1.execute(Restore.java:71)
at com.pmease.quickbuild.Quickbuild$3.run(Quickbuild.java:640)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.google.inject.ProvisionException: Guice provision errors:

1) Error in custom provider, com.pmease.quickbuild.QuickbuildException: No data version found in database.
  while locating com.pmease.quickbuild.persistence.SessionFactoryProvider
  at com.pmease.quickbuild.QuickbuildModule.configure(QuickbuildModule.java:36)
  while locating org.hibernate.SessionFactory
    for field at com.pmease.quickbuild.entitymanager.impl.DefaultDataManager.sessionFactory(DefaultDataManager.java:115)
  at com.pmease.quickbuild.entitymanager.impl.DefaultDataManager.class(DefaultDataManager.java:115)
  while locating com.pmease.quickbuild.entitymanager.impl.DefaultDataManager
  while locating com.pmease.quickbuild.entitymanager.DataManager

1 error
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
at com.pmease.quickbuild.Quickbuild.getInstance(Quickbuild.java:829)
at com.pmease.quickbuild.entitymanager.DataManager.<clinit>(DataManager.java:59)
... 4 more
Caused by: com.pmease.quickbuild.QuickbuildException: No data version found in database.
at com.pmease.quickbuild.util.DbUtils.getDataVersion(DbUtils.java:155)
at com.pmease.quickbuild.persistence.SessionFactoryProvider.get(SessionFactoryProvider.java:78)
at com.pmease.quickbuild.persistence.SessionFactoryProvider.get(SessionFactoryProvider.java:36)
at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:55)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:94)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:737)
at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
... 7 more

I believe nothing was found because data had been deleted from the database from a previous (failed) restore attempt. I expected that the backup was enough to completely restore the database, but something is failing here to keep that from working. :-(

After I restored from backup, I tried walking forward in versions to 6.1.3, and everything was fine. I went for 6.1.5 and things broke again. I know have my instance sitting at 6.1.4 and I'm a bit afraid to go further. I was relying on the backups to help restore the database, so I ended up losing about 16 hours of data (which is fine... it's not mission critical, but it is annoying for users when they try to see why things failed and can't access the build information anymore and the downtime from having to restore the server, etc.).

I'm not sure what to do from here.

Robin Shen [27/Feb/16 12:35 AM]
Simply stay on 6.1.5, and remove file "requests.ser" under its installation directory will work.

Robin Shen [27/Feb/16 12:37 AM]
The error " No data version found in database" means that the database is in inconsistent state. Just remove the database and create blank new one, and then do restore again. Make sure to remove "requests.ser" in installation directory as I mentioned previously if it won't start.

John Szakmeister [27/Feb/16 12:45 PM]
So removing the requests.ser file helped, but I really don't understand why it was necessary--I did a clean shutdown of the service. :-(

I re-installed the buildagent on my FreeBSD system, copying over the attributes and node properties from the old installation. It didn't help. I get the same error:

:: service quickbuild start
Failed to locate the iconv_open function from the iconv library: Undefined symbol iconv_open Unable to continue. Starting QuickBuild Build Agent...
Failed to locate the iconv_open function from the iconv library: Undefined symbol "iconv_open"
Unable to continue.
Failed to locate the iconv_open function from the iconv library: Undefined symbol iconv_open Unable to continue. Waiting for QuickBuild Build Agent..................
Failed to locate the iconv_open function from the iconv library: Undefined symbol iconv_open Unable to continue. WARNING: QuickBuild Build Agent may have failed to start.

It looks to me like the actual function names in the library have changed for FreeBSD. It's not iconv_open(), but libiconv_open() now:

:: objdump -T /usr/local/lib/libiconv.so | grep _open
0000000000002ec0 g DF .text 000000000000045d Base libiconv_open
00000000000043e0 g DF .text 0000000000000450 Base libiconv_open_into

:-(

John Szakmeister [08/Jul/16 11:04 PM]
I just upgraded QB to 6.1.19 and the agent on the FreeBSD machine, and all seems well in the Java Service Wrapper department. Thanks!