Since GS 7.0.6 was released and I upgraded, I've encountered several of the bugs mentioned here by myself and others:
- inability to shut down the app because 480 pages of API results are being downloaded one page at a time
- memory and CPU spikes whenever multiple listings (300+) are selected
- occasional freezes/beachballs when launching 300+ listings all at once (especially when using "Duplicate and trash the copies")
- apparent failures to synchronize eBay listing state with in-app listing state
I realize that all of these symptoms are tied to the same problem in 7.0.6 that was not obvious in 7.0.5: For whatever reason, the 7.0.6 app is waiting for high-latency responses from eBay fro every one of its API calls.
- The "480 pages" of API results shown in the activity monitor is referring to paged API results. I have several thousand items listed, and several thousand more completed and sold listings. I haven't checked the eBay API, but the 7.0.6 app is showing that countdown and locking only a handful of listings are included in each page. Only after one page has been processed by 7.0.6 does the next page get requested.
- CPU is filling (and my fan is going crazy) because of pending threads. For whatever reason, 7.0.6 thread completion is much much slower than 7.0.5's. Until (for example) all 480 pages of updating has been completed, it looks as if all the listings are somehow launching "update me" threads. Sampling the process in Activity Monitor shows a huge proportion of my CPU is devoted to pending threads.
- The beachballs I've been experiencing typically arise when I select "Start…" for 300+ listings. Reading between the lines, this choice is simultaneously launching threads to duplicate the listings in the finder, move the old listings to the Trash folder, and verify the new listings on eBay. If enough of the verifications fail (for instance, several times I have seen traffic to and from eBay stop for five minutes or more), then the whole thing hangs while I wait for an answer that will never arrive.
- Since upgrading to 7.0.6 I've had several cases where I've double-sold items accidentally. I believe this is related to the complaints people have brought up about completed listings not matching, or sold prices not being updated to show correct values. The new, slower round-trip to eBay means that for my 480 API result pages of listings, the total time to complete (if everything goes well) is at least 30 minutes. This means that all work I do in the first 30 minutes after I launch the app will be working with obsolete data! So when I collect completed-not-sold listings and re-start them as duplicate listings, I am doing so without knowing that some of what I see as the "black" completed listings are in fact sold "green" listings that just haven't been updated yet on my client side.
- Whatever has happened to slow down API return values delays everything in the background processing. I am running on a quad-core 16-gig mini, and there is no shortage of application resources. This is definitely a problem with program logic. It may be something in the new Activity Viewer UI, but whatever the case @ilja and colleagues have not tested for how it scales in practice. Round-trip to eBay for each page of API results should not suddenly be 100x slower! In earlier versions, it was not even noticeable except in extreme circumstances.
- When I hand-select listings and click the "Update Listing" button, there is no delay. Whatever @ilja et al have done, they have apparently only done it to the background processes, not the imperative "do it now" process.
- Changing the preferences for how often the eBay information is downloaded is not a fix. This simply changes the number of times a 30-minute unstoppable slow process is launched. It doesn't make the process itself fast enough to be useful.
- Until this is fixed, I will have to manually "Update listing" for each listing I intend to re-start. I recommend to people experiencing problems (especially if they are having trouble with double listings or things "out of sync") that they manually select and click "Update Listing"
@ilja please do something to fix this latency. It's really a killer. I've had to cancel at least a dozen listings I accidentally re-launched after selling the items. I've had to force-quit the app when it beachballs due to stalled eBay responses at least ten times. I've had to carefully (manually) scour 3000+ listings looking for duplicates manually because I cannot trust the synchronization is correct.
And yes, I have sent in crash reports when the app crashes or I force quit it. I have not submitted bug reports because this is my bug report.
To reproduce it: Just try to do anything at all, with a real account, managing 500 or more listings round-trip to eBay. Compare 7.0.5 and 7.0.6. You don't need more information than that.