2 Pages V  1 2 >  
Closed TopicStart new topic
> Hentai@Home 1.4.0, 9 year old memes still included

 
post Nov 28 2016, 21:26
Post #1
Tenboro

Admin




After a month of internal testing followed by two months of public testing, we're sufficiently confident in the code's stability to end the 1.3 experimental branch and release 1.4.0 as a stable version.

This release incorporates all the changes from the 1.3 branch and fixes two minor issues in 1.3.3. While 1.2.6 will continue working for the foreseeable future, this is now the recommended client to use.


Fixes in 1.4.0

- Corrected a bug where malformed files in the cache directory would cause a NullPointerException and abnormal exit during cache cleanup.

- Re-added the User-Agent header to prevent leaking the Java version string.


Notes for upgrading from 1.2.x

H@H 1.4 requires Java SE 7 or later to run. This is a version bump from 1.2.6, which could run on Java SE 6.

The first startup with this client will take longer than normal, as it will have to reorganize the cache and delete the unused files that are not in the client's list of static ranges.

After updating, you can delete sqlite-jdbc-3.7.2.jar and the hathdl directory from the main directory, as well as hath.db + the log files from the data directory.


To update an existing client: shut it down, download Hentai@Home 1.4.0, extract the archive, copy the jar files over the existing ones, then restart the client.

The full source code for H@H is available and licensed under the GNU General Public License v3, and can be downloaded here. Building it from source only requires the free Java SE 7 JDK.

For information on how to join Hentai@Home, check out The Hentai@Home Project FAQ.

Other download options can be found at the usual place.
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Nov 28 2016, 22:52
Post #2
ranphafranboise



Casual Poster
****
Group: Members
Posts: 473
Joined: 21-June 11
Level 500 (Godslayer)


If it ain't broke, I will not fix anything. Therefore, it will be months before I upgrade from 1.2.6, maybe when I restarted the servers.


--------------------
It's a proven fact that [www.media.uzh.ch] generosity makes you a happier person, so if you are generous enough to click my +K link and spare me some karma, then thank you.
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Nov 29 2016, 00:14
Post #3
@43883




************
Group: Gold Star Club
Posts: 31,394
Joined: 6-March 08
Level 500 (Newbie)


1.4.0 running fine here and building ranges at optimal pace. I'd recommend all 1.3.x Mainline users move to 1.4.0 Stable; a cache integrity check is not needed if you haven't had improper shutdowns.

Thanks for the update as usual, Tenb. smile.gif
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Nov 29 2016, 00:38
Post #4
8055



Dormant Scanner
***
Group: Members
Posts: 212
Joined: 17-May 09
Level 355 (Dovahkiin)


Will set up on my home terminal once I get the chance this evening. 1.3's been working well, minus some OS freezing issues I believe is more related to load from constant HDD access rather than the H@H client itself (that and my system is well overdue for a hardware overhaul).

Hopefully this remedies some of that trouble I've been having, lately.


--------------------
Amateur Doujinshi Scanner & Yuyushiki/Kill Me Baby enthusiast. (mis)Manager of Wasa Scans.

ーBaby, Please Scan Meー

Status: Scanning Commissions are currently ON HOLD. To be updated at a date in the near future.
Support my translation and editing bounties here.ON HOLD. Currently these are expired.

My Baraag(I post updates here sometimes): [baraag.net] Wasa Scans
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Nov 29 2016, 02:16
Post #5
blue penguin



in umbra, igitur, pugnabimus
***********
Group: Global Mods
Posts: 10,027
Joined: 24-March 12
Level 500 (Godslayer)


Are you following Linux kernel releases Tenb? i.e. odd numbers are experimental, even releases are sable.

Good work as usual btw, thanks.


--------------------
QUOTE(blue penguin @ Jun 21 2021, 17:24)
For 10 years of my life I have refused to add if-else blocks in order to support internet explorer idiocy, am not going to start doing it now in order to support google chrome's idiocy. Sorry folks. As harsh as the advice sounds my advice will be: use a browser that follows IETF standards.
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Nov 29 2016, 02:19
Post #6
zbxehzqn



Newcomer
*
Group: Recruits
Posts: 15
Joined: 4-October 16
Level 0 (Newbie)


Tenboro: Anything against this code?
/index.php?s=&am...t&p=4669399

I had not have any coment on it.
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Nov 29 2016, 05:13
Post #7
Tenboro

Admin




QUOTE(blue penguin @ Nov 28 2016, 19:16) *

Are you following Linux kernel releases Tenb? i.e. odd numbers are experimental, even releases are sable.


Linux doesn't actually do that anymore, but yes.

QUOTE(zbxehzqn @ Nov 28 2016, 19:19) *

Tenboro: Anything against this code?
/index.php?s=&am...t&p=4669399


Like I said before, it doesn't work with the current code because of the changes in 1.3.3.
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Nov 30 2016, 04:21
Post #8
zbxehzqn



Newcomer
*
Group: Recruits
Posts: 15
Joined: 4-October 16
Level 0 (Newbie)


Tenboro: I maked this code again:

CODE

    private void startupInitCache() throws IOException {
        long recentlyAccessedCutoff = System.currentTimeMillis() - 604800000;

        // update actions:
        // staticRangeOldest    - add oldest modified timestamp for every static range
        // addFileToActiveCache    - increments cacheCount and cacheSize
        // markRecentlyAccessed    - marks files with timestamp > 7 days in the LRU cache
        
        // if --verify-cache was specified, we use this shiny new FileValidator to avoid having to create a new MessageDigest and ByteBuffer for every single file in the cache
        FileValidator validator = null;
        int printFreq;

        if(Settings.isVerifyCache()) {
            Out.info("CacheHandler: Loading cache with full file verification. Depending on the size of your cache, this can take a long time.");
            validator = new FileValidator();
            printFreq = 1000;
        }
        else {
            Out.info("CacheHandler: Loading cache...");
            printFreq = 10000;
        }
        
        walkFile dw = new walkFile();
        dw.recentlyAccessedCutoff = recentlyAccessedCutoff;
        dw.validator = validator;
        dw.printFreq = printFreq;
        
        Files.walkFileTree(cachedir.toPath(), EnumSet.of(FileVisitOption.FOLLOW_LINKS), 3, dw);
        
        Out.info("CacheHandler: Finished initializing the cache (" + cacheCount + " files, " + cacheSize + " bytes)");
        Out.info("CacheHandler: Found a total of " + foundStaticRanges + " static ranges with files");
        updateStats();
    }
    
    private class walkFile extends SimpleFileVisitor<Path> {
        long fileLastModified = 0;
        int printFreq = 0;
        Path cfile = null;
        private FileValidator validator;
        private long recentlyAccessedCutoff;
        long oldestLastModified;
        
        private LinkedList<DirPath> dirs = new LinkedList<>();
        
        class DirPath{
            String name;
            boolean empty = true;
        }
        
        @Override
        public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
            DirPath dirPath = new DirPath();
            dirPath.name = dir.getFileName().toString();
            dirs.addLast(dirPath);
            
            oldestLastModified = System.currentTimeMillis();
            
            return FileVisitResult.CONTINUE;
        }
        
        public FileVisitResult visitFile(Path cfile, BasicFileAttributes attr) throws IOException {
            
            HVFile hvFile = HVFile.getHVFileExistsFile(cfile, attr, validator);

            if (hvFile == null) {
                Out.debug("CacheHandler: The file " + cfile + " was corrupt.");
                Files.delete(cfile);
            } else if (!Settings.isStaticRange(hvFile.getFileid())) {
                Out.debug("CacheHandler: The file " + cfile + " was not in an active static range.");
                Files.delete(cfile);
            } else {
                addFileToActiveCache(hvFile);
                long fileLastModified = attr.lastModifiedTime().toMillis();

                if (fileLastModified > recentlyAccessedCutoff) {
                    // if lastModified is from the last week, mark this as recently accessed in the LRU cache. (this does not update the metadata)
                    markRecentlyAccessed(hvFile, true);
                }
                // dir has files
                for(DirPath dir : dirs){
                    dir.empty = false;
                }
            }

            oldestLastModified = Math.min(oldestLastModified, fileLastModified);

            if (cacheCount % printFreq == 0) {
                Out.info("CacheHandler: Loaded " + cacheCount + " files so far...");
            }

            return FileVisitResult.CONTINUE;
        }
        
        @Override
        public FileVisitResult postVisitDirectory(Path dir, IOException attr) throws IOException {
            
            DirPath visited = dirs.removeLast();
            if(visited.empty){
                Files.delete(dir);
            } else if (dirs.size() == 1){
                String staticRange = dirs.getLast().name + visited.name;
                staticRangeOldest.put(staticRange, oldestLastModified);
                
                if(++foundStaticRanges % 100 == 0) {
                    Out.info("CacheHandler: Found " + foundStaticRanges + " static ranges with files so far...");
                }
            }
            
            return FileVisitResult.CONTINUE;
        }
    }


This is now correct?

This post has been edited by zbxehzqn: Nov 30 2016, 05:17
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Nov 30 2016, 17:37
Post #9
KitKat31337



Lurker
Group: Recruits
Posts: 6
Joined: 4-August 14
Level 41 (Artisan)


Same NOT-LOGGED_IN error as on 1.3.3
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Nov 30 2016, 21:58
Post #10
Tenboro

Admin




QUOTE(zbxehzqn @ Nov 29 2016, 21:21) *

Tenboro: I maked this code again:
This is now correct?


Thanks, I'll take a look at it, but it probably won't make it into an official build for quite some time.

QUOTE(KitKat31337 @ Nov 30 2016, 10:37) *

Same NOT-LOGGED_IN error as on 1.3.3


QUOTE(Tenboro @ Nov 27 2016, 14:07) *

Are you trying to use the same ident for multiple clients?

User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Nov 30 2016, 22:17
Post #11
Mrsuperhappy



Elite Poster
**********
Group: Global Mods
Posts: 8,989
Joined: 24-May 14
Level 391 (Godslayer)


According to a report made (presumably meant to reply)

QUOTE
KitKat31337 @ Today, 09:25
No, just a single client.
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Dec 1 2016, 01:12
Post #12
Tenboro

Admin




QUOTE
No, just a single client.


I'm not seeing any recent connection attempts, but if you still have that issue, post log_out somewhere and send me a link. (And make sure to enable the log first if you turned it off.)
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Dec 1 2016, 18:27
Post #13
Tenboro

Admin




QUOTE(KitKat31337 @ Nov 30 2016, 10:37) *

Same NOT-LOGGED_IN error as on 1.3.3


After examining someone else's logs, your issue seems to be that Trend Micro is a stupid POS. Get rid of that and try it again.
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Dec 1 2016, 21:20
Post #14
wodhuhh



kuururk
******
Group: Gold Star Club
Posts: 886
Joined: 11-January 15
Level 500 (Godslayer)


2016-12-01T11:22:05Z [info] CacheHandler: Cache cleanup pass..
2016-12-01T11:22:05Z [info] CacheHandler: Cleanup pass at 10%
2016-12-01T11:54:32Z [info] CacheHandler: Cleanup pass at 20%
2016-12-01T12:29:14Z [info] CacheHandler: Cleanup pass at 30%
2016-12-01T13:03:56Z [info] CacheHandler: Cleanup pass at 40%

It 's too late. anime_cry.gif anime_cry.gif
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Dec 1 2016, 23:05
Post #15
Tenboro

Admin




QUOTE(wodhuhh @ Dec 1 2016, 14:20) *

2016-12-01T11:22:05Z [info] CacheHandler: Cache cleanup pass..
2016-12-01T11:22:05Z [info] CacheHandler: Cleanup pass at 10%
2016-12-01T11:54:32Z [info] CacheHandler: Cleanup pass at 20%
2016-12-01T12:29:14Z [info] CacheHandler: Cleanup pass at 30%
2016-12-01T13:03:56Z [info] CacheHandler: Cleanup pass at 40%

It 's too late. anime_cry.gif anime_cry.gif


That's just for the first startup. And in your case, either with very slow storage or a massive cache.
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Dec 2 2016, 12:09
Post #16
Gerry B



Lurker
Group: Gold Star Club
Posts: 7
Joined: 30-January 16
Level 108 (Lord)


QUOTE(Tenboro @ Dec 1 2016, 07:05) *

very slow storage or a massive cache.


How about both? biggrin.gif

2016-12-01T07:23:32Z [info] CacheHandler: Cache cleanup pass..
2016-12-01T10:48:38Z [info] CacheHandler: Cleanup pass at 10%
2016-12-01T13:43:52Z [info] CacheHandler: Cleanup pass at 20%
2016-12-01T16:36:16Z [info] CacheHandler: Cleanup pass at 30%
2016-12-01T18:49:09Z [info] CacheHandler: Cleanup pass at 40%
2016-12-01T20:45:32Z [info] CacheHandler: Cleanup pass at 50%
2016-12-01T22:54:04Z [info] CacheHandler: Cleanup pass at 60%
2016-12-02T00:59:46Z [info] CacheHandler: Cleanup pass at 70%
2016-12-02T02:58:44Z [info] CacheHandler: Cleanup pass at 80%

I'm excited, 80%! In a few more hours my update will be done. And it's going to work great. Fingers crossed.
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Dec 2 2016, 12:55
Post #17
KitKat31337



Lurker
Group: Recruits
Posts: 6
Joined: 4-August 14
Level 41 (Artisan)


QUOTE(Tenboro @ Dec 1 2016, 06:27) *

After examining someone else's logs, your issue seems to be that Trend Micro is a stupid POS. Get rid of that and try it again.


[puu.sh] https://puu.sh/sBo73/deb267653c

^^ Log as requested. And Not sure if anything about my client can be spoofed from that, so I did reset my client key after posting this.

Also, I do not have Trend Micro, I have ESET NOD32.

Also, thank you those of you that pointed out my response on the initial report.

Ok, SO you did mention Trend Micro, and while I do not use it, parts of my firewall do. Disabling those parts seems to have resolved this.

This post has been edited by KitKat31337: Dec 2 2016, 13:03
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Dec 2 2016, 13:44
Post #18
wodhuhh



kuururk
******
Group: Gold Star Club
Posts: 886
Joined: 11-January 15
Level 500 (Godslayer)


QUOTE(Tenboro @ Dec 2 2016, 00:05) *

That's just for the first startup. And in your case, either with very slow storage or a massive cache.


(massive cache + vaccine) was the cause.

User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Dec 3 2016, 18:40
Post #19
zbxehzqn



Newcomer
*
Group: Recruits
Posts: 15
Joined: 4-October 16
Level 0 (Newbie)


Tenboro: Did you looked at it? Is it correct?
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post

 
post Dec 4 2016, 04:05
Post #20
blue penguin



in umbra, igitur, pugnabimus
***********
Group: Global Mods
Posts: 10,027
Joined: 24-March 12
Level 500 (Godslayer)


QUOTE(zbxehzqn @ Dec 3 2016, 10:40) *
Tenboro: Did you looked at it? Is it correct?

QUOTE(Tenboro @ Nov 30 2016, 13:58) *
Thanks, I'll take a look at it, but it probably won't make it into an official build for quite some time.


This post has been edited by blue penguin: Dec 4 2016, 04:06


--------------------
QUOTE(blue penguin @ Jun 21 2021, 17:24)
For 10 years of my life I have refused to add if-else blocks in order to support internet explorer idiocy, am not going to start doing it now in order to support google chrome's idiocy. Sorry folks. As harsh as the advice sounds my advice will be: use a browser that follows IETF standards.
User is offlineProfile CardPM
Report PostGo to the top of the page
+Quote Post


2 Pages V  1 2 >
Closed TopicStart new topic
1 User(s) are reading this topic (0 Guests and 0 Anonymous Users)
1 Members: qq7502547

 


Lo-Fi Version Time is now: 15th October 2022 - 22:45