BugHunt: empty repositories

  Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
BartOtten Offline
Member
Posts: 65
Joined: Nov 2012
Reputation: 3
Post: #1
Since a while I notice more reports of 'empty repositories' in XBMC (like: http://forum.xbmc.org/showthread.php?tid...ry+empty). Seems something goes wrong in XBMC as all repositories have the same issue. Please confirm or link to the appropiate bugreport (as I could not find one)
find quote
BartOtten Offline
Member
Posts: 65
Joined: Nov 2012
Reputation: 3
Post: #2
Well, reports all over the place so I'll just gonna add it to the bugtracker. Proof: https://www.google.com/search?q=empty+repository+xbmc

Report: http://trac.xbmc.org/ticket/14150
(This post was last modified: 2013-02-25 20:40 by BartOtten.)
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #3
it's pretty easy to explain what happens.

we drop the repo info. we then go on to fetch the new. if there's a time out, repo ends up empty. i did it like this since if there is a repo update, and you stick to the old info, you get weird errors (zips not found and such), while with a blank repo is obvious to everybody that they need to retry.
find quote
BartOtten Offline
Member
Posts: 65
Joined: Nov 2012
Reputation: 3
Post: #4
Yeah, it's obvious for people who know how such system works. However, users tend to think the repo is broken/not working instead of a 'local problem'. So the current solution is working developer wise, but user wise I think we have to come up with a better solution. Possible solutions I can think of:

- As far as I know, XBMC checks the current MD5 with the online MD5 to know if the addons.xml is outdated. Maybe it's a good thing to replace the current md5 only if the update was successful and check after each update if the MD5 are the same. If not, try to update addons.xml again (maybe with interfal and a max).
- Show "Something went wrong. Please click here to force refresh" if the users opens the addonlist of a repo in XBMC
(This post was last modified: 2013-03-04 23:25 by BartOtten.)
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #5
sure, it will have to be the latter.

it's not that we update the checksum (if it does, there's a bug). but the thing is, any old listing is known outdated once we know there's an update and repo's won't keep old versions of add-ons around. so you get cryptic failed to install messages instead if you try to grab an outdated add-on. for this reason, i chose to drop the old listing as soon as i know it's outdated. repos ARE checked, on a (by default) 6h interval, if a timeout occurs, it should be rechecked on the short cycle interval (10 mins iirc).
find quote
BartOtten Offline
Member
Posts: 65
Joined: Nov 2012
Reputation: 3
Post: #6
See here the confusion too: http://www.reddit.com/r/xbmc/comments/19...itory_for/

The new behavior is better than the old one, so thank you for it. Instead of having the problem hidden it's quite clear now Smile I think the best solution is a combination of a all:

1.) A message appears in the bottom right corner "Updating addonlist failed. Force refresh or wait 10 minutes."
2.) Show "Something went wrong. Please click here to force refresh" if the users opens the empty addonlist of a repo in XBMC
3.) Short cycle interval (10 mins iirc) for the fallen angel Smile

Guess the users are informed enough and when they miss the message the problem will resolve itself soon or they are notified as soon as they try to install an addon.

ps. I wonder why it fails so many times with time-outs as the CDN of SuperRepo and XBMC are quite stable (multiple 10 Gbps mirrors). Too bad I have no clue trying to read the code of XBMC as I am not a programmer (hmmm, that kinda sounds weird atm).
pps. Is it right that ALL the repo's refresh when you select one and click Force Refresh?
(This post was last modified: 2013-03-05 19:55 by BartOtten.)
find quote
captainamerica Offline
Junior Member
Posts: 1
Joined: Dec 2012
Reputation: 0
Post: #7
The way it seems to me and others over at cord cutters is that this repo made a big splash announcing itself, and to our disappointment we can't retrieve content. It may be user error but your instructions are limited and we have very little resources to figure it out.
find quote
BartOtten Offline
Member
Posts: 65
Joined: Nov 2012
Reputation: 3
Post: #8
It ain't a user error, it ain't a repo error and it ain't a XBMC error. It's a usability error I can only hope is fixed soon. It has nothing to do with SUperRepo, in fact the first reports about it were about other repositories (seeing them more frequently I started to investigate, made a report and started this thread)

Quote:but your instructions are limited and we have very little resources to figure it out.
Good point! It was already in the FAQ but I understand that is not enough (FAQ ain't that popular) . I have added a note to the Get Started-page about it Big Grin Clear enough this way?
(This post was last modified: 2013-03-06 04:15 by BartOtten.)
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #9
so basically, you want to make

Code:
addons = repo->Parse();
    if (addons.empty())
    {
      CLog::Log(LOGERROR,"Repository %s returned no add-ons, listing may have fa
iled",repo->Name().c_str());
      reposum = checksum; // don't update the checksum
    }

into a in-gui logging. makes sense i guess.
find quote
BartOtten Offline
Member
Posts: 65
Joined: Nov 2012
Reputation: 3
Post: #10
Yeah, plus a 'button' in the empty addonlist if possible as users might not see the notice (as the update happens automatically). Would be very sweet usability
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #11
the last one should be unneeded once bugs are ironed out Wink the idea was for it to autoupdate when you enter the repo in the add-on browse (and it did when i wrote the code). i can see that this has changed after and somebody inadvertedly broke this. i'll fix it up to work again.
find quote
BartOtten Offline
Member
Posts: 65
Joined: Nov 2012
Reputation: 3
Post: #12
The official repo with 300 addons and the All repo of SR can take some time though (use a Raspberry Pi and know all
about it Tongue). Does it display some feedback for user so they know it is updating?

edit: and some people have really slow connections.
(This post was last modified: 2013-03-06 22:29 by BartOtten.)
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #13
you'll get the busy dialog. i can easily spam users with even more useless info if you want that. i don't see the point though, it's not like we toss a dialog apart from the busy every time you list a directory elsewhere. it's pretty damn obvious that the box is doing something.

it will get faster as well. the other part of the bug i discovered is that *all* repos are updated whenever one is outdated...
find quote
BartOtten Offline
Member
Posts: 65
Joined: Nov 2012
Reputation: 3
Post: #14
As long as things are obvious I am okey with it (like I have something to say about it hehe)

(2013-03-05 19:48)BartOtten Wrote:  pps. Is it right that ALL the repo's refresh when you select one and click Force Refresh?

Glad you've found it too Big Grin. Repo system is improving by the hour yeahaaaaah. Tnx!
(This post was last modified: 2013-03-07 02:59 by BartOtten.)
find quote
BartOtten Offline
Member
Posts: 65
Joined: Nov 2012
Reputation: 3
Post: #15
Please tag this for 12.1 @Git as many users experience this problem.
find quote
Post Reply