dc++ stalls on loading at (Country information) stage

Asked by Paul Wilson on 2014-04-03

Started DC++ up after not having used it for a while.
It just stalls showing "Loading DC++, please wait... (Country information)"
I was on an older release so I upgraded to DC++ 0.831, 64-bit in case it was a known and since fixed issue.
The new release rehashed all my files as I expected but then it stalls at the same point.

What might I need to do to resolve this?

Question information

English Edit question
DC++ Edit question
No assignee Edit question
Solved by:
Paul Wilson
Last query:
Last reply:
eMTee (realprogger) said : #1

Try to find and delete the geoip database files
they might become corrupted somehow. If you using the default installer version of DC++ then these files are in the Local Appdata folder.
http://dcplusplus.sourceforge.net/webhelp/faq_settings_files.html helps you finding the exact location of the files depending on your OS and DC++ installation mode.

Paul Wilson (pgul) said : #2

Deleting those files did allow DC++ to start and it re-downloaded them.
However, on exiting and restarting, the problem recurs so I have to delete them every time.
Also, even when I get DC++ started, after a little while, it freezes with (not responding) and I have to kill it.

Paul Wilson (pgul) said : #3

Ah, I think I've determined the problem.
The 555Kb GeoIPv6.dat.gz file that it downloads each time is actually corrupted when I test it with 7zip.
So I'm guessing when DC++ tries to decompress it as part of startup, it hits the same issue and stalls.
And maybe the freeze is related to the same issue if DC++ tries to decompress the file after downloading.

eMTee (realprogger) said : #4

It works here.
Try to disable the Coral cache if it's enabled in Settings/Advanced/Use Coral for HTTP downloads. It is enabled by default and maybe the cache content in the Coral server near you is corrupted.

Paul Wilson (pgul) said : #5

If I go to http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz
and download that directly, I get the same truncated 555Kb file to it looks like you're right.

I downloaded an older copy of GeoIv6.dat.gz from another site and got a full 740Kb file which test as valid.
Placing that in the DC++ file seems to the startup and freezing problems.

I'll try disabling the coral cache and see if that also resolves the issue.

Paul Wilson (pgul) said : #6

No, the coral cache setting doesn't change anything.
When I update the geoip database, it still downloads the broken geoipv6.dat.gz file, just like I get from the direct URL.
The only thing that works so far is using the older file I downloaded myself.

Since IPv6 geolocation is not that necessary, is there a way to disable the DC++ geoip database updating?

eMTee (realprogger) said : #7

Unfortunately not but IIRC DC++ checks for the updated files on a roughly monthly basis using the date of the last downloaded geoip file so it won't update again for a while. Most probably they'll fix the issue at Maxmind by the the time of the next update check unless it is a weird issue with your connection... but that's highly unlikely.

Paul Wilson (pgul) said : #8

Thanks for the information.
The geoipv6.csv.gz files on the maxmind site are OK - it just seems to be the geoipv6.dat.gz that's damaged.
I expect it you're correct that it will get corrected at some point.

poy (poy) said : #9

looks like the linked file has been updated... does anyone still have the corrupted one? DC++ should not freeze when it encounters an error during decompression; that would be a bug.

eMTee (realprogger) said : #10

The ones who tried from the team, including me, couldn't reproduce it the time of the above talk. See the hub talk for the possible ideas of what could cause this.

Paul Wilson (pgul) said : #11

Yes, it's been updated 583K in size now and decompresses correctly.
I don't have the damaged file anymore unfortunately.
However if you truncate the current one to ~555K, it might reproduce the problem.

poy (poy) said : #12

works fine (as in, countries aren't available but DC++ doesn't freeze) when i truncate the file to 555 KB. let's assume it was a fluke. :)