Welcome Guest ( Log In | Register )

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

 
post Nov 28 2016, 15: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
Go to the top of the page
+Quote Post

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



Casual Poster
***
Group: Members
Posts: 196
Joined: 21-June 11
Level 375 (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.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

 
post Nov 28 2016, 18:14
Post #3
AgentLillian



Blazing Pleiades
************
Group: Gold Star Club
Posts: 29,543
Joined: 6-March 08
Level 433 (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. (IMG:[invalid] style_emoticons/default/smile.gif)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

 
post Nov 28 2016, 18:38
Post #4
8055



Caffeine-Powered Scanner
***
Group: Members
Posts: 144
Joined: 17-May 09
Level 256 (Godslayer)


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.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

 
post Nov 28 2016, 20:16
Post #5
blue penguin



in umbra, igitur, pugnabimus
*********
Group: Global Mods
Posts: 6,931
Joined: 24-March 12
Level 438 (Godslayer)


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

Good work as usual btw, thanks.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

 
post Nov 28 2016, 20:19
Post #6
zbxehzqn



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


Tenboro: Anything against this code?
https://forums.e-hentai.org/index.php?s=&am...t&p=4669399

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

 
post Nov 28 2016, 23: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) *


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

 
post Nov 29 2016, 22: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 29 2016, 23:17
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

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



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


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

 
post Nov 30 2016, 15: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
Go to the top of the page
+Quote Post

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



Elite Poster
*********
Group: Global Mods
Posts: 5,085
Joined: 23-May 14
Level 277 (Godslayer)


According to a report made (presumably meant to reply)

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

 
post Nov 30 2016, 19: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
Go to the top of the page
+Quote Post

 
post Dec 1 2016, 12: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
Go to the top of the page
+Quote Post

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



kuururk
******
Group: Gold Star Club
Posts: 850
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. (IMG:[invalid] style_emoticons/default/anime_cry.gif) (IMG:[invalid] style_emoticons/default/anime_cry.gif)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

 
post Dec 1 2016, 17: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. (IMG:[invalid] style_emoticons/default/anime_cry.gif) (IMG:[invalid] style_emoticons/default/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
Go to the top of the page
+Quote Post

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



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


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

very slow storage or a massive cache.


How about both? (IMG:[invalid] style_emoticons/default/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
Go to the top of the page
+Quote Post

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



Lurker
Group: Recruits
Posts: 6
Joined: 3-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, 07:03
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

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



kuururk
******
Group: Gold Star Club
Posts: 850
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
Go to the top of the page
+Quote Post

 
post Dec 3 2016, 12: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
Go to the top of the page
+Quote Post

 
post Dec 3 2016, 22:05
Post #20
blue penguin



in umbra, igitur, pugnabimus
*********
Group: Global Mods
Posts: 6,931
Joined: 24-March 12
Level 438 (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 3 2016, 22:06
User is offlineProfile CardPM
Go to the top of the page
+Quote Post


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

 


Lo-Fi Version Time is now: 27th June 2017 - 14:20