2.99pre4 won't start, dies at "Starting scripts"

Subscribe to 2.99pre4 won't start, dies at "Starting scripts" 27 post(s), 7 voice(s)

← Previous 1
 
Avatar bushytails 55 post(s)

Third time’s the charm? “Beast” is broken! The backtrace breaks the post. I can not edit the post. I can not delete the post. I can’t even reply to the post! So this one has all the backtraces cut. Please delete the other two duplicate topics.

Just downloaded 2.99pre4, won’t start. Downloaded latest jre, no change. Removed my .jbidwatcher directory, it prompted for my login and tested it, then no change.

Jan 10, 2016 2:57:48 PM com.google.inject.internal.util.$FinalizableReferenceQueue$DecoupledLoader loadFinalizer
WARNING: Could not load Finalizer in its own class loader.
… [more error cut]
… [backtrace cut]
Sun Jan 10 14:57:49 PST 2016: JBidwatcher 2.99pre4-0-g4037824
Sun Jan 10 14:57:49 PST 2016: Oracle Corporation Java, version 1.8.0_66 on Linux
… [cut to avoid breaking forum]
Sun Jan 10 14:58:37 PST 2016: Scripting is enabled.
Loading JBidwatcher Ruby Utilities
Sun Jan 10 14:58:37 PST 2016: JBidwatcher: org.jruby.exceptions.RaiseException: (LoadError) no such file to load — rubygems
org.jruby.exceptions.RaiseException: (LoadError) no such file to load — rubygems
… [backtrace cut]
^C

At this point the startup window is displaying “Starting scripts”. I let it sit there for 15 minutes with nothing happening. Ctrl-C or killing it is required.

2.5.6 is still working fine, where fine includes all the known bugs. (And one that may or may not be known… sometimes during network issues it decides that auctions must have been removed from the server, moving them to the completed list and cancelling snipes…)

The startup process for 2.99pre4, even before where it fails, is SLOW. Probably around a minute “building interface” etc. 2.5.6 does not have this issue.

Thanks,
—Bushytails

 
Avatar bushytails 55 post(s)

Ok, since this one worked, that means the problem is the <script> in the ruby backtrace. That means this forum lets me include javascript without filtering it? That is SCARY. And dangerous. And makes me very happy I did not use the same login info for this forum as anywhere else.

 
Avatar jezmckinley 1 post

I’ve got the same issue. Thought it was originally due to using rbenv to have different versions of ruby installed. However, went to using system installed ruby 2.3.0p0 and java 1.8 on ArchLinux and same issue. Downloaded the source and can see the line in the utilities.rb that calls rubygems. Started to hunt for where/how to disable scripting.

However, it seems that I can’t find an obvious call. There is a property ‘mScripting’ in the config object but this is not mapped to any property in the config file I can tell. I also found a comment in JbidWatch.java:

“as of 3.0 and later, scripting is a core part of JBidwatcher and it will not run without it.”

So I guess that’s why there isn’t a mapping.

This was a very quick look and I’ll have to pause my effort for today.

 
Avatar mikebutash 3 post(s)

This seems to be something to due with adding a ruby-based engine. Might be good to mention needing ruby libs now.

I installed jruby and still seem to get this error. Searching for “jruby RubyKernel.java ubuntu” all over seems to be some sort of missing environment definition needed in how it’s calling ruby from the jre. I’d say this is a bug, java most definitely is not my forte.

 
Avatar Morgan Schweers Administrator 1,204 post(s)

Greetings,
I hate to ask, but are you using Linux? I really haven’t figured out a good way to package JBidwatcher for Linux, and I’d love some help with that if you can… My problem is that with the scripting stuff in place, the files need to be broken out. They can’t all live in a single .jar file like they used to. So I need to write a script that figures out JAVA_HOME and adds all the dependencies into a class path parameter and stuff like that, and provide a tarball of the app instead of the .jar I have been…

And don’t worry, script tags aren’t allowed into posts. It’s entirely possible for stack traces to cause problems with the formatting of the pages, though.

— Morgan

 
Avatar bushytails 55 post(s)

Yes, I’m using Linux. However, I’m mostly a C programmer, and know only a little about Java and exactly nil about Ruby.

Shouldn’t if the required packages are installed, the paths already be adequate? For that matter, if it has dependencies now, listing them in the download section would be handy. :)

(alert(‘Testing Javascript in posts’);)

Thanks again,
—Bushytails

 
Avatar bushytails 55 post(s)

Oh, and script tags are allowed, unless I’m the only one getting an alert now…

—Bushytails

 
Avatar Morgan Schweers Administrator 1,204 post(s)

Greetings,
????

I stand corrected; #%^#%}}€>#!.

It didn’t USE to allow them, but the forum software is 8-9 years old at this point, and I’ve made a ton of changes, so I probably fucked something up. :(

I’ll fix it; sorry about that. It really used to work. :(

The problem is that I’ve been leaning on JBidwatcher being able to ship as a simple single file for too long. It WOULD work on Linux if it were uncompressed and the right command were given, but I have t got that working yet.

Yeah, not my finest day. :-/

— Morgan

 
Avatar bushytails 55 post(s)

Nothing to be sorry for… but it should be fixed before someone puts some less-benign javascript in a post, like stealing your login cookies. I only noticed it because jbidwatcher’s output contained the text <script> and it was breaking posts, to the point where you couldn’t do anything further in the thread, even reply, as the rest of the post and everything following it was being parsed as javascript. Requiring all opened tags to be closed would have stopped that too, even if it allowed scripts. Being able to open a tag without closing it, screwing up the rendering of the rest of the page outside of the post, is probably a bad idea.

I really don’t know where to start with packaging java programs for linux… if they’re standard libraries, can you not list them as dependencies for the user to install, instead of including them? The fancy way would be .deb packages with dependencies listed, but that’s a whole ‘nother project. But, as I said, I’m very unfamiliar with java packaging.

What about the startup time? As you can see from the timestamps, it takes 49 seconds just to get to the “Starting scripts” phase… that’s way, way too long. 4.9 seconds would be pushing it, 49 is just silly. :)

Anything I should do to try figuring out how to make the new version start?

Thanks again,
—Bushytails

 
Avatar Morgan Schweers Administrator 1,204 post(s)

Greetings,
On Linux, if you

unzip JBidwatcher-2.99pre4.jar -d jbidwatcher/

you can then

cd jbidwatcher/
java -cp lib/annotations.jar:lib/aopalliance.jar:lib/appbundler-1.0ea.jar:lib/apple.jar:lib/derby.jar:\
lib/guice-3.0.jar:lib/guice-assistedinject-3.0.jar:lib/jDeskMetrics.jar:lib/javax.inject.jar:lib/jdesktop.jar:\
lib/jl1.0.1.jar:lib/jline-2.11.jar:lib/jruby-incomplete.jar:lib/json_simple-1.1.jar:lib/jsoup-1.7.1.jar:\
lib/jsr305-1.3.9.jar:lib/l2fprod-common-fontchooser.jar:lib/mahalo.jar:lib/mysql-connector-java-5.1.7-bin.jar:\
lib/readline.jar:lib/txtmark.jar:lib/jbidwatcher:main/main.jar com.jbidwatcher.app.JBidWatch

and it should launch.

I’m not sure what’s slowing it down that much on your system; do you have a lot of auctions in the history?

— Morgan

 
Avatar bushytails 55 post(s)

Nope. I removed my .jbidwatcher directory just to make sure that wasn’t causing the issues, and at that point it had no history at all. Before I deleted it I had maybe 25 auctions.

Tried that command, worked. Restored my old .jbidwatcher directory, worked, still slow to load. 34 seconds this time.

So the problem is just that it can’t get the libraries out of the jar file? Googling found a suggestion of http://one-jar.sourceforge.net/ , but I don’t know if that’s the actual problem or not.

Thanks again,
—Randy

 
Avatar bushytails 55 post(s)

… which it looks like you already use. So much for my suggestion!

 
Avatar Morgan Schweers Administrator 1,204 post(s)

Greetings,
Actually I’ve been shipping with One Jar for the last…something like 10 years. Unfortunately I reached the point where there are libraries inside of libraries inside of libraries, and that just completely failed.

It is possible I could take some time, and write One Jar – We Must Go Deeper Edition, but the problem is solved on OS X and Windows via installers. On Linux, I was tempted to build an RPM or a .deb, but that’d exclude the people who aren’t running one of those two, and even then I really don’t want to descend into dependency hell.

The only external dependency should be Java 8, and my eventual solution will probably offer a download with the JRE embedded in it, and one without it.

— Morgan

 
Avatar bushytails 55 post(s)

Yeah, I noticed you used it when I went to try using it to see if it’d make it work. :)

http://www.jdotsoft.com/JarClassLoader.php also seems to have positive comments. "All JARs with all nested JARs and all native libraries in the deployment JAR are considered to be added to the application classpath regardless of their names and locations in the deployment JAR. "

I’d need to download the jdk to try it myself, which on my connection will make it tomorrow…

—Bushytails

 
Avatar bushytails 55 post(s)

“JARs could be nested, i.e. you may have JARs in other JARs with any level of nesting. "

 
Avatar Morgan Schweers Administrator 1,204 post(s)

Greetings,
I believe I’ve fixed the script issue, fwiw. And JarClassLoader looks interesting, although the license is problematic.

If a test works out, I’ll see what it would take to get a ‘commercial’ license, as I’m not awfully comfortable with GPLv3.

— Morgan

 
Avatar dickyfit 15 post(s)

Jut loaded up a fresh Ubuntu 14.04 x32 to test pre4. I’m seeing the same issues as bushytails – slow loading and halting at loading scripts.

Wed Jan 13 02:50:09 GMT 2016: JBidwatcher 2.99pre4-0-g4037824
Wed Jan 13 02:50:09 GMT 2016: Oracle Corporation Java, version 1.8.0_66 on Linux
Wed Jan 13 02:50:09 GMT 2016: Logging to /home/foo/.jbidwatcher/errors.6.log
Wed Jan 13 02:50:14 GMT 2016: Loaded the appropriate driver.
Wed Jan 13 02:50:21 GMT 2016: Connected to database jbdb (JBidwatcher DataBase)
Wed Jan 13 02:50:27 GMT 2016: Auction information database already exists.
Wed Jan 13 02:50:27 GMT 2016: Closed connection
Wed Jan 13 02:50:30 GMT 2016: Database shut down normally
Wed Jan 13 02:50:32 GMT 2016: Loaded the appropriate driver.
Wed Jan 13 02:50:35 GMT 2016: Connected to database jbdb (JBidwatcher DataBase)
Wed Jan 13 02:50:35 GMT 2016: Closed connection
Wed Jan 13 02:50:35 GMT 2016: Database shut down normally
Wed Jan 13 02:50:44 GMT 2016: Loaded the appropriate driver.
Wed Jan 13 02:50:48 GMT 2016: Connected to database jbdb (JBidwatcher DataBase)
Wed Jan 13 02:50:53 GMT 2016: Loading listings from the database (25/403/407 entries, 407/5454 auctions)
Wed Jan 13 02:50:53 GMT 2016: Done with the initial load (got 21 active entries)
Wed Jan 13 02:50:54 GMT 2016: Auction Entries loaded
Wed Jan 13 02:50:54 GMT 2016: Completed loader spun off
Wed Jan 13 02:50:54 GMT 2016: Snipes processed
Wed Jan 13 02:50:54 GMT 2016: findAuctions: 289.0 × 1(289)
Wed Jan 13 02:50:54 GMT 2016: addEntry: 18.428571428571427 × 21(387)
Wed Jan 13 02:50:54 GMT 2016: counts: 3952.0 × 1(3952)
Wed Jan 13 02:50:54 GMT 2016: setServer: 0.047619047619047616 × 21(1)
Wed Jan 13 02:50:54 GMT 2016: findAll: 163.0 × 1(163)
Wed Jan 13 02:50:54 GMT 2016: addEntry-complete: 19.0 × 20(380)
Wed Jan 13 02:50:54 GMT 2016: addEntry-recovered: 6.0 × 1(6)
Wed Jan 13 02:50:54 GMT 2016: Last 10 from addEntry: 25, 18, 3, 12, 12, 10, 46, 47, 3, 7
Wed Jan 13 02:52:32 GMT 2016: Scripting is enabled.
Loading JBidwatcher Ruby Utilities
Wed Jan 13 02:52:32 GMT 2016: JBidwatcher: org.jruby.exceptions.RaiseException: (LoadError) no such file to load — rubygems
org.jruby.exceptions.RaiseException: (LoadError) no such file to load — rubygems
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1040)
at RUBY.(root)(file:/home/foo/JBidwatcher.jar!/lib/jbidwatcher/utilities.rb:18)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1040)
at RUBY.(root)(:1)

 
Avatar bushytails 55 post(s)

Unziping the jar file and running the big long command a few posts above will make it start.

—Bushytails

 
Avatar Morgan Schweers Administrator 1,204 post(s)

Greetings,
2.99pre5 is up now, and for now I’ve included a tarball (.tar.bz2) which has a script to run JBidwatcher, presuming Oracle’s Java 1.8 is in the path. I’ll include the URL in a future version…already committed.

It should also start up a little faster.

— Morgan

 
Avatar dickyfit 15 post(s)

Downloaded pre5 and it is better.

Thu Jan 14 00:34:17 GMT 2016: Last 10 from addEntry: 3, 4, 5, 20, 3, 30, 29, 15, 7, 175
Thu Jan 14 00:34:35 GMT 2016: Scripting is enabled.

This is quicker by 2+ minutes :)

It loads and logs in to ebay fine.
I can add items ok.

Throwing java.lang.IndexOutOfBoundsException erros every second whilst loaded.

Thu Jan 14 00:35:26 GMT 2016: PMQ Caught exception: java.lang.IndexOutOfBoundsException: Invalid index
java.lang.IndexOutOfBoundsException: Invalid index
at javax.swing.DefaultRowSorter.convertRowIndexToView(DefaultRowSorter.java:499)
at javax.swing.JTable.convertRowIndexToView(JTable.java:2620)
at javax.swing.JTable.repaintSortedRows(JTable.java:4175)
at javax.swing.JTable.sortedTableChanged(JTable.java:4116)
at javax.swing.JTable.tableChanged(JTable.java:4395)
at com.jbidwatcher.ui.table.AuctionTable.messageAction(AuctionTable.java:110)
at com.jbidwatcher.util.queue.PlainMessageQueue.run(PlainMessageQueue.java:60)
at java.lang.Thread.run(Thread.java:745)
Thu Jan 14 00:35:26 GMT 2016: PMQ Caught exception: java.lang.IndexOutOfBoundsException: Invalid index
java.lang.IndexOutOfBoundsException: Invalid index
at javax.swing.DefaultRowSorter.convertRowIndexToView(DefaultRowSorter.java:499)
at javax.swing.JTable.convertRowIndexToView(JTable.java:2620)
at javax.swing.JTable.repaintSortedRows(JTable.java:4175)
at javax.swing.JTable.sortedTableChanged(JTable.java:4116)
at javax.swing.JTable.tableChanged(JTable.java:4395)
at com.jbidwatcher.ui.table.AuctionTable.messageAction(AuctionTable.java:110)
at com.jbidwatcher.util.queue.PlainMessageQueue.run(PlainMessageQueue.java:60)
at java.lang.Thread.run(Thread.java:745)

DF

 
Avatar Morgan Schweers Administrator 1,204 post(s)

Greetings,
I think I figured out a solution for the ‘Invalid index’ problem; I think it’s notifying an empty tab (known as categories inside JBidwatcher) to mark an auction as being updated, and since that tab is empty, it’s trying to update the zeroth row, and there isn’t one.

I’ve committed a fix for that, so it doesn’t throw exceptions as much, although the more interesting question is why it is trying to notify a tab about an auction that’s not in that tab… :(

— Morgan

 
Avatar ammortiser1 2 post(s)

Using GNU/Linux Debian 8 (Jessie) your “long command” method worked on v 2.5.6 but failed on 2.99pre5 giving the following errors:

lib/readline.jar:lib/txtmark.jar:lib/jbidwatcher:main/main.jar com.jbidwatcher.app.JBidWatch

Exception in thread “main” java.lang.UnsupportedClassVersionError: com/jbidwatcher/app/JBidWatch : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

Hope this helps sort it out.

 
Avatar bushytails 55 post(s)

Make sure you’re using the latest Oracle java. It won’t run on OpenJDK, which is what debian includes by default. java -version will tell you what you’re using.

—Bushytails

 
Avatar momist 12 post(s)

Now then. I’ve very little (and old) C experience, and zilch with Java, so I’m struggling here. I’ve installed JBidwatcher 2.99pre5 which would not run at all, and then discovered that I needed Java 8, so I’ve installed that. I now get the stall at “Starting scripts”. Since I did this the wrong way around, do I now need to uninstall JBw and then re install, or try the ‘long command’ above?
I’m running Linux Mint 7.3 with Cinnamon, and have long since avoided the command line as much as possible, so this is getting painful to my old brain :-)
Can anyone help me out here, or should I go back to 2.5.3pre3 which is the last one which worked for me?

 
Avatar bushytails 55 post(s)

Try the script that came with the 2.99pre5 download.

—Bushytails

← Previous 1