Does Not Save or Exit in Windows XP

Subscribe to Does Not Save or Exit in Windows XP 12 post(s), 3 voice(s)

 
Avatar (SF) JSH 5 post(s)

We love JBidWatcher and recommend it to our friends. Have been using it about 3 months and its sniped dependably each time.

System is Windows XP Home, DSL connection.

Within the last few weeks have been getting flaky behavior:

Import new auctions and attempt to save auctions. The “Auctions Saved” confirmation does not appear and after a few seconds the File menu closes.

Later, File-Exit to close program. The Snipe warning comes up. Click OK, snipe warning goes away but program doesn’t close. Use Task Manager and get message that JBidWatcher is not responding.

Reopen JBidWatcher and the new auctions were not saved.

Haven’t been able to isolate what is causing this.

Occurs about half the time; and may occur in the same session in which auctions were earlier successfully saved.

 
Avatar (SF) JSH 5 post(s)

Well, I was opening auctions.xml in IE, IE gave me a parsing error message, and the file contents were deleted. Ouch!

Starting from scratch now JBidwatcher performs fine. My guess is that the auctions.xml file got too large (it had around 1700 auctions) or had some data glitch.

But if saves are unsuccessful, the user should be alerted as to why the save was unsuccessful.

We’ll start monthly maintenance to save old xml data and keep the file size down.

BTW, we get error files accumulating: errors.1.log, …. errors.n.log. I haven’t looked at your Java code, but is the program behaving correctly? Is there an upper limit on n? Or should we delete these occasionally?

 
Avatar (SF) JSH 5 post(s)

I downloaded your JBidwatcher source code. I’m a hobbyist programmer learning design patterns, XML, and Java. I’ve learned a lot from the source code; thanks for making it available (and I never realized what a “special day” it was when I saw sniper kitty)!

It appears the Save/Exit problems I described above were occuring with the AuctionSave method. When doing an explicit Save, neither the success dialog – nor the failure dialog – appeared.

Now that I see how the auctions are serialized and written to disk, I’ll be in a position to report with more detail where the problem might be (should it occur again). But I don’t recall any error log entry of a failure to write the saved auctions.

Some additional features I would like to see: (a) ability to use my own icons in a “user defined” category (such as relative importance or to help further subdivide a tabbed set of auctions; (b) record that feedback has been left and payment made; and © exporting/archiving ability within the program (that would include the option of converting Java dates to date strings).

I don’t recall seeing a JBidwatcher icon file for the Windows desktop, so I resized the JBidwatcher.jpg image using Irfanview to create one. Looks good!

We had JBidwatcher working practically non-stop this holiday weekend, and it is fun and a pleasure to use…we made a donation through PayPal a while back and urge others that enjoy the program to do the same!

 
Avatar Morgan Schweers Administrator 1,204 post(s)

Greetings,
I’m sorry, for some reason these messages weren’t emailed to me… I usually get notified when posts happen, so I can respond. sigh I’m so far behind in emails, too.

Mmmm… Yes, the error logs have no upper bound on ‘n’, so it’s not a bad idea to trim them every so often. However, if you have an instance where manual saving fails, without even a message, locating the most recent error log might be very helpful in determining why. It will probably have an exception logged, because that’s the only thing that would really stop it from saving.

ERF! IE shouldn’t DELETE the file contents, it should have only read it and (perhaps) failed to parse it, and left it alone.

I have to admit, 1700 auctions in the ‘saved’ space is high. One of the things I wanted to do was be able to generate a ‘window’ which just viewed the completed auctions. This would let me only load into memory the live auctions, and maybe ones completed within the last day or so. The rest would be stored, but not updated. It’ll require a pretty hefty change to my data model to do this, though. I definitely need to ‘time out’ deleted items, as well as delete the cached HTML + thumbnails when you delete an auction… Lots of cleanup stuff to do.

Thanks very much for the comments on the source! Sniper kitty was a fun addition, since I was going on vacation, and would be away on that day. I don’t very often get to do stuff that day that more than a few people notice. :)

As for (a) (b) and ©…

(a) I plan to eventually allow for ‘arbitrary columns’, so you could include a comment column, and place your rankings in the comments section. Then you could even sort by them… (Right now the ‘Select’ box allows searching in comments, which is a sometimes useful feature.)

(b) post-auction completion tracking is an important feature, and one I definitely want to get in. It relies a bit on user-definable columns, and the ability to edit data in the table on the fly. It’s complex, but it’s something I do want to do.

© Tell me what (non-proprietary please!) format you would like it exported to, and I can see what I can do. I’ve just implemented a preliminary (and kinda sketchy) print option in the CVS tree, which gives me the code to iterate over all the entries by row/column in the table, so I could probably export a CSV file now without much additional work, for instance.

Yeah, I never created a JBidwatcher icon because as yet I don’t have a decent installer for the Windows version. It’s one of the many things I need to do.

To be honest, while Windows has a HUGE userbase, it’s also one of the hardest to target decently. JBidwatcher currently runs on Windows in ‘raw JAR’ mode. I am considering purchasing a tool that creates a EXE file that wraps the java archive so that it looks like a Windows application, including embedded icon and everything. (It won’t make it faster, or not require a JRE, it’s still a .jar file internally, it just hides that.) When I go 1.0, I expect to have installers for Windows, Mac OSX (already done by a wonderful user, a while ago), and Linux, as well as the standard .jar versions for download on any other platform. Unfortunately, in order to do this, I really do need to buy a tool to create Windows-looking executables, as the majority of the Windows userbase isn’t as comfortable with .jar files, and the like.

I’m really glad the program is working well for you now, and please feel free to comment, or post up any other issues you’re having with it!

I’m actively working on getting a new version done, but work has just kicked into higher gear (we were blocked for weeks, and finally we got a new CEO who’s kicking some butt and getting things rolling).

My biggest issues right now are:

Make sure all interactive auction additions ignore the deleted list, while automatic additions respect it.

Determine how eBay is formatting the shipping values again, and fix the parsing to detect it.

Fix the broken detection of underbidded auctions. (Bid $4.01 for an item that has $4.0 as its current high bid, and you’re bidding under the minimum bid requirement. JBidwatcher doesn’t recognize the error that comes back for that, unfortunately.)

It should be impossible to drag and drop auctions to the ‘Completed’ tab, they should auto-redirect to ‘current’.

Completed items should be movable to other tabs, and be ‘sticky’ when they get there. (I.e. not move back to ‘completed’.).

Auto-save searches regularly, like I do for Auctions, so as to not lose new searches if JBidwatcher crashes due to a JVM or other error.


My one big new feature I’m working on right now is ‘print tab’.

A few cleanups to various displays, and a simply VAST amount of code cleanup has been done over the last few days.

— Morgan Schweers, CyberFOX!

 
Avatar Morgan Schweers Administrator 1,204 post(s)

Greetings,
To note, since I wrote that I’ve fixed interactive auction additions so they ignore the deleted list, drag and drop on the ‘completed’ tab now inserts into ‘current’, and searches auto-save when you close the search manager window.

The big difficulties are the parsing eBay code (shipping and error recognition), and making completed items ‘sticky’ in their new tab.

— Morgan Schweers, CyberFOX!

 
Avatar (SF) Scott S... 11 post(s)

Something I noticed – jBidWatcher seems to hang (not allowing save or exit) for me also, and I have found that it always seems to do it when it says at the bottom of the window that it is or has just syncronized time with ebay. This is after it has been running for a little while…

 
Avatar Morgan Schweers Administrator 1,204 post(s)

Greetings,
I’d very much like to get a copy of your error logs.

They’re generally stored in:
Documents and Settings\{username}\.jbidwatcher

If you can upload them and attach them to a bug report, I’d appreciate it a lot. It shouldn’t ever get to a point that it doesn’t allow save or exit.

It used to fail to accept close messages under MacOSX, because of a bug in the custom look and feel for OSX, but I found a workaround, so that’s fixed in the CVS version, and it shouldn’t have been an issue on Windows anyway.

Please upload any error logs, and I’ll check it out and see if I can’t figure out what went wrong…

— Morgan Schweers, CyberFOX!

 
Avatar (SF) Scott S... 11 post(s)

Well, I looked at a couple of the error logs, including one from tonight where it froze up on me and wouldnt quit, and the save button didnt do anything, and there was nothing in there – it just has a bunch of lines that say ‘updated xxx’, and ‘couldnt update xxx…’ (auction #’s) — there were no actual errors.

The entries in the log file stopped at the time of the freeze, so I assume it also was not updating any of the auctions.

It was however still counting down the times on each I believe.

I will start playing with the latest CVS version and see if this problem happens in that…

 
Avatar (SF) Scott S... 11 post(s)

I have this happening even in the CVS, though less frequently.

Here is the error when it freezes up that goes to the console:

Mon Jun 28 17:42:30 EDT 2004: Loaded 5906341915.
Exception in thread “AWT-EventQueue-0” java.lang.OutOfMemoryError: Java heap spa
ce
Exception in thread “AWT-EventQueue-0” java.lang.OutOfMemoryError: Java heap spa
ce

C:\jbidwatcher>

 
Avatar (SF) Scott S... 11 post(s)

By the way, I get these ‘freeze-ups’ even from a fresh run. For example, if I wipe out the settings files, download a fresh cvs (or use the release version), and put in a simple text search such as ‘tmaxx’, and just let the program run in the background (minimize it), it will at some point freeze up. It might take hours, or it might only take minutes, but it eventually will.

Almost every time it says ‘syncronized time with ebay’ at the bottom of the screen, but not ALWAYS

But I seem to always get this:
Exception in thread “Thread-9” java.lang.OutOfMemoryError: Java heap space
Exception in thread “AWT-EventQueue-0” java.lang.OutOfMemoryError: Java heap spa
ce

 
Avatar (SF) Scott S... 11 post(s)

Here is an exception while I was actually using it and then it froze up like normal:

Exception in thread “AWT-EventQueue-0” java.util.ConcurrentModificationException

at java.util.AbstractList$Itr.checkForComodification(Unknown Source) at java.util.AbstractList$Itr.next(Unknown Source) at AuctionServer.toXML(AuctionServer.java:300) at AuctionServerManager.toXML(AuctionServerManager.java:149) at AuctionsManager.saveAuctions(AuctionsManager.java:341) at JBidMouse.DoSave(JBidMouse.java:1305) at JBidMouse.DoAction(JBidMouse.java:1507) at JTabManager.actionPerformed(JTabManager.java:125) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour

ce)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

Tue Jun 29 20:37:25 EDT 2004: Loaded 5905670251.
Tue Jun 29 20:37:27 EDT 2004: Loaded 5905870766.
Tue Jun 29 20:37:29 EDT 2004: Loaded 5905679780.
Exception in thread “AWT-EventQueue-0” java.lang.OutOfMemoryError: Java heap spa
ce
Exception in thread “AWT-EventQueue-0” java.lang.OutOfMemoryError: Java heap spa
ce

 
Avatar (SF) Scott S... 11 post(s)

Ok, a new clue.
I did some testing, and found jbidwatcher hangs if you define a search such as ‘tmaxx’ to repeat every hour.

I have had it running without hanging for about 3 hours now, and the only difference is I did the initial search when I launched the application, but made sure the search was NOT set to repeat every hour like I usually have it….