URGENT...Need Help!

Q&A regarding installation and issues getting started with Servoy

URGENT...Need Help!

Postby kwpsd » Thu Dec 15, 2016 3:19 am

Upgraded developer to version 7.4.9 when it was first released and had no trouble using it. Exported a solution in 7.4.9 for customer. Successfully upgraded customer's server to 7.4.9. Re-signed upgraded files using CodeSigner with our own security certificate. Successfully imported solution on customer's server. Now, solution will not start:

cannot_load_solution_ARM.png
cannot_load_solution_ARM.png (29.15 KiB) Viewed 14582 times


Closed the error window, but 'Servoy Next Generation Platform' banner persists, because Smart client is hung. Smart client must be closed manually. The log has this:

2016-12-14 16:29:15,744 ERROR [http-8080-3] com.servoy.j2db.util.Debug - Throwable [ ]
com.servoy.j2db.persistence.RepositoryException: com.servoy.j2db.persistence.RepositoryException: root object not found
at com.servoy.j2db.server.Za.Za.Za(Za.java:591)
at com.servoy.j2db.server.Za.Za.loadRootObject(Za.java:147)
at com.servoy.j2db.persistence.RootObjectCache.getRootObject(RootObjectCache.java:236)
at com.servoy.j2db.persistence.RootObjectCache.getActiveRootObject(RootObjectCache.java:170)
at com.servoy.j2db.persistence.RootObjectCache.getActiveRootObject(RootObjectCache.java:178)
at com.servoy.j2db.persistence.AbstractRepository.getActiveRootObject(AbstractRepository.java:427)
at com.servoy.j2db.server.servlets.Zs.doGet(Zs.java:367)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:631)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: com.servoy.j2db.persistence.RepositoryException: root object not found
at com.servoy.j2db.server.Za.Za.Za(Za.java:1249)
at com.servoy.j2db.server.Za.Za.Za(Za.java:1543)
... 21 more


Repeated the entire process several times, but the outcome is always the same. Customer also has two web-based solutions that will not launch. The web page comes up with 'Loading...' in the upper left corner, but the page is all white.

How do I fix this?
Kim W. Premuda
San Diego, CA USA
User avatar
kwpsd
 
Posts: 687
Joined: Sat Jul 28, 2007 6:59 pm
Location: San Diego, CA USA

Re: URGENT...Need Help!

Postby ROCLASI » Thu Dec 15, 2016 5:19 am

Hi Kim,

This seems to be a repository issue.
I suggest you delete the solution from the repository, restart servoy server (important!) and re-import the solution.

Hope this helps.
Robert Ivens
SAN Developer / Servoy Valued Professional / Servoy Certified Developer

ROCLASI Software Solutions / JBS Group, Partner
Mastodon: @roclasi
--
ServoyForge - Building Open Source Software.
PostgreSQL - The world's most advanced open source database.
User avatar
ROCLASI
Servoy Expert
 
Posts: 5438
Joined: Thu Oct 02, 2003 9:49 am
Location: Netherlands/Belgium

Re: URGENT...Need Help!

Postby kwpsd » Thu Dec 15, 2016 6:56 am

Hi, Robert.

Thank you for the quick response!

Before I posted, I had already tried your suggestion (several times). I, too, came to the conclusion that the repository must be corrupted and decided to uninstall 7.4.9 and re-install 7.4.8 (just to get back to a known starting point). I got everything working for now.
Kim W. Premuda
San Diego, CA USA
User avatar
kwpsd
 
Posts: 687
Joined: Sat Jul 28, 2007 6:59 pm
Location: San Diego, CA USA

Re: URGENT...Need Help!

Postby Andrei Costescu » Thu Dec 15, 2016 9:00 am

Was app. server 7.4.8 before?
If you can create a case with a reproducible solution/scenario please do so.

Do you have any other errors in application server log before that? So when starting app. server does it give other errors before trying to access your solution? Do errors appear in log when you import that solution?
Andrei Costescu
Servoy
Andrei Costescu
 
Posts: 1018
Joined: Tue Jun 26, 2007 3:14 pm

Re: URGENT...Need Help!

Postby kwpsd » Fri Dec 16, 2016 2:33 am

Hi, Andrei.

Yes, the application server was successfully running 7.4.8 for months before the update to 7.4.9. I do not recall seeing any errors when installing the 7.4.9 upgrade. Also, I do not recall seeing any errors when importing the solution. If you PM your e-mail address to me, I would be happy to send you the log file (it's too large to post here).
Kim W. Premuda
San Diego, CA USA
User avatar
kwpsd
 
Posts: 687
Joined: Sat Jul 28, 2007 6:59 pm
Location: San Diego, CA USA

Re: URGENT...Need Help!

Postby Andrei Costescu » Wed Dec 21, 2016 10:36 am

Sorry for the late reply; I was quite busy with something else. I don't see anything useful in the log file.
But the log starts with "root object not found". Does the log start soon enough or did you clear the log after importing?
I expected to see some errors during import.

The only idea I have currently is to try to activate maintenance mode while importing. But it probably will not matter anyway.
It would be best to have a way to reproduce it (even better if it reproduces when you start with an empty repository DB)...
Andrei Costescu
Servoy
Andrei Costescu
 
Posts: 1018
Joined: Tue Jun 26, 2007 3:14 pm

Re: URGENT...Need Help!

Postby kwpsd » Fri Dec 23, 2016 12:46 am

The log file I sent to you is the only one that survived...earlier logs were deleted when we downgraded from 7.4.9 to 7.4.8. Also, I do not plan on re-creating the event as this is the customer's production server, and they would be very unhappy if I crashed their server...again. Thank you for checking the log file. If this happens again, I will preserve the earlier log files.
Kim W. Premuda
San Diego, CA USA
User avatar
kwpsd
 
Posts: 687
Joined: Sat Jul 28, 2007 6:59 pm
Location: San Diego, CA USA

Re: URGENT...Need Help!

Postby kwpsd » Sun Feb 12, 2017 11:25 pm

Yesterday, I once again attempted to upgrade the customer's Servoy to 7.4.9 and got the same result...RepositoryException: root object not found. This time, it was fatal as I could not install anything afterwards. I made a request to the customer's IT staff that the repository database be deleted and re-created after which I was able to install 7.4.8. What is the root object anyway?

@Andrei...I am e-mailing the new log file to you.
Kim W. Premuda
San Diego, CA USA
User avatar
kwpsd
 
Posts: 687
Joined: Sat Jul 28, 2007 6:59 pm
Location: San Diego, CA USA

Re: URGENT...Need Help!

Postby Andrei Costescu » Mon Feb 13, 2017 11:31 am

Root objects in the repo. are solutions, styles (smart/web) and form templates.
I do see now some more exceptions in the log file. I will look a bit to see if I can figure out what's going wrong.

Until then
- can you tell me when exactly did you upgrade Servoy to 7.4.9 and when did you import the solution again (day, hour)? First import related errors seem to be at 2016-12-03 15:40, but there are other exceptions before that as well.
- can you reproduce this on your local computer? So set up a 7.4.8 locally that is almost identical to your production (with local DBs), then upgrade and import. Does it reproduce?
Andrei Costescu
Servoy
Andrei Costescu
 
Posts: 1018
Joined: Tue Jun 26, 2007 3:14 pm

Re: URGENT...Need Help!

Postby Andrei Costescu » Mon Feb 13, 2017 5:31 pm

I think I found a relevant message in the log for your recent import.

Code: Select all
2017-02-11 19:11:37,500 ERROR [http-8080-5] com.servoy.j2db.util.Debug - Throwable [ ]
com.servoy.j2db.persistence.RepositoryException: Root object of element verifyProtocolPersonnel has changed (object has been moved), from ARM_protocol to ARM_core; delete solution ARM_protocol first or clean import.<br/>


Normally it should have shown the import error on the admin page as well.
See case SVY-273 and it's comments.
I suspect you moved "verifyProtocolPersonnel" from "ARM_protocol" to "ARM_core" via file copy-paste - instead of the actions from Solution Explorer view. That means that the UUID of verifyProtocolPersonnel remained the same while parents changed - which generates a problem in repository server's versioning implementation - from what I understand from the case (don't know in detail the reason). Developer works because it's only aware of one version of the solution - the one stored as files in the developer workspace at one particular point in time.

So this is not related necessarily to 7.4.9 if this is the only reason why it fails, but to a change in the solution.

One workaround you could try in developer is to right-click on that form (I assume "verifyProtocolPersonnel" is a form) and choose move form; so move it to some other module, then right click on it again and move it back to where you want it. Then try to export and import again. I suggest you use a test server first - to not break production again :).

Another workaround would be to delete the repository database of the server and import it directly on 7.4.9 as it is.
Andrei Costescu
Servoy
Andrei Costescu
 
Posts: 1018
Joined: Tue Jun 26, 2007 3:14 pm

Re: NOT URGENT...Need Help!

Postby kwpsd » Mon May 01, 2017 10:42 pm

Thank you so much for the excellent explanation, Andrei. It's helpful (for me) to learn about and understand the inner workings of Servoy.

And, you are correct...copy/paste was used. verifyProtocolPersonnel() is a method, not a form, and it was copied/pasted from one module to another.

We sometimes have to move a number of functions between modules at one time. At first, we were creating a new function (one at a time) with the same name into a different module, then copying over the body of the function. Then we discovered we could just copy the functions wholesale, and it worked (in Developer, anyways). Now, I know not to do this and the reason why. I already use the 'move' function for forms, but I am unaware of a corresponding utility for methods. Does one exist?
Kim W. Premuda
San Diego, CA USA
User avatar
kwpsd
 
Posts: 687
Joined: Sat Jul 28, 2007 6:59 pm
Location: San Diego, CA USA

Re: URGENT...Need Help!

Postby Andrei Costescu » Tue May 02, 2017 8:48 am

You are welcome. So it was a method... didn't expect that.

I understand that if you are using Servoy Developer and it's script editor to cut/paste whole methods then their UUIDs should get regenerated automatically.
If you find a scenario in latest 7.x or 8.x builds where that doesn't happen - so old UUIDs remain there - please file a case with a sample solution/steps to reproduce.
Andrei Costescu
Servoy
Andrei Costescu
 
Posts: 1018
Joined: Tue Jun 26, 2007 3:14 pm

Re: URGENT...Need Help!

Postby patrick » Tue May 02, 2017 10:34 am

That depends on whether you save when you cut or not... When you cut a method and save the js file where you cut from and then paste it somewhere else, Servoy sees no UUID duplicate and has no reason to regenerate a UUID. Sometimes that's also what you want. For example when you move a UI bound method to a parent form. Regeneration of UUIDs would mean buttons loose their method.

What really should be looked at is why the import had not failed. It used to...
Patrick Ruhsert
Servoy DACH
patrick
 
Posts: 3703
Joined: Wed Jun 11, 2003 10:33 am
Location: Munich, Germany

Re: URGENT...Need Help!

Postby Andrei Costescu » Tue May 02, 2017 1:37 pm

So then in order to really move methods to a complete new location with different UUID you should use copy (so not cut) then paste.
Then because developer detects duplicate UUID it generates a new one. Then you can remove the code from the old location. Correct Patrick?

So if you want new UUIDs always use copy + paste + save (or cut + paste + save).
If you want to keep UUID (for the kind of scenario Patrick mentioned) cut + save + paste + save.

I agree with Patrick on the import thing as well: the log lists that "Root object of element verifyProtocolPersonnel has changed" as an error, but you didn't see that.
I also see another error in that log - it was trying to roll-back when it gave another error - so that has to be why the repository was in an inconsistent state.
If you can create a private case with reproducible sample solutions it would be nice. We can attach the log file to it as well.
Andrei Costescu
Servoy
Andrei Costescu
 
Posts: 1018
Joined: Tue Jun 26, 2007 3:14 pm

Re: URGENT...Need Help!

Postby rafig » Tue May 02, 2017 11:16 pm

Hi
strangely, having followed this topic, I just had an issue with duplicate UUIDs.
I had set up a 'navbar' on one form (which was saved) and I then copied it (from the Outline), then went to another form and pasted it in to the Outline and saved and I got a whole bunch of duplicate UUIDs for the navbar & it's menu items.
Duplicate UUIDs.png
Duplicate UUIDs
Duplicate UUIDs.png (414.47 KiB) Viewed 13743 times

I think this has happened before to me when doing something similar, so it might be that your clever code that creates new UUIDs for methods isn't doing the same when copying & pasting the new components ...
Rafi
Servoy Certified Developer
Image
rafig
 
Posts: 704
Joined: Mon Dec 22, 2003 12:58 pm
Location: Watford, UK

Next

Return to I'm just getting started

Who is online

Users browsing this forum: No registered users and 1 guest