File: 1422868263828.jpg (1022.74 KB, 3493x1037, 3493:1037, hydrus_client_2015-02-02_0….jpg)
85aad4 No.173
I suppose I'll start a thread for bug reports?
Description Hydrus fails to upload the petition for files if files were queued only for deletion on the server. This does not happen if files are both queued for uploading and some are queued for deletion.
Basically boils down to files pending count being anything like (0/x) failing and working if (>0/x).
Pic related.
Traceback UnboundLocalError
local variable 'i' referenced before assignment
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusThreading", line 163, in run
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 235, in _THREADUploadPending
UnboundLocalError: local variable 'i' referenced before assignment
85aad4 No.178
File: 1422993613733.jpg (148.37 KB, 980x1320, 49:66, 39239a6ba837f5dadcc9120272….jpg)
Thank you for this report. I have fixed the problem for the release I am putting together now.
85aad4 No.450
Not really a bug report, but is this ever going to be changed? It tells me absolutely nothing and makes me have to start a 400 file download all over again just to catch one file. In general most of the popups when downloads fail are kind of useless.
85aad4 No.459
File: 1426455292975.jpg (194.9 KB, 953x1379, 953:1379, 26e41218edfde78602bd0b44c5….jpg)
>>450I have seen that before a few times, and I agree it isn't helpful.
It isn't one of my errors, though, and I can't figure out what is producing it, other than 'something called by my network code'. Can you post/email me the traceback text? You should be able to find it in client.log, which is in install_dir/logs. I can then work on catching the error and recovering from it better.
I assume this happens while running a gallery download page, like a booru search, right? The error happens and then the 'building import queue' box stops updating?
85aad4 No.469
I'm just putting bug reports on github. That way each one has its own thread, you know when it's finished, and if it resurfaces you can re-open it.
85aad4 No.492
>>459Whoops, completely forgot about this. I believe the traceback is this:
[Errno 10054] An existing connection was forcibly closed by the remote host
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusDownloading", line 1059, in
call File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusDownloading", line 1133, in _GetArgs
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusDownloading", line 348, in GetFileAndTags
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusDownloading", line 332, in _GetFileURLAndTags
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusDownloading", line 116, in _FetchData
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 198, in Request
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 148, in _DoRequest
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 416, in Request
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\httplib", line 1067, in getresponse
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\httplib", line 409, in begin
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\httplib", line 365, in _read_status
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\socket", line 476, in readline
error: [Errno 10054] An existing connection was forcibly closed by the remote host
85aad4 No.494
Actually I have a couple more problems.
Remember when you added those arrows to the tag dialog? The ones that make you go forward/backwards in images? Whenever I use them, when i press cancel or apply to quit, the entire program just crashes with this error.
On the side, Hydrus has become really bad with memory lately. Sometimes it'll explode if I load an image with too big size or even just the dimensions, with I think this traceback:
MemoryError
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusThreading", line 169, in run
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusImageHandling", line 635, in THREADRender
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusImageHandling", line 627, in _GetHydrusBitmap
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusImageHandling", line 154, in GenerateHydrusBitmapFromPILImage
File "D:\Hydrus Network\eggs\pillow-2.3.0-py2.7-win32.egg\PIL\Image.py", line 570, in tostring
return self.tobytes(*args, **kw)
File "D:\Hydrus Network\eggs\pillow-2.3.0-py2.7-win32.egg\PIL\Image.py", line 561, in tobytes
return b"".join(data)
After having it open for too long it sometimes will just explode when adding a new page, refreshing a search or even just scrolling a thumbnail list. It'll replace the page with a black screen, but the sidebar stays functional. No error message or anything, and if you fiddle with it for too long it'll just crash.
85aad4 No.497
File: 1426969411576.jpg (487.08 KB, 1536x1021, 1536:1021, 53c547da029341bf0f6660cf7a….jpg)
>>492I managed to recreate this last week. I did a
bit of work on it; I think you will probably still see the error, but the downloader should recover better from it. There is still a lot more work to do to make the different downloaders work better and recover and retry tasks in smarter ways.
>>494That's really interesting about the crash, because me and another guy have been trying to zero in on that exact problem, and it has been stumping me. That you are getting that dialog is very helpful. I don't think my code is doing anything too clever with those buttons, so it might be a bug in the libraries I am using. I've had a new idea for a fix that I'm incorporating into v151's code. Please let me know if you still get the error next week. One question–does the error happen in both cases of opening the tag dialog with the right click menu
and by opening it with F3?
As for memory usage, I agree this is an increasing problem. As the program can do bigger things more quickly, memory gets eaten faster and limits get crossed more easily. My graphics library is finicky about what needs to be deleted carefully, and what will delete itself, and what will linger inexplicably for ten minutes before deleting itself. Some of that stuff is in my control, and some isn't. I'm slowly working on it. I'd love to move to 64-bit to alleviate the problem, but there are additional problems with that. For now, I mostly want to build a manager for my bitmaps that'll explicitly clear their huge memory as soon as it can be done.
Loading singularly big images is the biggest culprit of memory errors, but they are a more complicated problem. I want to make a cleverer paged system for displaying highly zoomed in areas, like I did recently for thumbnail display, that will speed rendering and cut memory usage massively, but it'll be a big job.
Since you are getting memory errors quite a bit, is there anything that seems to really aggravate it for you? Is it browsing with the big media viewer that sets it off most, or animated images?
85aad4 No.499
>>494
I made a thread just for the crashing problem:
>>498
85aad4 No.502
>>497Surprisingly, opening the tag menu with F3 doesn't cause the crash. Huh.
As for the memory errors, it's kinda hard to tell, but it seems to happen most when using the media viewer to view large images, both in size and dimensions. I once had to restart hydrus after viewing 2 jpegs that weren't even a megabyte big, but were something like 4000x3000. Large gifs can set it off occasionally, but it seems they'd rather simply not load at all. A semi-educated guess of mine is that the way zoomed images are rendered might be involved here.
85aad4 No.508
Well, this time it happened with a webm, actually!
A 4.4MB 353 frame webm. And it threw up a lot of different tracebacks, so I suppose I might list them anyway.
MemoryError
RuntimeError
Failed to gain raw access to bitmap data.
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUICanvas", line 306, in TIMEREventVideo
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUICanvas", line 159, in _DrawFrame
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusImageHandling", line 532, in GetWxBitmap
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\wx._gdi", line 967, in BitmapFromBuffer
MemoryError
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusVideoHandling", line 378, in THREADRender
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusVideoHandling", line 605, in read_frame
MemoryError
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUICanvas", line 406, in EventMouse
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUICanvas", line 259, in GotoFrame
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusVideoHandling", line 471, in SetFramePosition
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusVideoHandling", line 354, in _RENDERERSetFramePosition
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusVideoHandling", line 640, in set_position
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusVideoHandling", line 586, in skip_frames
Funny thing is, the preview window shows it just fine/
Oh, while I'm on the topic of the preview window, is there a reason why animated media (gifs, webms, i believe apngs as well) runs really slow in the big media viewer, but just fine in the preview window? Even at 25% zoom, the big media viewer runs slowly, and even if I increase the size of the preview window, it still runs fine.
Aaand resizing the sidebar caused the entire page to become black.
85aad4 No.521
File: 1427233190594.jpg (410.22 KB, 1034x1372, 517:686, 1abfbd2a5f95f4d3ddb7adae5c….jpg)
>>508Larger animations like 1080p webms are slow on larger zooms because:
1) My animation code is fairly hacked together, so it is likely it runs inefficiently.
2) There are no neat and fast and well maintained animation libraries for python (at least that I can find!), so my code hops, skips, and jumps through some inefficient hoops just to get a buffer of frames rendered, and python is not great at handling large amounts of data quickly.
At the moment, when you zoom out, the original source of the animation is still churning out frames at the initially asked for resolution. As this is where most of the 100% CPU time is going, zooming out doesn't reduce render time much. I can restart the pipeline every time the user zooms out, but it might add lag. I'll do some testing, and see what I can do.
I can also just do some profiling and see if I can speed up my code generally.
85aad4 No.594
This happens when I try to search by number of tags.
85aad4 No.595
>>594Thank you for this report. I am afraid I don't get it myself, so could you reproduce it and click 'copy traceback information' and paste that info here? If it is private, you can email it to me.
85aad4 No.603
>>595It doesn't happen when I do the same search on a fresh install of the client, but if I restore from my main backup to that fresh install and then attempt to search by number of tags, I get the error, which makes me worry something's happened to my database. Apart from migrating my Windows install to a SSD a few days ago I don't know what might be the culprit. The traceback:
Database Error!
'function' object is not iterable
Stack Trace (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\threading", line 783, in __bootstrap
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\threading", line 810, in __bootstrap_inner
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusThreading", line 173, in run
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientController", line 479, in THREADDoFileQuery
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 114, in Read
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 35, in _Read
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 6138, in Read
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusData", line 1125, in GetResult
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 6065, in ProcessJob
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 5948, in ProcessRead
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 1979, in _GetFileQueryIds
TypeError: 'function' object is not iterable
85aad4 No.604
so i've been getting this error a lot for about a month now. and it's still not gone after i've patched to the latest version.
i hope i don't have to nuke my db now..
Database Error!
database disk image is malformed
Unknown Caller, probably GUI.
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 6066, in ProcessJob
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 6043, in ProcessWrite
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 5896, in _Vacuum
DatabaseError: database disk image is malformed
85aad4 No.606
File: 1428268177640.jpg (108.45 KB, 1121x1589, 1121:1589, 683d99e73ef2f62ca750364147….jpg)
>>603Thank you for this. I found the error–there was a data-handling bug when trying to search for number of tags while a namespace censorship existed. I think I have fixed it for next week. Please let me know if it still occurs!
The bad code was attempting to correct for the number of tags by excluding counts for the censored tags. This was complicated, not accurate, and as we just encountered, prone to problems, so I have completely removed it i.e. tag counts will now be on total number of tags, even ones you don't see. Please let me know if this inaccuracy is very annoying, and I will attempt to redo this code a bit better.
85aad4 No.607
>>604This is a bad error,
usually from a hard drive failure such as a sector dying. That vacuum (which goes through the entire database and essentially defrags it) is encountering it suggests this is something sqlite cannot recover from on its own. This could be a minor blip, or a very serious problem.
I have written a mini-guide on what to do next under install_dir/db, called 'help my db is broke.txt'. Please give it a go and let me know how you get on. I'm happy to help you through any steps you don't understand and offer thoughts on what to do if the problem isn't easily fixed.
85aad4 No.610
>>606Thanks for the tip! I removed the couple of censors I made and the search went back to normal. Please do something about the tag counting code in future, because I plan to use censorship more extensively and I just know the inaccurate tag counts would slowly drive me mad!
85aad4 No.617
Okay, I'm getting more and more crashes when using the program lately. I have absolutely no idea why. Sometimes it'll just crash completely without an error message when viewing 2 small images, and viewing a bigger image is completely impossible, unless I do it straight after opening the program. Is anybody else having those problems?
85aad4 No.626
I think I'm giving up on the server… I've had to delete/recreate my server AND clients multiple times because of sync issues that never resolve. Having to wait 25 hours to verify that the sync fucked up is also not fun… Guess I'll just be exporting pictures and tags, manually moving them to my main PC, and importing them to the client there, until the server gets a little more attention and polish.
I just went and tagged a number of pictures, and I cannot upload the 391 pending tags.
Database Error!
need more than 3 values to unpack
Stack Trace (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\threading", line 783, in __bootstrap
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\threading", line 810, in __bootstrap_inner
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusThreading", line 173, in run
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 1591, in _THREADUploadPending
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 114, in Read
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 35, in _Read
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 6180, in Read
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusData", line 1141, in GetResult
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 6107, in ProcessJob
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 6009, in ProcessRead
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 2869, in _GetPending
ValueError: need more than 3 values to unpack
85aad4 No.633
File: 1429036859148.jpg (236.34 KB, 1105x2234, 1105:2234, 5023ff9215c4c048b0f664dfc0….jpg)
>>626Thank you for this report. I agree that the server is not ready for prime time for most normal users.
The tag error is a bug I think I introduced this past week, to do with uploading petitions in certain situations. I have fixed it for next version, which will probably be on the 22nd.
>>617I am sorry you are having this problem. Do you get any useful information when an error message does pop up? Is anything written to the bottom of client.log (under install_dir/logs)?
If you have a bit of time and energy, please try making a completely clean install, and tell me if that fixes anything. You can do this by:
Shutting the client down.
Moving your install_dir/db directory somewhere safe.
Uninstalling/Deleting your install dir.
If you uninstalled, making sure that install directory is truly deleted, and doesn't have any old dlls hanging around in it.
Reinstalling.
Moving your db directory back.
Booting the client again.
Thank you!
85aad4 No.678
Trying to synchronize those archives the dev provided, but I get:
Database Error!
This archive has no hash type set, and as it has no files, no hash type guess can be made.
Unknown Caller, probably GUI.
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusDB", line 170, in _ProcessJob
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 5988, in _Write
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 5885, in _UpdateServices
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 4838, in _SyncToTagArchive
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusTagArchive", line 207, in GetHashType
Exception: This archive has no hash type set, and as it has no files, no hash type guess can be made.
85aad4 No.683
File: 1430259020272.jpg (273.05 KB, 949x2050, 949:2050, 59d89e56f5eea23d5f5d54f5d2….jpg)
>>678
Thank you for this report. The error here is actually wrong–it was a complicated thread initialisation problem from the db-rewrite from a couple of weeks ago. The error was not being caught correctly. This problem should be fixed in tomorrow's release.
85aad4 No.721
BMP related bugs
Dragging an image file from a browser, hydrus thinks it's a bmp and then fails to find it.
Importing an actual BMP causes it to dither the hell out of the image.
85aad4 No.727
File: 1431896678833.jpg (308.57 KB, 1275x1970, 255:394, 163586a981045731d038cee4aa….jpg)
>>721
This is interesting to know about browsers–it looks like the bmp is getting deleted as soon as the mouse drag and drop event is completed, and since hydrus passes import paths around a bit before actually reading the file, it is gone. I am not sure if the browser is doing this or if the OS is creating the temporary bmp file as a fallback for a raw bmp inside the drag and drop event (which hydrus does not accept).
I am not sure to what extent I can support bmp DnD operations. I will look into it and try to fix this. Thank you for reporting it.
Hydrus tries to convert .bmp to .png on import, so the dithering is probably a problem with this conversion step. Thank you for the broken example–I will try to fix it on my end.
85aad4 No.730
>>727
Drag and drop from a browser to other applications does not result in a bmp, though. I think you're approaching it from a different angle, because drag and drop normally with any file- there is no conversion of the image nor does the content of the image matter for the drag and drop file operation.
That was an intact bmp. here's a dithered example
85aad4 No.732
File: 1431954804115.jpg (197.8 KB, 1214x1481, 1214:1481, de4432cc712db2bd5ada1957d7….jpg)
>>730
Sorry, I meant that I tried importing that bmp and got the dithered png you posted here. I was going to ask you to provide a bmp that I could test with, and then I realised that was what you posted, despite 8chan sticking a .jpg on the end for some reason.
I don't understand DnD 100%, but as far as I know, the browser is loading the DnD DataObject of an image with multiple types. It will provide, "Here it is as a bmp", which Photoshop or GIMP would be interested in; it will provide "Here it is what it links to", which is what my other browsers interpret when I do inter-browser DnD of linked images; it will provide "Here it is as a temp jpg path", which is what Explorer seems to be interpreting when I go browser->folder. When Windows handles the inter-program DnD, it tries to match what the source provides with what the destination says it can accept. Hydrus only says that it can accept filenames, and this seems to be misfiring.
When I try to do browser->hydrus, I see a path like '~/appdata/local/temp/uteohunothun.bmp'. Do you get something with a .jpg or whatever? I am using Pale Moon.
85aad4 No.734
>>633
I went and did the clean install. Nothing seems to have changed. I'm starting to think it has something to do with having more than a couple tabs open, no matter how many files they actually have. Zooming images seems to accelerate the problem, too. It might be because I constantly have about 4gb of memory in use, mostly because of my 400 Firefox tabs. It's hard to me to even pinpoint when this happens.
85aad4 No.735
>>721
>>730
I've fixed this for tomorrow. Thank you again for reporting this, and please let me know if it does not work for you!
>>734
I had a crash myself this week while the huge 700k update was processing. I also got some RuntimeErrors and MemoryErrors while just browsing/zooming some regular files while another update was processing. The client was only using 400MB of memory, and I had a couple gigs spare overall. I suspect my graphics library is throwing a fit about generating big 'canvas bmps' (the squares of memory onto which I draw images) while the gui thread is blocking for a long time. Or perhaps some garbage collection isn't happening, or I am Destroying some objects in the incorrect order. Perhaps there is an issue with Windows timing out the new gui object if hydrus doesn't pick it up fast enough? I am really not sure. I plan to look at this next week in more detail. Please keep me updated on whether this problem gets worse or better in future, and if you notice any more symptoms or aggravating factors.
85aad4 No.738
Whenever I try to refresh the account for the local file repository, I get this error and the rest of the updates fail to download. Could it be why all the images I try to view using tags from the public repo while searching using the settings "all known files" end up looking like the hydrus icon and have an unkown MIME type, preventing them from being viewed and exported?
85aad4 No.739
>>738
Also here's how it looks like whenever I search a query using "all known files"
85aad4 No.750
File: 1432498503518.jpg (353.83 KB, 1024x1286, 512:643, c2af55865e3d8607695b16656f….jpg)
>>738
That update was the biggest yet, about 10MB for ~700,000 tags, and it is causing my parser some problems. I got an error a bit like this when I encountered the update, and then I restarted the program and it worked. This sort of thing is one reason why I am slowly converting my objects' data protocol from YAML to JSON; as well as being much faster, JSON should also be more memory efficient.
It is odd, though, because I can't figure how even 700k would push the memory limits of Windows–at most, I figure it would be about 200MB, so I guess I am calculating something wrong, or PyYAML's parser is really inefficient.
It looks to me like there is more to that error–please get it again, click 'copy traceback information', and paste it here. Alternately, it should already be written near the bottom of your client.log file, which is in install_dir/logs.
If this update does not work for you even after a fresh client restart, you can pause synchronisation for my public tag repository in services->manage services. The client will stop trying to download and parse that large update for now, and you can try again once I have fixed it.
'all known files' searches every single file your client has heard of–even those it does not have. A tag repository tells your client about files other people has tagged, and this is what is turning up in your results as in >>739 . Since they are not 'local' to your client, it can't generate a thumbnail for them, so it just shows the blank hydrus icon.
'all known files' is really just a search mode for fun or statistical research. You can see what other people have tagged without having to have the files yourself.
85aad4 No.762
So apparently Hydrus just doesn't want to download this file at all:
http://gelbooru.com/index.php?page=post&s=view&id=908035
It seems not to like truncated files.
There was a problem importing http://gelbooru.com/index.php?page=post&s=view&id=908035!
Database Error!
image file is truncated (6 bytes not processed)
Stack Trace (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\threading", line 783, in __bootstrap
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\threading", line 810, in __bootstrap_inner
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusThreading", line 181, in run
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDownloading", line 1074, in __call__
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 155, in WriteSynchronous
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 45, in _Write
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusDB", line 297, in Write
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusData", line 1160, in GetResult
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusDB", line 168, in _ProcessJob
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 5951, in _Write
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 3808, in _ImportFile
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusFileHandling", line 74, in GenerateThumbnail
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusImageHandling", line 98, in EfficientlyThumbnailPILImage
File "D:\Hydrus Network\eggs\pillow-2.4.0-py2.7-win32.egg\PIL\Image.py", line 1679, in thumbnail
self.load()
File "D:\Hydrus Network\eggs\pillow-2.4.0-py2.7-win32.egg\PIL\ImageFile.py", line 218, in load
raise IOError("image file is truncated (%d bytes not processed)" % len(b))
IOError: image file is truncated (6 bytes not processed)
85aad4 No.771
>>762
Thank you for the report. Unfortunately, I don't think I can do anything about that specific file. That error is from the graphics library I use, from it sperging out about a slight inconsistency in the file format. I expect the person who created that file used an unusual program to create it, and hence it wasn't 100% according to the jpeg standard. My library can't handle those sorts of errors, so it dumps out.
EDIT: Now that I look at the image more closely, I notice the grey line at the bottom. This is due to an upload that failed or a hard drive failure or similar that cut off the end of the file or zeroed it out or something. I am surprised gelbooru keeps such a broken file up!
Since these errors are fairly rare, I advise people to load the file in Photoshop/GIMP and then save again and retry the Hydrus import. Big photo-editing programs have clever custom image handling libraries that can handle and recover from errors, and then when they save, they save according to standard. The file I have attached imports to Hydrus ok. Unfortunately, it has a different hash, so it will count as a different file and you will have to add tags manually.
85aad4 No.781
>>771
Oh, I didnt notice the gray bar… Huh.
85aad4 No.792
This might be tricky and pointless, but maybe think it over:
export folder as a subdirectory of another export folder.
synchronize: c:\export1
synchronize: c:\export1\export2
At the very least, put an error message for people trying to do this. I kept getting "permission error" which led me down a false path of diagnosing until I realized what was really going on.
85aad4 No.793
I'm getting a MemoryError whenever I am trying to import a 8chan thread using the thread watcher, don't recall getting this earlier.
MemoryError
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDownloading", line 1972, in __call__
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientController", line 158, in DoHTTP
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 246, in Request
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 194, in _DoRequest
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 489, in Request
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 384, in _ParseResponse
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusSerialisable", line 21, in CreateFromNetworkString
MemoryError
85aad4 No.794
>>793
Oh, and the same seems to happen to 4chan threads as well
85aad4 No.797
File: 1433896483722.jpg (119.42 KB, 905x584, 905:584, 6a1d9a067e98b13cfe6d095cf3….jpg)
>>792
I hadn't thought of this problem before. Thank you for reporting it. I will add an error message as you suggest.
>>793
>>794
Thank you for this. It is fixed for tomorrow's release. When I added the JSON network stuff in the big release last week, I added a handler to my network engine to catch JSON and parse it with the hydrus protocol. I forgot that the 4chan/8chan API uses JSON as well. My hydrus handler was trying to parse that and hence dumping out with a horrible error message. As is typical with this sort of thing, it was a couple of lines of code; I just forgot to think of testing it.
85aad4 No.828
Is it just me or is tag scraping from e621 broken?
85aad4 No.831
>>828
Ya; they dropped the 'categorized-tag' from the tag class. You can fix it by going into manage boorus/e621 and remove the term from the tags.
so tag-type-general categorized-tag
becomes tag-type-general
85aad4 No.834
File: 1434399215737.jpg (214.48 KB, 1348x2216, 337:554, a45d3c920eadf3c3b2af29e7ab….jpg)
>>828
e621 will be fixed in the next release, on Wednesday. As >>831 says, they changed their css a little, and that broke my tag parser. You can edit the booru yourself in services->manage boorus or wait a couple of days for the update, which will do it for you.
BTW: I think the manage boorus dialog is broken for Linux, so I will be looking at that tomorrow as well.
85aad4 No.838
Searching for images with less than X tags skips images with 0 tags. Is that on purpose?
85aad4 No.840
File: 1434478429594.jpg (435.38 KB, 1280x944, 80:59, a4478978678b05baefe45ccd1d….jpg)
>>838
No, this is a bug–thank you for reporting it! If it is a simple problem, which I think it is, it should be fixed in tomorrow's release.
85aad4 No.1033
Getting loads of these IndexErrors when importing multiple 8chan threads at once:
IndexError
list index out of range
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 62, in EventPubSub
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusPubSub", line 103, in WXProcessQueueItem
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 2150, in NotifyNewUndo
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 2165, in RefreshMenu
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 963, in _GenerateMenuInfo
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 613, in undo
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientData", line 2280, in GetUndoRedoStrings
85aad4 No.1034
File: 1439576701430.jpg (503.14 KB, 1397x1742, 1397:1742, a328435314f16f06ac275024fa….jpg)
>>1033
Thank you, I will look into it.
85aad4 No.1042
seem to be hitting an error with Services > Manage local upnp v169
TypeError
'NoneType' object is not iterable
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 1967, in EventMenu
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 1167, in _ManageUPnP
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIDialogsManage", line 8406, in __init__
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIDialogsManage", line 8374, in PopulateControls
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIDialogsManage", line 8419, in _RefreshMappings
85aad4 No.1047
File: 1439746538506.jpg (228.49 KB, 1488x1524, 124:127, 61e7b36182caa75fe536f51f30….jpg)
>>1042
Thank you–this is good timing, as I was going to work on the UPnP dialog this week. I will see about improving its error messages. Has this dialog ever worked for you?
85aad4 No.1050
>>1047
I think it has
I don't have such a good memory, but I was looking for a window about upnp options that I used before and couldn't find it in the main options menu
85aad4 No.1061
I'm getting an "already running" popup on Linux Mint after updating to 170, but Hydrus doesn't show up in the process list under any user
Log file only shows
hydrus client started at Thu Aug 20 17:06:10 2015
client already running
CallBlockingToWx just caught this error:
Traceback (most recent call last):
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusThreading", line 216, in wx_code
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientController", line 560, in wx_code
PermissionException
hydrus client shut down at Thu Aug 20 17:06:17 2015
Is there any other reason the client would believe it already started?
85aad4 No.1062
File: 1440094112287.jpg (136.2 KB, 1420x966, 710:483, 0f99be2610f4b65b03c5c4e799….jpg)
>>1061
I am sorry about this. I don't know how it is happening. Are you running from source or the executable?
Since you are on Linux, please open a terminal and go:
python
import os
repr( os.getpid() )
exit()
And tell me what you get as a result. Is it a number, or None, or does it throw an error?
You can also try:
python
import os
repr( os.getpid() )
import psutil
for p in psutil.process_iter(): repr( p )
exit()
But you might not have psutil, so don't worry if that doesn't work. If it does, have a look at the list. Is your pid from os.getpid in there?
At the moment, the 'IsAlreadyRunning' check looks through your process list, locates itself by the os.getpid call, and checks its executable and any command line arguments (p.exe() and p.cmdline() if you want to play around yourself) against all the other processes in the list. Could your os somehow be creating two copies of the process, or giving it multiple pids?
If you run from source, edit IsAlreadyRunning in HydrusData.py to just 'return False', and you will get around this problem for now. I will look at the code again when I am back at my dev machine, and if we can't fix this by next Wednesday, I'll add a switch or something to skip the test.
85aad4 No.1063
>>1062
It's no trouble, more of an interesting problem really
The first code snippet does just what it should and correctly reports the python PID. Same for the second one, and the list makes no mention of Hydrus unless I try and start it myself.
However, it seems you are right. If I check the output for psutil while the "already running" popup is there, I get
[...]
"<psutil.Process(pid=3397, name='client') at 140687756484496>"
"<psutil.Process(pid=3398, name='client') at 140687756484560>"
So for some reason the process does get started twice, or at least assigned two different PIDs. I have no idea how that would happen, and I did start Hydrus 169 successfully not even a day ago, but it does seem to be the culprit. I'll run some checks and see if I can figure out how I ended up with this peculiar predicament
85aad4 No.1064
>>1063
Tried hydrus on a different computer with a clean Mint install and still get the same error. Best guess would be that the client is spawning child processes before the check and then misidentifies those as prior instances, but if that was the case I would expect more linux users to run into problems. Odd
I tried and failed to compile from source, damn you wxPython, so I'll just run 169 until next release
85aad4 No.1066
File: 1440282303450.jpg (78.21 KB, 682x1024, 341:512, e9e2252d8dc8be7cd9b246650b….jpg)
>>1064
I managed to reproduce this and figured it out–my Linux source was running fine, but the Linux 'executable' causes the problem. The second pid is a child of the first–I guess the Linux PyInstaller loader has to create a wrapper process or something to get Python started.
In any case, since the processes are child/parent, it is easy to detect (p.children), and it is fixed for v171. Thank you for this report!
85aad4 No.1069
ver. 170
after doing a search with "collect by" parameters, clicking on a collection brings up a "key error"
double clicking just brings up the error msg and nothing else
traceback:
KeyError
0
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 62, in EventPubSub
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusPubSub", line 103, in WXProcessQueueItem
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUICanvas", line 1372, in FocusChanged
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUICanvas", line 975, in SetMedia
85aad4 No.1072
File: 1440524762840.jpg (182.54 KB, 1660x1209, 1660:1209, 56d9da85dd5f123c6f7f5e2cb9….jpg)
>>1069
Thank you for this. It is related to the media viewer options I added this past week. It will be fixed in tomorrow's release.
85aad4 No.1073
Hello! Linux bug here. I'm using a tiling WM and hydrus doesn't properly request fullscreen in a way the WM/X11 understands.
None of the keyboard shortcuts work in the viewer, UNTIL I start a slideshow. The first image transition in the slideshow suddenly makes keyboard shortcuts work, for whatever reason.
This might not be a bug per se, but the tag search popup dialog in the main interface is treated as a separate window by the WM, and it is called "broken". Maybe you should rename that :)
While the mouse is over it, frequently the tag search popup dialog flickers in and out of focus as the main application below is fighting for attention.
85aad4 No.1075
>>1066
Wonderful, looking forward to the next release
>>1073
The tag box fight is one I can second, and it's caused - at least in my case, on i3 - from having the WM make windows active depending on mouse position
Once the popup is there, any mouse movement that won't /immediately/ transition to the popup window will make hydrus gain focus again, hiding the popup
As a temporary workaround I disabled that behaviour, and it not only made the tagging popup usable again but also cured the problems I had with keyboard shortcuts while tagging. Maybe that'll work for you, as well
Why those would be related, though, I have no idea
85aad4 No.1083
v171:
getting this while loading a session made in v169, it loaded fine in v170:
KeyError
'page_of_images_import'
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 1087, in _LoadGUISession
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 1222, in _NewPage
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIPages", line 47, in __init__
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIManagement", line 165, in CreateManagementPanel
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIManagement", line 2259, in __init__
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIManagement", line 599, in GetVariable
KeyError: 'page_of_images_import'
85aad4 No.1086
Attempting to tag something with ":T" crashed my hydrus as soon as i hit "T"
85aad4 No.1090
File: 1441133048648.jpg (277.04 KB, 1345x1777, 1345:1777, dd074d3f4c4701c256577944c2….jpg)
>>1073
>>1075
Getting the tag dropdown, with all its janky event and focus behaviour, to work for all platforms and window managers is a continuing problem. I think I will add an option to have the dropdown embed just below the text entry in all cases, like it does in the manage tags dialog, and then set that to default as true for Linux.
Key event propagation in the media viewer can do with some work for all platforms. I am planning to do/continue a complete shortcut rewrite since wx's behaviour is not reliable in the cases I want to use it. That said, I will see if there is a quick solution to catch those missing key events in the Linux media viewer. Thank you for mentioning it.
>>1083
I renamed and rewrote the url downloader in v170. There was no simple way to convert old saved url pages to the new format, so they will throw errors. I don't think v170 should be able to understand the session–v169 should be the last able to do that. I meant to talk about that in the v170 release post where it was affected, but I think I forgot. I did not think that the url downloader page was very popular, so I didn't expect someone to have any of those pages saved in a session anyway, sorry!
If you don't care about those pages and what was in them, you can just load the session, ignore the errors, and save the session again. The broken pages will not be saved. If the broken pages cause any graphical mess, you can just restart the client.
If you do care about what was in the pages and want to save what was in them, you can downgrade to the last version you can get to work (I think this should be v169, but if you can get v170 to work, that's great), load the session, and select all the media in the 'url downloader' page and select 'open selection in a new page' from the thumbnails' right-click menu. This will open all the media in a new page that will survive through the update. Close the original url downloader page and save the session. When you update to v171 again, the session should load ok. If that doesn't work, let me know, and I will figure out or write a better solution. I can write a bit of manual sql to do a pseudo-update just for you, if it comes to it.
>>1086
Thank you for reporting this! It turns out that inputting ':' into the autocomplete gets chopped up and parsed into a db request for 'send me every namespace and tag ever, thanks'. This will block your gui and if the response is large enough, crash the program.
I will fix it for tomorrow's release.
85aad4 No.1117
When dragging and dropping multiple files from hydrus onto my web browser, the order they're uploaded in has nothing to do with the order they appeared in Hydrus (e.g. I'd like to post an image set by page order without having to export them to a folder first). I'm actually not sure what this order is, since it's neither filesize nor filename.
This might be a bug with Hydrus, or it might have to do with the browsers themselves, I'm not sure.
85aad4 No.1118
File: 1441902256067.jpg (285.22 KB, 1325x1796, 1325:1796, 004d560383a7910e43224b2afd….jpg)
>>1117
Thank you for mentioning this. I think this is probably me, so I'll check the code this week and make sure the thumb order is preserved on my end.
85aad4 No.1119
Hydrus has been trying to synchronize with with the public tag repo and fails on "update 1,163/1,188" consistently.
Traceback
ValueError
No JSON object could be decoded
Traceback (most recent call last):
File "/opt/hydrus/include/ClientData.py", line 1683, in Sync
content_update_package = HydrusSerialisable.CreateFromString( obj_string )
File "/opt/hydrus/include/HydrusSerialisable.py", line 34, in CreateFromString
obj_tuple = json.loads( obj_string )
File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
It just keeps spamming this error every time it tries to synchronize, piling up to hundreds of error messages within a few hours.
85aad4 No.1120
Hello,
on startup, after updating to latest version, approximately 9 out of 10 times i try to start the client it crashes with 23 of the following error, all the same.
RuntimeError
Failed to gain raw access to bitmap data.
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\wx._core", line 16764, in <lambda>
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 149, in ProcessPubSub
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusPubSub", line 106, in Process
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIMedia", line 2391, in WaterfallThumbnail
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIMedia", line 1182, in _FadeThumbnail
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIMedia", line 2468, in GetBmp
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientRendering", line 428, in GetWxBitmap
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\wx._gdi", line 967, in BitmapFromBuffer
One of the times i managed to run the program, all of these cropped up on the right side as notifications. I ran all of the database operations under mainentance, and thumbnail generator gave me 13 images for which it failed to generate thumbnails. Pic related for resolutions, all of them are quite big. This worked fine before, so i'd assume something related to thumbnail max size when generating got changed during the rework of the import code, since thumbnails are one of the first things done with the pics after import.
85aad4 No.1121
>>1119
Thank you for this report. This is obviously serious.
Please either pause all repository sync at services->pause->repo sync or just this broken repo under services->manage services->the repo->pause sync. This will stop the error spam.
If you are comfortable navigating your file system, please go to your_hydrus_install_directory/db/client_updates. There should be one or more sub-directories with ugly names. There shouldn't be any other files. We want to find the directory that represents my tag repo. If you sync with both my repos, go to the one with more files in it. Its files' numbers end in '70343'. In this directory, find the files that begin with:
1439370343
1439470343
1439570343
And see if there is anything strange about them, for instance zero file size. My personal client has as attached. If you like, you can email me those files, or host them somewhere and post a link here.
The updates are checked for parsability when the client downloads them, whereas you are getting the error after they have been saved to your hdd, which suggests your updates have since been corrupted. A recent db update moved these files around, so did an error occur for you recently, while you were updating? Has your hard drive crashed or made odd noises recently? If you are on Windows, do you know how to run chkdsk? I can help you if you want.
No matter what has happened here, I will work on improving error recovery in cases like this. I can add a 'check updates for validity' or something button that will scan them all. And I can add better error catching for hdd errors, to pause the service for you.
85aad4 No.1122
File: 1442011930135.jpg (92.46 KB, 800x641, 800:641, f861f9eb95042018976ef9f90d….jpg)
>>1120
Thank you for this report. I am sorry you are having these problems. The RuntimeError is the gui library I use trying to allocate memory for some media thumbnails to put on screen and not being able to. It is a strange error. If you don't mind answering:
Which version of Windows are you using?
Do you have any window managers, like WindowBlinds, running?
If you get v172:
https://github.com/hydrusnetwork/hydrus/releases/download/v172/Hydrus.Network.172.-.Win32.-.Extract.only.zip
And extract it somewhere else, say on your desktop, will it run reliably?
If you do the same with v173:
https://github.com/hydrusnetwork/hydrus/releases/download/v173/Hydrus.Network.173.-.Win32.-.Extract.only.zip
Creating a fresh install in a new location, will it run? Will it import regular-sized files?
For the big files that failed to create thumbnails, would you mind emailing me a couple, or posting them here? I don't mind about content. If I can repeat the error on my end, I can try to figure out how to fix them. Also, did you get any errors for those thumbnails written to your client.log?
85aad4 No.1123
>>1122
I'm running Win 8.1 x64, and i have only couple miscellaneous features from DisplayFusion enabled, and the main program itself is not running.
Importing the big pics on both 173 and 172 using fresh db works without the slightest issue, http://imgur.com/a/h9mgy#0 < here's the big sized pics album.
I think the client might have taken offense to the size of my main db, that being a huge 1.8gb file with info about ~4100 pics. Actually when i was updating tags on them, the client freezes for 3-6 seconds after clicking Save in the tag window (and the db file is on a ssd, while all the rest of the client including all the pictures is on the hdd, and the db is junction linked to the db folder in the client). It was a bit longer, but the "low level database stuff" few versions back that immensely speeded up the sync to the server tag repo helped with that issue too, somehow.
When i tried linking the db folder from the old to the fresh installation of v173, it somehow worked out starting with no issues. My best guess would be some sort of client corruption between updates.
Here's the thumbnail error:
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 1476, in THREADRegenerateThumbnails
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusFileHandling", line 102, in GenerateThumbnail
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusImageHandling", line 96, in EfficientlyThumbnailPILImage
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\PIL.Image", line 1814, in thumbnail
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\PIL.Image", line 1557, in resize
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\PIL.ImageFile", line 250, in load
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\PIL.ImageFile", line 59, in raise_ioerror
IOError: broken data stream when reading image file
For now I'll replace the old with the fresh, and file these strange errors away to mean virtual dwarves playing around with bits of my data.
Cheers for your hard work!
85aad4 No.1124
>>1121
Well sure enough 1439370343_0.json is an empty file. The others appear fine though.
My hard drive is fine, but I actually have my hydrus directory stored on an encrypted storage folder I made with tomb ( https://wiki.archlinux.org/index.php/Tomb ) which has recently been giving me problems, so I imagine that's the issue.
I plan on replacing the encrypted folder anyway, so I guess I should make a fresh install of hydrus in the normal directory, and re-add all of my repos, tags, and files. Unless you think that it's just that one particular file, in which case if you could send me the correct 1439370343_0.json I'll make a copy of my hydrus directory and replace the file with the new one.
Either way, thanks for the help. Sorry if I over-worried you about something that was likely my fault, but just see it as motivation to improve the error handling I know catching errors can be a bitch
85aad4 No.1127
File: 1442168478871.jpg (495.31 KB, 1497x1893, 499:631, 0479038d505f06d771195c6ab3….jpg)
>>1123
Thank you for this update. This is odd. I was able to import and generate thumbs for all those big files with no problems. I looked up the 'broken data stream' error, and it seems to usually be a mismatch between dll-type objects. It may be that your install_dir/PIL._imaging.pyd file got corrupted somehow, or there is some odd-versioned jpeg dll being loaded by accident. I am not sure. If a fresh install works, then that seems a good solution.
I know nothing about junction links, so I can't talk with any expertise about that, but 3-6 seconds seems a very long time just for some quick tags. When the client does db work, it actually usually accesses client.db-shm and client.db-wal, which will appear and disappear when client.exe runs. As I understand it, once the WAL file gets a whole bunch of transactions, it'll compile them into a neater package to actually write to client.db. There is some low-level file locking going on here, so perhaps straddling that EXCLUSIVE lock across different drives and a link is causing excess latency? DB slowdown is often because of latency rather than throughput, which is often an issue in RAID deployments, for instance. The low-level speedup I did a while ago made the WAL less connected to the main .db file, so this may be it. If you haven't tried running the client.db on your hdd, without the link, give it a try. I would not recommend trying to create a link for the shm or wal files unless you have a backup ready, as these files are pretty volatile, and screwing around with them can easily corrupt your db!
The size of your db shouldn't slow things down–my hdd laptop runs fine with a 1.9GB, 250,000 file db–but running database->maintenance->vacuum is usually good to try if you don't have it set up to automatically run.
85aad4 No.1128
File: 1442168999195.jpg (654.18 KB, 1517x1799, 1517:1799, 249539fff1451db1bb94c6755a….jpg)
>>1124
Here you go:
http://www.mediafire.com/download/r68v80zwg81w8p5/updates.zip
I put the neighbours in, just in case they are a problem as well.
Thanks for this. As you say, this is a good error to fix–I'll add some better recovery options for this sort of problem.
Some users have said hydrus works well with TrueCrypt if you haven't tried that.
85aad4 No.1131
File: 1442226026266.png (21.57 KB, 1920x1160, 48:29, Hydrus_Client_2015-09-14_1….png)
>>1127
Hello there,
the problem reappeared in the new installation as well, so i did whatever i could to fix it, database mainentance, using the sqlite console to check integrity and clone it, without using the different hdd link this time, so everything is stored at one place, but it still appears.
About 9 out of 10 times, the client just simply freezes after loading all the tabs of the last session, but before loading the sidebar or the pictures (pic related), and the standard Windows "application has stopped working" window appears, stating that the cause of the issue was APPCRASH, and the conflicting module is "wxmsw30u_core_vc90.dll", version 3.0.1.0. In the client log varying amounts of the "Failed to access raw bitmap data" errors spawn up.
The one time it starts, it either spawns a LONG row of these errors as notifications (this makes me think error handling on startup while loading previous session might be too heavy load so it crashes), or, strangely, no errors at all, which leaves me puzzled. But, the database seems to have become corrupt instead, not letting me apply the latest update from the public repo, with this error:
Database Error!
constraint failed
Stack Trace (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\threading", line 783, in __bootstrap
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\threading", line 810, in __bootstrap_inner
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusThreading", line 127, in run
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDaemons", line 285, in DAEMONSynchroniseRepositories
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientData", line 1687, in Sync
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 224, in WriteSynchronous
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 59, in _Write
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusDB", line 320, in Write
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusData", line 1263, in GetResult
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusDB", line 181, in _ProcessJob
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 6350, in _Write
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 4192, in _ProcessContentUpdatePackage
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 4446, in _ProcessContentUpdates
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 3149, in _GetNamespaceIdTagId
IntegrityError: constraint failed
While trying to replicate the problem on a fresh installation, with a clean database, no such errors have appeared, but i also have a lot of tagged pictures that i would not like to lose, so i thought, can i run a local server, force the old client to export all the tags in it's local db to the local server, start a fresh installation, import all of the old pictures and then download tags for them from the server? It all seems to be tied to the database somehow, but i lack the means to find the exact issue with it, as the console's integrity check and the client's internal thorough file integrity check report no errors or corrupted files, yet it keeps crashing.
Also while clearing all those tabs to force restart with a clear session, file count from the last closed tab keeps being displayed on the status bar in lower left corner, just a small thing :)
Thanks for your help, and cheers for your hard work yet again!
P.S.: Short article about Windows file links, including junctions, if you're interested. http://devtidbits.com/2009/09/07/windows-file-junctions-symbolic-links-and-hard-links/
85aad4 No.1136
File: 1442339184306.png (939.85 KB, 1003x665, 1003:665, 793d46d0d3145626902fe4a3ba….png)
>>1131
Maybe the session load is creating a lot more thumbs than it should, so the 'access raw bitmap data' error is actually an 'out of memory' error. If you open up task manager (Ctrl+Shift+Esc) when the client loads, does it use significantly more than ~160MB of memory on boot?
I'll add in a little delay to my error catcher, in case the spam is overloading something. Incidences of spam can do with a bottleneck anyway.
That db error looks serious. It means the tags_fts4 and tags tables are no longer synchronised, which shouldn't normally be possible. Maybe a transaction got committed despite only being half done, or a tag got deleted somehow, or a sector got corrupted. If the sqlite console can't fix it, I think recreating from scratch is a good idea. You can copy your local tags from one client to another really easily by using hydrus tag archives. Go services->review services->local tags->perform a service-wide operation. There are a couple of buttons that will let you export all your service's tags to an external file, and import them again in the same dialog on your new install.
85aad4 No.1144
Anon here that was having an issue with 'delete on import' not removing files on linux.
While attempting to delete /mnt/storage_one/0cb62c55fb824755224ec756ba35cdbe.jpg, the following error occured:
The following exception occured at 2015/09/16 16:17:36:
TypeError
str() takes at most 1 argument (2 given)
Traceback (most recent call last):
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientImporting", line 116, in _WorkOnFiles
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientData", line 129, in DeletePath
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusData", line 729, in RecyclePath
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/send2trash.plat_other", line 136, in send2trash
TypeError: str() takes at most 1 argument (2 given)
And thank you for everything you've done!
85aad4 No.1153
File: 1442782750118.jpg (217.03 KB, 987x1381, 987:1381, 50be2152394c991f9c1fdbd76f….jpg)
>>1144
Ah, it looks like the guy who wrote send2trash, the library I use for recycle bin stuff, merged the Python2 and Python3 versions together and missed that Python2's str() can't do encoding on creation!
I'm not sure how I'll fix this. I'll probably have to encode unusual paths before I pass the path along.
Did you happen to have unicode characters, or japanese or something, in the filename that was to be recycled?
85aad4 No.1179
I think I found a small one, Linux Mint x64
I can not archive/delete or use a custom filter on a group of files that is being displayed as a single collection thumbnail. The context menu entries are present, but have no effect and offer no error message upon selection (A custom filter can still be set up, but not sucessfully applied afterwards).
It works fine on a selection of multiple single files, just as long as every file has its own thumbnail.
Opening a given collection in a new page, disabling collection settings and then selecting all files to filter works well enough as a workaround, but being able to apply filters without the extra steps would save some time
85aad4 No.1182
Not a bug, but I keep getting these database full errors.
I usually just ignore them.
Should I be concerned?
Is it normal?
85aad4 No.1183
>>1182
I was actually having the same issue and discovered that it was an issue with when the database was vacuuming, which it automatically does every so often (I believe you can change this interval or even disable it if you just want to ignore it, but it might end up slowing hydrus down in the long run).
Hydrus uses SQLite, which apparently requires "as much as twice the size of the original database file" [ https://sqlite.org/lang_vacuum.html ] (specifically in your temporary directory).
This just means that your hydrus database is taking up more than half of the space available in your temporary directory (likely /tmp if your on linux). This isn't necessarily how much disk space you actually have left on your hard drive, since many (all?) linux distros mount your RAM through tmpfs to the /tmp directory instead.
The way I got around this was inspired by https://stackoverflow.com/questions/23249843/sqlite3-vacuum-database-or-disk-is-full . I edited my /usr/bin/hydrus-client to use a custom directory I made on my hard drive as it's "temporary" directory by adding "export TMPDIR=<new directory>" before "exec python2 -OO /opt/hydrus/client.pyw "$@"" (the second line may be different from what you have, so just replace it with whatever your hydrus-client script has) and so from then I could vacuum without errors.#!/bin/sh
export TMPDIR=<new directory>
exec python2 -OO /opt/hydrus/client.pyw "$@"
You will probably have to open whatever editor you use as root (using sudo) to edit this, though. I'm not sure how to fix this on different OS's, but it's likely a similar process. This will probably be overwritten in the future on any new hydrus updates, also, so you will have to re-edit it every time until the dev adds an official fix for this.
85aad4 No.1185
>>1183
Thanks!
Yeah, my temp directory was located on my ram disk, which was only 900MB. Definitely why I was getting the errors. All fixed now
85aad4 No.1186
After updating my system Hydrus crashes on launch.
Arch, Hydrus v175
Traceback (most recent call last):
File "/opt/hydrus/include/ClientController.py", line 859, in THREADBootEverything
self.InitModel()
File "/opt/hydrus/include/ClientController.py", line 362, in InitModel
self.CallBlockingToWx( wx_code )
File "/opt/hydrus/include/ClientController.py", line 109, in CallBlockingToWx
else: raise job_key.GetVariable( 'error' )
Exception: tostring() has been removed. Please call tobytes() instead.
85aad4 No.1193
>>1186
Your version of python pillow is too new, downgrade to before 3.0, or wait for hydrus_dev to fix compatibility.
85aad4 No.1207
File: 1444499915828.jpg (1.89 MB, 4174x2468, 2087:1234, d78ea1e87014fa7e9535b118a3….jpg)
>>1182
>>1183
>>1185
Thank you for this report and explanation, as I would not have figured it out. I will add a note to my help files about this and try to catch and recover from that explicit error.
>>1186
>>1193
And thank you for this report and explanation. I have updated all my dev machines to Pillow 3.0.0 and fixed the obselete calls. This will be fixed for v177.
85aad4 No.1216
File: 1444619157098.png (364.93 KB, 652x950, 326:475, 882d70b10f67967f076e8114c7….png)
>>1207
Just a heads up, OpenCV has a 3.0 stable as well, which is also currently incompatible. Hydrus will boot but is unable to download images from repositories.
85aad4 No.1219
It might be that I'm bad at regex, but I think something is wrong with hydrus' regex parsing.
(?<=pixivutil([0-9]+)).*(?=\)\\)
parsing the string c:\directory\pixivutil2015\artist (6547654)\65876.jpg
Specifically, the first [0-9] breaks down with the addition of a +, it just isn't behaving as expected. I've tried many different forms and I just can't get it to work as desired.
85aad4 No.1226
Has anyone successfully imported the "PTR_HTA_up_to_update" tag archive? Everytime I attempt it, it freezes my client(not responding), so I have no way of knowing if the client actually crashed or if I should wait.
If it's supposed to take a really long time, then I understand. I just want to make sure.
85aad4 No.1227
File: 1444761386254.jpg (166.7 KB, 1143x770, 1143:770, 83e425bcb15eef267371b0565a….jpg)
>>1216
I have been regularly checking for a Windows OpenCV package here:
http://www.lfd.uci.edu/~gohlke/pythonlibs/
And the new 3.0.0 doesn't have a 2.7 release. I assumed it was incompatible. Does someone else make a simple package for this? I think I remember trying to compile this myself before on Windows and it was just pages and pages of compiler errors and lonely forum posts from 2008.
Also, do you know if the apt-get/homebrew calls for this different? It looks like homebrew supports having 2.4.12 and 3.0.0 simultaneously, so maybe the python package is also cv3 instead of cv2.
Did you get any errors when you tried to import images? Until I can figure out how to update for all platforms, I'm happy to support both versions as much as I can.
>>1219
I hate regex. What you have there gives 'unbalanced parenthesis' for me, but after some rejiggering I got an error about the look-behind that reminded me you can't have a look-behind with an uncertain number of chars. So, something like [0-9][0-9][0-9][0-9] would work instead of [0-9]+, if you are always looking at four numbers. I will get the client to pass up regex compile errors when you click ok/add. I think at the moment they are silently ignored.
>>1226
How are you importing it? I think there is usually supposed to be a popup message with some progress gauges when you do this sort of stuff, but perhaps your CPU is getting hammered so hard that it doesn't have time to pop up. In general, if you are unsure if hydrus is just busy or hung, you can open task manager (Ctrl+Shift+Esc for Windows) and look for high CPU load on client.exe. Depending on how you are adding it, it could take a few minutes or a few hours, I am not sure. I haven't done it myself, and the hashes are different to the other tag archives, so it may be that all of its data is importable.
85aad4 No.1236
Can anybody confirm UPnP as working? The dialog is honestly really confusing and whatever I do I can't seem to get the local booru working.
85aad4 No.1243
>>1186 again
I'm on hydrus v177 now, when I try to import webms or mp4s the import fails and I get this traceback:
Traceback (most recent call last):
File "/opt/hydrus/include/ClientImporting.py", line 664, in _WorkOnFiles
( status, hash ) = HydrusGlobals.client_controller.WriteSynchronous( 'import_file', path, import_file_options = self._import_file_options )
File "/opt/hydrus/include/HydrusController.py", line 239, in WriteSynchronous
return self._Write( action, HC.LOW_PRIORITY, True, *args, **kwargs )
File "/opt/hydrus/include/HydrusController.py", line 74, in _Write
result = self._db.Write( action, priority, synchronous, *args, **kwargs )
File "/opt/hydrus/include/HydrusDB.py", line 335, in Write
if synchronous: return job.GetResult()
File "/opt/hydrus/include/HydrusData.py", line 1624, in GetResult
raise HydrusExceptions.DBException( text, caller_traceback, db_traceback )
DBException: (u'fromstring() has been removed. Please call frombytes() instead.', 'Stack Trace (most recent call last):\n\n File "/usr/lib/python2.7/threading.py", line 783, in __bootstrap\n self.__bootstrap_inner()\n\n File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner\n self.run()\n\n File "/usr/lib/python2.7/threading.py", line 763, in run\n self.__target(*self.__args, **self.__kwargs)\n\n File "/opt/hydrus/include/ClientImporting.py", line 732, in _THREADWork\n self._WorkOnFiles( page_key )\n\n File "/opt/hydrus/include/ClientImporting.py", line 664, in _WorkOnFiles\n ( status, hash ) = HydrusGlobals.client_controller.WriteSynchronous( \'import_file\', path, import_file_options = self._import_file_options )\n\n File "/opt/hydrus/include/HydrusController.py", line 239, in WriteSynchronous\n return self._Write( action, HC.LOW_PRIORITY, True, *args, **kwargs )\n\n File "/opt/hydrus/include/HydrusController.py", line 74, in _Write\n result = self._db.Write( action, priority, synchronous, *args, **kwargs )\n\n File "/opt/hydrus/include/HydrusDB.py", line 335, in Write\n if synchronous: return job.GetResult()\n\n File "/opt/hydrus/include/HydrusData.py", line 1620, in GetResult\n trace_list = traceback.format_stack()\n', 'Traceback (most recent call last):\n\n File "/opt/hydrus/include/HydrusDB.py", line 196, in _ProcessJob\n elif job_type in ( \'write\', \'write_special\' ): result = self._Write( action, *args, **kwargs )\n\n File "/opt/hydrus/include/ClientDB.py", line 6671, in _Write\n elif action == \'import_file\': result = self._ImportFile( *args, **kwargs )\n\n File "/opt/hydrus/include/ClientDB.py", line 4041, in _ImportFile\n thumbnail = HydrusFileHandling.GenerateThumbnail( dest_path )\n\n File "/opt/hydrus/include/HydrusFileHandling.py", line 134, in GenerateThumbnail\n pil_image = HydrusImageHandling.GeneratePILImageFromNumpyImage( numpy_image )\n\n File "/opt/hydrus/include/HydrusImageHandling.py", line 233, in GeneratePILImageFromNumpyImage\n pil_image = PILImage.fromstring( format, ( w, h ), numpy_image.data )\n\n File "/usr/lib/python2.7/site-packages/PIL/Image.py", line 2053, in fromstring\n "Please call frombytes() instead.")\n\nException: fromstring() has been removed. Please call frombytes() instead.\n')
If i downgrade python2-pillow to 2.9.0-2 it works.
85aad4 No.1244
>>1227
I run gentoo and didn't realize there isn't a py2.7 release for windows of OpenCV. Gentoo lets me compile OpenCV targeted for python2.7 and it does work; the module is still named "cv2".
I don't know if the apt-get/homebrew calls are different, I run Debian unstable as well and it doesn't look like the package maintainer is pushing OpenCV 3.0 yet.
I tried my luck at compiling OpenCV 3.0 on windows for python 2.7 (win32) and seemed to have succeeded. I have default build config options set, I don't know if hydrus requires or wants OpenCV to use CUDA and OpenCL (probably not) but they're baked in at the moment. I'll provide a link to my build here, which is literally just the dlls and pyd zipped together; I have no idea how to make a whl from the build results:
https://my.mixtape.moe/wkasyz.zip
This will probably throw an error requiring nvcuda.dll or something like that on systems that don't have nVidia drivers installed. I might attempt to setup some sort of CI for OpenCV or at least provide a config.
I probably should have posted the traceback that occurs when attempting to download files:
http://pastebin.com/NtF5gy9z
A similar (fugly) traceback is thrown when importing:
http://pastebin.com/R76TmRq4
(Pastebinned because body was too long)
85aad4 No.1245
>>1243
Looks like hydrus_dev missed an obsolete call, I didn't realize Pillow obsoleted another call either.
If you *really* want you can find and replace the call of "fromstring" to "frombytes" on line 233 in include/HydrusImageHandling.py and it might work, or wait for next release again.
85aad4 No.1246
File: 1445007984001.jpg (95.85 KB, 700x522, 350:261, a49f973de85bab770bc95a5606….jpg)
>>1243
>>1245
Whoops! My test routine should have caught this, not sure why it didn't. :/
I'll fix it next week.
>>1244
Thanks for sorting this out! I will have a look at this this week.
85aad4 No.1248
Gelbooru image downloading seems to be broken. Possibly because it is not sending the referer header when downloading the images?
Happens for every file:
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientImporting", line 201, in _WorkOnFiles
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDownloading", line 707, in GetFileAndTags
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDownloading", line 389, in _FetchData
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientController", line 243, in DoHTTP
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 249, in Request
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 201, in _DoRequest
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 592, in Request
ForbiddenException: <html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.8.0</center>
</body>
</html>
85aad4 No.1250
File: 1445097760575.jpg (142.56 KB, 1111x1662, 1111:1662, 74385ec16aede82645014867f7….jpg)
>>1248
Thank you for reporting this. I think this is a new change on their end, as I think I remember using gelbooru for a different test just the other day.
I might as well send the referrer header for all the gallery downloads, just in case anyone else adds this sort of thing. I will make sure to get this done this week.
85aad4 No.1251
Under linux, the export folder feature misbehaves.
Synchronize just seems to not work at all.
Regular works at first, but at some point the contents of the export folder are deleted.
If I might add a suggestion here instead of making a separate post: multiple queries for export. I'd like to be able to synchronize export any pictures with tag X and any pictures with tag Y to the same folder, not just those pictures tagged with both X and Y.
85aad4 No.1252
File: 1445189047878.jpg (1.23 MB, 1316x1612, 329:403, 4fb7a87750204d3a4bb8d018eb….jpg)
>>1251
Thank you for this report. On my Linux (Ubuntu 14.04), both modes work as expected. Do you have any relevant-looking tracebacks in your client.log? It should be in install_dir/logs.
What sort of query are you using for your export? Several tags? I notice now I look that most of the system predicates don't work properly, so I'll make sure to fix that.
Are the search domains set to 'local files' and 'all known tags'?
And what export phrase are you using? Might several files end up with the same filename?
I am fairly sure that regular mode isn't able to run any delete code. Do you have multiple clients pointed at the same directory, or maybe an import folder set up on the same location, or another program that could be doing the deleting?
Having multiple queries is a good idea, thank you. I had planned to allow multiple export folders for the same destination, but now I think about it, that won't work with synchronise, as the competing export folders will delete each other's results. I will change my to-do list.
85aad4 No.1253
Hydrus v177, pillow v3.0.0
This file won't play (hydrus jumps to the first file in the list) and I get an error when selecting it:
AttributeError
'NoneType' object has no attribute 'dirty'
File "/opt/hydrus/include/ClientGUICanvas.py", line 266, in EventResize
self._video_container = ClientRendering.RasterContainerVideo( self._media, ( my_width, my_height ) )
File "/opt/hydrus/include/ClientRendering.py", line 186, in __init__
self._renderer = HydrusVideoHandling.GIFRenderer( path, num_frames, target_resolution )
File "/opt/hydrus/include/HydrusVideoHandling.py", line 428, in __init__
self._InitialisePIL()
File "/opt/hydrus/include/HydrusVideoHandling.py", line 514, in _InitialisePIL
self._pil_dirty = self._pil_image.palette.dirty
85aad4 No.1256
When files are already in db, subscriptions seem to ignore the 'seconds to politely wait between gallery/thread url requests' setting and fetch tags as fast as possible.
85aad4 No.1257
File: 1445366655338.jpg (174.17 KB, 1303x1031, 1303:1031, c6f9583a830da313f0b239f7e9….jpg)
>>1253
Thank you for this report. It will be fixed in tomorrow's release. Interestingly, this file only caused problems in non-Windows, so I suppose Pillow v3.0.0 is slightly different between platforms.
85aad4 No.1262
I can't seem to get the gelbooru gallery downloader to work. Every file it downloads gives me this error
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientImporting", line 201, in _WorkOnFiles
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDownloading", line 707, in GetFileAndTags
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDownloading", line 389, in _FetchData
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientController", line 243, in DoHTTP
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 249, in Request
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 201, in _DoRequest
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusNetworking", line 592, in Request
ForbiddenException: <html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.8.0</center>
</body>
</html>
85aad4 No.1274
>>1262
Seems this was fixed in Version 178.
85aad4 No.1275
>>1252
>What sort of query are you using for your export? Several tags?
I just tried with one tag
>Are the search domains set to 'local files' and 'all known tags'?
Not sure, the tags are local, but the box has two tag things in it, one says "local tags" and the other says "all known tags", not sure what to make of that
>And what export phrase are you using? Might several files end up with the same filename?
no. I'm just using hash.
>I am fairly sure that regular mode isn't able to run any delete code. Do you have multiple clients pointed at the same directory, or maybe an import folder set up on the same location, or another program that could be doing the deleting?
nope. it exports once, deletes everything from the folder (possibly when quitting hydrus) and leaves no logs.
85aad4 No.1286
File: 1445709554074.jpg (183.69 KB, 997x1341, 997:1341, a7fd0b9333a084fe923e26d3a1….jpg)
>>1275
If both services are saying something to do with tags, then something has gone wrong. I am not sure why a 'regular' export folder might delete, but perhaps some ids are getting mixed up and it is truly a synchronised that is finding zero results and deleting everything else.
If you don't mind, please close your client, go into your install_dir/db directory and run sqlite3. This should give you a sqlite prompt. Then go:
.open client.db
.once results.txt
SELECT * FROM json_dumps_named WHERE dump_type = 16;
.quit
Which will write your export folder info into 'results.txt'. Then email me that file, or post it here if there is no personal info. I will look for anything out of place.
85aad4 No.1287
>>1286
16|/home/Link/pictures/bg|1|[0, [15, 1, ["6c6f63616c2066696c6573", "616c6c206b6e6f776e2074616773", true, true, [[14, 1, [0, "bg", true]]], false]], 180, "{hash}", 1445541275]
85aad4 No.1299
File: 1445809962750.jpg (348.82 KB, 974x990, 487:495, 3bad6ab5c5abbd0f0632ebdcf9….jpg)
>>1287
That believes it is a synchronise folder, which suggests your client is not correctly storing and retrieving the behind-the-scenes information in the dropdown where you select regular/synchronise. 6c6f63616c2066696c6573 is also 'local files', which is somehow presenting as 'local tags' for probably a similar reason–some ids are getting swapped around inside the gui library. Something similar to this happened for another Linux user, where a standard behind-the-scenes data call in wx (my gui library) just failed for certain controls, so I had to rewrite them.
Does it show 'synchronise' in the normal manage export folders dialog where all your export folders are listed?
Inside the edit export folder dialog, does the regular/synchronise dropdown list them with regular in the first position and sync in the second?
If you click on the button on the left, where it says 'local files/tags', what do you get listed in the menu?
Do your normal search pages work ok? Have you ever had 'local files' or 'all known tags' swap out for a different search domain?
Also, which flavour of Linux are you using, and do you know which window manager you have?
85aad4 No.1300
>>1275
>>1287
I just realised we might be talking about a different thing on the 'local files' and 'all known tags' issue. I mean do the buttons look like my picture here? The one on the left says 'local files' and the one on the right says 'all known tags' i.e. the export folder will search your local files for the 'bg' tag on any tag service.
I assume you get 'local tags' and 'all known tags' in the menu if you click the button on the right. If you don't have any tag repositories added, then 'local tags' and 'all known tags' are essentially the same thing.
If your buttons are like that, then they are working fine, but it is a new mystery why your export folder is not generating results for that query (or at least after the first run). I presume a normal query for 'bg' gives you a bunch of files, right?
85aad4 No.1309
>>1299
it shows regular in the export window
regular is first in the dropdown box
searching for tags works fine within the client itself
I have no remote repos on this machine, so I see local files / all known tags
archlinux + dwm
85aad4 No.1315
>>1309
Ah, shit, I read that json dump wrong. Sorry, that is indeed a regular folder, not a sync. Since you also get 'regular' everywhere in the right places in the gui, that crosses the gui off the list as the possible problem.
I am completely not sure what is going on here, then. If you are still keen to figure this out, I will include some special debug code in tomorrow's release that will throw up a lot of debug popup messages while the export folder runs, and we'll see if any of the search results or destination paths are coming out wrong. I'll add an entry to help->debug.
85aad4 No.1324
File: 1446072800898.jpg (454.84 KB, 1950x1417, 150:109, 61ce02943e891efe6ac6fdf8d1….jpg)
>>1309
>>1315
I just put the release out. If you are interested, turn on help->debug->special debug mode while the export folder runs. It will dump a lot of messages to the popup manager and also silently print some longer stuff to the log as well. Close the client and then check your client.log file for the export log stuff. There might be several thousand lines. Email me that extract (I suggest you not pastebin it, as the file hashes are private information), and I will have a look.
85aad4 No.1327
Not sure if this is intentional or not, but the box that appears when you start up the client always appears behind every other window, which is especially annoying when you've got a password set (since you'll have to minimize everything to see the password dialog).
This is on windows, btw.
85aad4 No.1328
the system:mime predicate doesn't seem to work correctly. Regardless of what I enter in it just ends up searching for images.
85aad4 No.1331
Version 179 on linux (debian) is being very unstable. Almost every action can cause a crash to desktop with
[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
client: ../../src/xcb_io.c:179: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed.
Aborted
in terminal window. Nothing written to log.
85aad4 No.1336
I get this when I try to sync with the tag repo
UnicodeEncodeError
'ascii' codec can't encode character u'\xa0' in position 100: ordinal not in range(128)
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientData", line 2324, in Sync
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 100: ordinal not in range(128)
85aad4 No.1343
File: 1446316961386.jpg (524.86 KB, 1280x897, 1280:897, d6e3c377ec1cdce42dde941ff1….jpg)
>>1327
Funnily enough, the splash screen was stay_on_top until a couple of weeks ago. I turned that off because it was causing different problems.
When you say it appears behind every window, do you mean it actually initialises in the background? That doesn't happen for me on Win7/8. Just for interest, which version are you using? Do you have a window manager or any other sorts of gui-addons that might mess around with that stuff?
Also, when you have the password dialog waiting for you, is the hydrus splash screen listed in the Alt-Tab list? I see it in there (so I can bring it up top that way if I need to), but I do not see a taskbar tab until the main gui launches.
I have told the splash screen to explicitly try to bring itself to the front as soon as it opens. When you update to v180, see if this is fixed, and let me know if it isn't.
>>1328
When the mime goes through to the predicate list at the top-left, does it say system:mime is image? Which os are you using?
>>1331
I updated some OpenCV code this week, and that xcb_xlib… error gives some OpenCV errors when I search it, like this one:
http://stackoverflow.com/questions/11513564/opencv-multithreading-error-using-qt
So maybe that's it? I don't have a debian machine to test with–did previous versions ever work ok for you? I assume you are running from source.
If you open up a terminal and go:
python
import cv2
cv2.__version__ (that's two underscores both before and after)
exit()
What does it out put as the version? 2.4.x or so, or 3.0.0?
>>1336
Thank you for this report. Are you running on a non-english os, by any chance? Or have you given your repository an unusual name?
Still, even if you have odd characters (that's a non-breaking space it is having trouble encoding) I want my code to be able to deal with it. I will make sure to have a look at this this week and fix whatever is going on.
85aad4 No.1345
>>1343
English Win10 and I named the repo "tag repo". I did successfully synchronise with it earlier this week but it started failing a few days ago.
85aad4 No.1347
>>1343
>When you say it appears behind every window, do you mean it actually initialises in the background?
Not entirely sure what you mean by this. I can alt-tab to the password dialog, but since it doesn't appear in the taskbar I don't even know when the dialog is available. No window manager or any addons like that. I'll be sure to let you know for v180.
>When the mime goes through to the predicate list at the top-left, does it say system:mime is image? Which os are you using?
If I search for, say, just webms, it'll say "system:mime is video/webm". However, if I double click the predicate, it's still just images that are checked.
I'm on Win7, on version 179
85aad4 No.1349
File: 1446401034271.jpg (211.83 KB, 1419x1767, 473:589, cf9c2a8462dcd5510a65bef0e0….jpg)
>>1345
I have rewritten my unicode handling for next week. There were several bad bugs. Please hit services->pause->repository sync for now and try again in v180.
>>1347
About the background, I mean that if you have a other programs open and then launch hydrus, does the splash appear in front of those windows, or is it quietly created behind them? Windows usually puts new programs on top of the window stack by default, but I would be interested if Win10 is handling my splash screen any different.
The raise call I added for next week will explicitly move my splash to the front of the stack.
The mime bug is actually something I accidentally introduced last week, as per >>1326 , that will be fixed next Wednesday. I screwed up the add/remove code for predicates that have internal variables. Your predicate is searching correct, but when you try to remove it, the list of active search predicates misidentifies the action as 'add new predicate' and so is incorrectly launching the dialog to give its variables some values. I'm sorry for the confusion.
For this week, if you reenter the exact same information as the existing predicate, it will be removed, otherwise it will add a new predicate.
85aad4 No.1351
I'm getting a lot of random program closings on Linux after updating to 179, while interacting with the client, when leaving it idle and even upon giving it focus. On average it's one every few minutes
Never happened before now, and unfortunately the log file remains entirely empty - startup entries aside. Is there any place other than /logs/ that might shed some light on the goings-ons?
85aad4 No.1352
I'm not sure if this is intended behavior or not, but I've noticed that upon setting up a subscription, for some *booru sites (e621 most specifically) Hydrus will dutifully download and check the first X (where X is the initial file limit) files on its initial sync and any new files added after that. However, it doesn't seem to bother checking any files before those in subsequent sync operations, even if there's no such limit.
With a more specific example: I've left the limit for the initial sync at 200. Since my last synchronization operation, I've added 18 images to my favorites on e621. Now my file count is at 218 after the next sync ends. However I've got ~2000 favorites, the rest seems to never get checked.
I'm wondering if it's a peculiarity of the way files are sorted by e621 or if I'm doing something wrong on my end.
85aad4 No.1353
>>1343
>What does it out put as the version? 2.4.x or so, or 3.0.0?
Not that anon but I get the same crash on Arch with OpenCV version 2.4.12.2.
>>1351
You're probably experiencing the same bug, try running Hydrus from the terminal and see if anything shows up there.
85aad4 No.1354
>>1343
>>1331 here, sorry for the late response. Attempting to post between internet (and 8ch) outages.
Previous versions worked fine. I am using the precompiled binaries.
$ python
Python 2.7.9 (default, Mar 1 2015, 12:57:24)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cv2
That may be why. I'll look into updating python and opencv when I can.
85aad4 No.1355
>>1353
You are right, not sure how I missed that post. I was getting the same error and was also missing cv2 just like >>1354
Grabbed it from the repo, and while it's hard to tell if the crash is gone completely with it occurring in such an unpredictable fashion, so far it's looking good.
85aad4 No.1356
>>1355
I take it back, same crash with cv 2.4.8
85aad4 No.1358
Alright I've fetched 2.4.9.1 from my distro's repo and still crashed.
Installed 3.0.0 from source and… still crashing.
It's worth mentioning that I have seen something similar to that "Fatal IO error 11 (Resource temporarily unavailable) on X server" line discussed in the stackoverflow thread, but it's much rarer than the "unknown request in queue while dequeuing" message.
85aad4 No.1360
File: 1446576759920.jpg (385.92 KB, 1280x1453, 1280:1453, eca39a1ab18a9154007879d6b0….jpg)
>>1351
>>1353
>>1354
>>1355
>>1356
>>1358
This was reported through github and email as well! I think I have it fixed for tomorrow. The precompiled binaries have cv2 in them, so if you don't have it from the terminal, that is probably OK. I thought this was PIL or OpenCV to begin with, but I currently think it is caused by my new 'is the mouse idle' code accessing the current mouse coordinates from the wrong place, causing X11 to sperg out. I don't get the crash on my Linux laptop anymore, although I wasn't getting it much before, so I am still uncertain. I'm sorry for the inconvenience. Please let me know if any of you still get this crash in v180.
>>1352
How are you getting your favourites in e621 through hydrus? Can you do that by tag, or do you have a custom e621 search defined?
Subscriptions always get 'newer' files. The subscription gallery parser grabs new thumbnail-urls until it sees one it has seen in a previous run. So if you have a gallery like this:
TUVWXYZ
With initial limit set to 3, the subscription will initially get T, U and V and then stop looking. On a subsequent check, it might get:
PQRST
And then it will add P, Q, R, and S to its cache of TUV and stop looking, because it already saw T once. The sub will never get WXYZ.
If you want to get the 1800-odd files your sub missed, you could recreate your subscription entirely or just reset its url cache (which you can do in services->manage subs) and set its initial file limit to 0 (for infinite) or 3000 or whatever. It will parse through the 35 or so pages and slowly download everything. That might be a little scarily large to leave to run by itself, so I'd advise you instead leave your current sub as it is and instead just do a one-time gallery download page with file limit of 0 and watch it work manually. Once it has built up the whole list of files, you can periodically pause the file downloader to stop that rabbit from melting.
85aad4 No.1363
Couldn't find a help thread, so I'll post this here.
I recently downloaded an artist's tag from gelbooru. In the selection tags panel, it shows that I should have 400 images for that tag.(creator:artist_name(400) )
However when I run a tag search, I'm only seeing 25 images? The only tag in my search is the artist.
85aad4 No.1365
File: 1446667105760.jpg (468.5 KB, 634x914, 317:457, c985905dd6f068c229409ae314….jpg)
I'm getting this when adding pixiv to the default tag import options:
UnboundLocalError
local variable 'namespaces' referenced before assignment
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIDialogsManage", line 3714, in EventAdd
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIDialogs", line 778, in __init__
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDefaults", line 341, in GetDefaultNamespacesAndSearchValue
pixiv doesn't show up in the list after this traceback is thrown, it only seems to be pixiv as well I can add deviant art, tumblr, etc.
85aad4 No.1372
Upgraded to v180 and now I get this whenever I make a search.
UnicodeDecodeError
'ascii' codec can't decode byte 0xa0 in position 2: ordinal not in range(128)
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\wx._core", line 16764, in <lambda>
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 172, in ProcessPubSub
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusPubSub", line 106, in Process
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIMedia", line 990, in SetNumQueryResults
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIMedia", line 631, in _PublishSelectionChange
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIMedia", line 971, in _GetPrettyStatus
85aad4 No.1373
Dear Dev, I'm going to put all the bugs here. I used to post them in each release thread since I thought you would see them more, but now I realise that I'm driving you insane staying up to date with 5 different threads.
>>1340
Yes, as soon as I scroll up/down enough to hide them they fix themselves. Turns out it wasn't actually a duplicate row, if I click on them, the entire row fixes. It happens with both the laptop's and the mouse's scroll (1 & 3 lines). The thumbnails fade really fast, but this bug shows when they are already loaded. The bugged row appears at the threshold of the scrolling, and from what i've seen it's limited to 2 (I guess I would need a bigger screen to be sure, I'm just limited to 5 rows at a time). I actually can't use page up/down to browse the gallery. home and end work though.
Keep up the good work and I'll bring more weird bugs. I'm the one who had the lagged UI when importing. That's fixed btw. Thanks for everything.
85aad4 No.1375
Ok, so I fire up the client. In the first tab, I start searching, say series:k-on!. The first files show the hydrus logo and everything as unknown (mime, time of import) and if I choose share>copy>file nothing happens; >local url and >hash copies the address, so the files are indexed in some way; >path spits out this error:
NotFoundException
File not found!
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIMedia", line 1640, in EventMenu
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIMedia", line 192, in _CopyPathToClipboard
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientFiles", line 177, in GetFilePath
Now, the interesting thing is that it says 684 files with that tag, but if I open a new search tab, and look only for that tag, there are no unknown files, and it says that there are 657 files. And coincidentally, 27 files are viewed as unknown.
I tried all the maintenance options but to not avail.
Any ideas you've got will be appreciated, I have 300 files in this estate out of 7400, so it's quite a chunk of files.
85aad4 No.1376
>>1375
For something that has produced such pain, I think I just realised what is causing it. These must be files that I archived and then deleted, but the system doesn't really delete them altogether. Bug or feature?
85aad4 No.1379
File: 1446928013827.jpg (2.12 MB, 1930x2400, 193:240, 9b2a89bd9f14da797db57398c4….jpg)
>>1363
Does that artist have a lot of tag siblings? My autocomplete and taglist collapses sibling counts together, so if your database would otherwise have:
creator:lm (20)
creator:lm (legoman) (10)
creator:legoman (100)
You will see creator:legoman (130), when the true answer should probably be 105 or something. Trying to get an accurate count in this case for the autocomplete takes a lot of CPU, so there isn't a good solution. Now I think of it though, I might be able to make the selection tags more accurate.
You can see all the siblings separate if you open the manage tags dialog.
Let me know if this isn't a siblings issue, and we can look deeper.
>>1365
Thank you for this report. It is fixed for next week. The Hentai Foundry 'parent' entry had the same problem propagating down to its 'searching by artist/tag' children.
>>1372
I am sorry for this problem. All my work on unicode was supposed to fix this stuff!
It looks like your OS is converting a large number to something my code is not expecting. When you see a big number on your computer, what do you see? Something like "123,456"? A comma every three places, or something else? Which language does your OS use? And what OS are you using? Is that Windows 10?
You can revert to v179 this week–there are no db differences. I have changed the call to your OS to try to fetch it in unicode, which may fix your problem. If we don't figure it out for certain this week, please let me know how v181 works for you.
85aad4 No.1380
File: 1446931617743.jpg (371.16 KB, 1434x1629, 478:543, 76e2ce978a1818fff709df71bb….jpg)
>>1373
I noticed in testing your bug that page up/down didn't work, and was amazed that I hadn't added it. I am almost certain that once worked, which just goes to show how reliable memory is.
I had this sort of graphical glitch when I first wrote the thumbnail panel. It was something to do with the scrolling event that asks to render a new row of thumbs going before/after the scroll actually occured, so the 'current' top/bottom row was not getting calculated right. The exact scroll timings across all platforms ended up being such a pain in the ass to get right that I rewrote everything to work off the 'paint' event that your OS sends when it wants to redraw the window. The paint window shouldn't be vulnerable to this error, so something odd is going on. I am guessing something like your window height is an exact multiple of the thumb height, so my logic is getting +/-1.
I had a look at my code, but nothing stood out at first. I simplified things, and even optimised a little, and found a new glitch that I can reproduce (a big white box where some thumbs should be) that may be a different version of what you are seeing. There's obviously something bad in here, so I'll keep working on it. If I forget to update you on how I get on, please let me know how v181 works for you.
85aad4 No.1381
>>1379
I would guess large numbers use commas as I have Swedish keyboard layout, date, time and number formatting. The rest of the os is in English windows 10.
85aad4 No.1386
>>1379
>Let me know if this isn't a siblings issue, and we can look deeper.
I just found out it was because 362 of the 428 images were part of a collection. I guess it did it automatically.
How do I actually view these images within the collection, and is there a way to remove the collection?
85aad4 No.1387
Not really a bug, but the interface works kind of bad in a small screen.
I'm using a 1336x768 screen.
Things like these keep happening.
85aad4 No.1393
when i search for a tag (while trying to add it to an image), it gets this error.
it doesn't always do this, sometimes it works fine
UnicodeDecodeError
'ascii' codec can't decode byte 0xa0 in position 1: ordinal not in range(128)
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUICommon", line 478, in TIMEREventLag
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUICommon", line 536, in _UpdateList
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUICommon", line 2913, in SetPredicates
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientData", line 1310, in GetUnicode
85aad4 No.1394
>>1393
i guess this is the same problem as >>1372
(in my case, i have a belgian keyboard, and my os is also in dutch)
85aad4 No.1395
File: 1447005988019.jpg (645.58 KB, 2100x1343, 2100:1343, 9c9f7e088689c1cce19ce1d4a9….jpg)
>>1375
>>1376
On your search page, the autocomplete dropdown has some buttons underneath. Does your 'files' one says 'all known files' or 'local files' or something else?
Also, do you sync with my public tag repository? Are these files tagged k-on on your 'local tags' service?
'All known files' searches for absolutely every file your client has heard of, no matter how little it knows about them. I think that is what you are seeing–typically, you get these hydrus icons on files that your client has incomplete knowledge of. You might not have the file, but you know that it is tagged it with k-on or whatever. (deleted files would be included in this)
New pages default to 'local files', which is probably why your new page is only showing files the client actually has.
It might also be that the delete code is misfiring. If you are getting 'unknown' files in a 'local files' search, something is very wrong.
I will fix the copy->path event to restrict to local files only, thank you for pointing it out.
85aad4 No.1396
File: 1447006783175.jpg (287.33 KB, 1752x1241, 24:17, 807d4a5fce69f157953b257828….jpg)
>>1386
At the top left, where the dropdown says collect by creator-series, you can set it.
The media viewer will scroll through collections as if they were 'flat', so just double-click any collection and press page down or whatever.
I am not very happy with how collections work right now, so let me know if you have any ideas for improvements.
>>1387
I am sorry about this. Another user mentioned this recently as well. I have a priority job to add scrollbars or and better sizers to all my dialogs. Please keep me updated as I roll this stuff out if anything doesn't work for you.
>>1393
>>1394
Thank you, yeah, this seems to be the same problem. I expect the problem is occurring for tags that have a count greater than 1000.
In the big unicode conversion last week, I missed this one line where I send big integers off to the OS to be converted to whatever your language settings would prefer. For English, 123456 becomes 123,456 with a standard comma, but I presume your language uses a slightly different comma that is in unicode, and because I missed the single line, this complicated character doesn't get incorporated back into my program correctly.
I think I have it fixed for v181. If you want, you can revert back to v179 for now. Thank you for the report!
85aad4 No.1398
>>1395
You were right. I assumed the system stores some knowledge of the file, since it can recognise when I've already deleted a file. I just thought it was trying to load deleted entries anyway (or failing to load them correctly).
Thanks for the help.
85aad4 No.1403
>>1396
>where the dropdown says collect by creator-series, you can set it
so that's where I got confused. I guess I must have set it without realizing what it does.
setting it to no collections solved it, thanks!
85aad4 No.1406
So heart-shaped pupils is currently a child of symbol-shaped pupils, but for some reason when i tag things with heart-shaped pupils, the parent tag doesn't show up on the tag autocomplete or get added to the tags. I don't believe this is the intended behaviour?
85aad4 No.1408
File: 1447191429712.jpg (857.49 KB, 1542x1533, 514:511, 13f782e059d977289a0344c7cc….jpg)
>>1406
Thank you for reporting this. For now, restarting your client should fix it. Let me know if it doesn't.
It looks like parent and sibling managers were not being notified of the changes when new relationships were were added via repository processing. This should be fixed for tomorrow.
85aad4 No.1411
Trying to display a 8340x10470 spikes my memory usage to around 1gb. Which then prompt memory errors. where did I go wrong?
85aad4 No.1414
Not sure how I can go about helping to debug the issues im having, but, once I hit 100k+ images, my installation has gotten even slower, massively so. I added a very large collection to my local hydrus, and it got very laggy, and very slow. Often it will crash when trying to type in tags, thats the biggest area where it hangs, and also the most important.
Perhaps an option to type in tags then hit search,instead of it automatically searching, which seems to be what is causing the hang, when its trying to load up info of 100k files.
Thats mostly where it hangs up, when trying to load the files which typing in or searching tags seems to start trying to do, this is where it gets the worst.
I have also moved it from my ssd to hdd, i had SOME better speed on the ssd i think, but i don't think thats the only problem.
I have in the past, noticed some speedups when changing the process priority to high
And yes, if you are wondering, this is only one series of images, all Rozen Maiden, I have not added any other image collections to this, so its not as simple as removing unrelated images or splitting different types of images into different installs
Is there any other info I can provide to help pinpoint how you can fix these hangups?
85aad4 No.1417
File: 1447283474680.jpg (206.1 KB, 1174x1304, 587:652, 438dcce2778587b821210ae14b….jpg)
>>1411
I don't think you did anything wrong. My media drawing code can't handle big images very well yet. At the moment, it tries to render the whole image at 100% as soon as you zoom in, which means in your case a 8340x10470x24bit depth = ~260MB bmp. There can be several copies of an image held to cache certain processing steps and to buffer from one format to another, which is probably what is smashing your memory.
I plan to rewrite my canvas code to draw lots of 400x400 squares or whatever to tile the image, streaming in zoomed-in segments only when they are on screen, which should fix your problem. For now, please give your big images a local tag like 'high res, leave for now' and archive it, and come back to it later when Hydrus can manage it.
>>1414
The biggest slowdowns I have noticed are intense HDD activity (like a defragger running or another hydrus client doing processing) and a fragged hard drive. If you recently added those files, your db and db file cache is probably a bit fragged, so run your defragger and a database->maintenance->vacuum inside the client to internally defrag the db.
Beyond that, I agree we are starting to push my code with the current state of the public tag repo. Do you sync with it on that 100,000 client? The combination of six-figure files and 20 million tags blats my laptop, especially in making large-result autocomplete queries.
A big project that I am pushing nearer to the front of the queue is streaming autocomplete results, with the aim of always getting some kind of response in preferably 0.5s or so. The list will populate in the background, giving the gui some cpu time to unhang so you can select the (usually popular) result you want while the smaller results load out of view. Or it might take a different form, depending on the exact search logic, maybe loading the results quick but streaming the cpu-heavy file counts in or something.
To contribute, I am always interested in profiles of slow commands in real-world environments. Hit help->debug->db profile mode and then do something that is slow. Any db requests will be profiled and a big timing table will be written to client.log. Cut the appropriate text and email/pastebin it to me, and I'll have some great hints on what exactly is going slow for you.
85aad4 No.1418
>>1417
Running that vacuum did wonders, immediately noticeable improvements
Before I had lag no matter what tag i was trying to type in, whole hydrus program would stop completely for a moment. Now, I type in, no freeze of program, split second later the files start to load
I have it synced with the public tag repo.
If i see it lag up in any other instances I will use the db profile mode
85aad4 No.1419
>>1372
Version 181, same problem as before.
UnicodeDecodeError
'ascii' codec can't decode byte 0xa0 in position 0: ordinal not in range(128)
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUICommon", line 584, in EventMenu
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUICommon", line 536, in _UpdateList
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUICommon", line 2930, in SetPredicates
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientData", line 1338, in GetUnicode
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusData", line 172, in ConvertIntToPrettyString
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\locale", line 196, in format
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\locale", line 217, in _format
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\locale", line 166, in _group
85aad4 No.1427
File: 1447362866986.jpg (458.25 KB, 1280x914, 640:457, b849449d92ee20f285967dc3a3….jpg)
>>1418
That's great. It might also be that running a vacuum simply puts all your db pages through Window's file cache, so your access is sped up because hdd latency is temporarily eliminated, so let me know if things are running slow again 48 hours later.
I think I have hydrus set to vacuum every five days by default, but I am completely unsure what I should really be aiming for. Maybe I should queue it after every big insert. Have you changed yours? It should be under options->maintenance and processing.
>>1419
It turns out my preferred fix only pushed the error into the library, which it turns out can't handle unicode conversion of weird characters either!
I put out a hotfix last night, here are the links:
https://github.com/hydrusnetwork/hydrus/releases/download/v181/Hydrus.Network.181.Unicode.Hotfix.-.Win32.-.Extract.only.zip
https://github.com/hydrusnetwork/hydrus/releases/download/v181/Hydrus.Network.181.Unicode.Hotfix.-.Win32.-.Installer.exe
I have only heard about this bug from Windows users, so I only made a Windows hotfix, but if you aren't, let me know and I'll put a Linux/OS X version out.
If you are already using the hotfix and still getting this problem, let me know!
85aad4 No.1431
>>1427
Tried the 181 hotfix. It works as it should except syncing the tag repo.
UnicodeEncodeError
'ascii' codec can't encode character u'\xa0' in position 100: ordinal not in range(128)
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientData", line 2344, in Sync
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 100: ordinal not in range(128)
85aad4 No.1432
File: 1447438678942.jpg (294.81 KB, 1611x2100, 537:700, db775e543cf7f0af65cf75a1f1….jpg)
>>1431
Thank you for this. I will rewrite how things get printed to the log for next week to eliminate these new errors. Please pause repo sync for now by going services->pause->repository sync.
85aad4 No.1434
>>1432
>>1431
There is no need to pause repository sync as it works just fine. The error message is misleading. I've made pull request explaining it and how to implement a hotfix for that problem before realizing it have been reported here: https://github.com/hydrusnetwork/hydrus/pull/89
85aad4 No.1435
>>1417
>>1414
>>1418
I have Hydrus installed on RAID made from 2 HDDs. It currently contains 212,853 files totalling in 103GB. As for tags, i have 216,031 hashes, 9 namespaces, 3,145 tags, totalling in 874,234 mappings. Client is synced with the public tag repo. I don't have any speed issues, it usually takes Hydrus about 1 to 3 seconds to show proposed tags which I consider quite normal as i selected "By default, search non-local tags in write-autocomplete". You may want to change autocomplete settings in "Options->speed and memory".
The only issue i saw was when importing about 100k files at one go, which caused horrible lags on import window (where you add tags to each file) and memory issues for thumbnails. I was able however to import all files and for the sake of safety i moved remaining 100k into batches 10k each.
85aad4 No.1438
What I did to speed up Hydrus was place it on an ssd and symlinked the /db/client_files directory over to a hdd. That way client.db and thumbnails are loaded off of the ssd and the slower (but much larger) hdd is only accessed when viewing stuff.
Obviously not supported or recommended, but has worked fine so far.
85aad4 No.1455
>>1435
Oh, and here I thought I was the only one with a big collection. Glad to see otherwise.
I just tried messing with the speed and memory options, upped the memory space for all functions a little, added another 200 ms to autocomplete long wait, and im noticing the difference I think. Thanks, that seems to help.
>>1438
That sounds optimal, and awesome. I had hydrus on my ssd before, but the repo is too big to sit on the ssd with the operating system, unless i removed the whole linux partition (i have a windows/linux dualboot)
How did you do that that would also be awesome if it were supported, wink wink nudge nudge hydrus dev
85aad4 No.1457
>>1455
>How did you do that
If you really want to try this… Make a backup. Not responsible for data loss, etc etc.
With an already existing installation you should rename or move your existing /db/client_files to something or somewhere else to keep your files safe. Copy everything except for your old client_files folder over to your SSD.
With everything on your SSD, and no client_files folder, open a terminal in /db. First thing you need to do is create a new client_files at the location that you want all your files to be:
mkdir /path/to/hdd/client_files
Then create the symlink:
ln -s /path/to/hdd/client_files client_files
That should drop a /db/client_files symlink that leads to /path/to/hdd/client_files.
Now you can repopulate /path/to/hdd/client_files with the files that were in your old client_files folder that you renamed earlier.
The Windows equivalent of ln should be mklink.
This is just a quick fix until(if) movable databases and files are added. Might cause things to break in the future.
85aad4 No.1458
>>1455
>>1457
I just looked it up and it appears that if you're doing this on Windows the target and destination for the mklink command are reversed. Might want to play with that a bit before trying it so you know how it will behave.
85aad4 No.1463
Just installed on w 8.1 for the first time. Had a question; on initial startup after installing… is it supposed to take forever+1 before the program initializes or am I encountering some sort of hiccup?
85aad4 No.1465
>>1455
>How did you do that
On Windows you should use
mklink /D client_files X:\path\to\hdd\client_files
from Administrator Command Prompt,
85aad4 No.1466
>>1457
>>1458
>>1465
Ah thank you, I MIGHT try this, though backing up the whole hydrus library, wew thats going to be a long transfer.
Hydrus dev, any chance of this being added in the near future? or ever?
85aad4 No.1471
>>1466
It's a good idea to have a backup, anyway, so this makes for a good excuse
85aad4 No.1477
File: 1448220360083.jpg (300.38 KB, 1312x1005, 1312:1005, a6f0a4d996d9eaf832bda811bb….jpg)
>>1455
>>1466
Although I'm not in 'new stuff' mode right now, supporting multiple hdd locations for large dbs is something I will sneak in, as several people are reaching the limit on this stuff and there is no reason to keep regular files on an SSD.
I will keep client.db in the install dir, but I'll let the user add external directories with GB limits, and set a GB limit on the install dir, and add a daemon to regularly rebalance client_files across those directories.
>>1466
Have a look into FreeFileSync, which does backup maintenance very well. I run a backup every week onto an external usb drive. The inital x-hundred GB run took a long time, but now it takes a few minutes a week. I don't have to worry about hardware crashes, and if there is a house fire or something, I can just grab my usb drive and jump out the window, all important data safe.
>>1463
It isn't supposed to! Usually, the program boots in a few seconds. Initialising the database on first boot usually only takes a second. Do you have a 'crash.log' in your hydrus install directory? Or any errors in install_dir/logs/client.log? Is your hard drive full? Are you running the program from a protected location like C:\program files? Does it work if you run client.exe as an administrator?
85aad4 No.1482
Not sure if this is a bug, but I'll post it anyway.
According to Gelbooru, 'kantai_collection' is supposed to have 143,611 images. However when I use the Hydrus downloader for the 'kantai_collection' tag, it only finds 20k images? I don't know if that's an artificial limit or not, but i'd appreciate if someone could tell me what's up.
85aad4 No.1488
File: 1448390137451.jpg (338.8 KB, 1639x2302, 1639:2302, 24870c01a8c32ed7920f15b88d….jpg)
>>1482
It looks like they stop serving results after a certain count, like so:
http://www.gelbooru.com/index.php?page=post&s=list&tags=kantai_collection&pid=29988
>Unable to search this deep in temporarily.
I expect they can't/don't want to burn the CPU and memory on caching search results this deep. 20k results is about 475 pages, which I presume is enough for any normal web browsing user.
85aad4 No.1490
>>1488
http://zeekandgeek.com/index.php?page=forum&s=view&id=1549&pid=0
Seems there is a solution,which is to search by id's.
>Search "touhou id:<20000"
>Then search "touhou id:<40000"
>so on
or
>touhou id:>10000 id:<20000
Didn't know about this.Thanks for the response though.
85aad4 No.1509
On OSX, files do not seem to be from the drive when they are deleted from the db, as evidenced by the fact that Hydrus tells me (via a search for system:everything) that it has ~13 GB of files. On the other hand, I am told via Finder that client_files has 36.51 GB worth of files in it.
85aad4 No.1510
>>1509
Thank you for this report. If you go services->review services, how much total space does the client think it has for the local files service and the trash service?
And if you go to install_dir/logs/client.log, are there a million errors about deleting files?
85aad4 No.1528
File: 1449113003999.png (115.17 KB, 407x351, 407:351, cae54af48026dd0eb43aa56350….png)
Found a small bug that mostly just causes an error, replicable by appending a tag like ":this:" to a file then trying to upload to a tag server.
If this is done locally it only turns the ":test:" tag into an empty namespaced tag like "test:"
Hopefully I do code tags properly:
Exception
The repository encountered an error it could not handle! Here is a dump of what happened, which will also be written to your client.log file. If it persists, please forward it to hydrus.admin@gmail.com:
Traceback (most recent call last):
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\threading", line 783, in __bootstrap
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\threading", line 810, in __bootstrap_inner
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\threading", line 763, in run
--- <exception caught here> ---
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\twisted.python.threadpool", line 191, in _worker
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\twisted.python.context", line 118, in callWithContext
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\twisted.python.context", line 81, in callWithContext
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\include.ServerServerResources", line 510, in _threadDoPOSTJob
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\include.HydrusController", line 254, in WriteSynchronous
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\include.HydrusController", line 77, in _Write
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\include.HydrusDB", line 341, in Write
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\include.HydrusData", line 1670, in GetResult
include.HydrusExceptions.SizeException: Traceback (most recent call last):
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\include.HydrusDB", line 200, in _ProcessJob
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\include.ServerDB", line 2559, in _Write
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\include.ServerDB", line 2009, in _ProcessUpdate
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\include.ServerDB", line 1490, in _GetTagId
File "C:\code\Hydrus\build\server\out00-PYZ.pyz\include.HydrusTags", line 106, in CheckTagNotEmpty
SizeException: Received a zero-length tag!
Traceback (most recent call last):
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusThreading", line 233, in run
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 1934, in _THREADUploadPending
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientData", line 1922, in Request
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientController", line 310, in DoHTTP
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientNetworking", line 230, in Request
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientNetworking", line 179, in _DoRequest
File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientNetworking", line 615, in Request
85aad4 No.1529
>>1528
>If this is done locally it only turns the ":test:" tag into an empty namespaced tag like "test:"
I've just noticed that in addition to turning into an empty namespaced tag it also becomes irremovable through the standard tag manager.
85aad4 No.1532
File: 1449175933469.jpg (124.43 KB, 1268x866, 634:433, 616e0f5dca0f1129bd2556c367….jpg)
>>1528
>>1529
Thank you for this report and the exception.
I recently had the same problem trying to turn the incorrectly-parsed '<' into ':<' with a sibling. I tried to be clever by using '::<', but somewhere in the client gui->client db->network->server db->petition approval chain, the leading ':'s got stripped off again, and I ended up with the invalid '< to <' sibling pair.
I think I know how to fix it. I will work on it this week.
I'll make sure to remove your broken 'test:'-type tags as well.
85aad4 No.1533
Not sure if it's a bug or if I've fucked something up but anyway.
Importing tags via gallery download page works fine, but when setting a subscription to download tags it doesn't for some reason.
85aad4 No.1537
>>1533
I just tried one, and it worked for me, so I think the code is ok.
Is that import options - tags panel in your screenshot from file->options->default tag import options or services->manage subs? If that is from file->options, please check your subscriptions' specific tag options, for if they were created before you altered your defaults, they will still probably have nothing set. If this is so, you will have to update every existing subscription's tag options manually.
85aad4 No.1548
>>1537
It's from services->manage subs.
I didn't do anything but it fixed itself somehow. No idea what caused it, probably just my shit internet though.
85aad4 No.1549
>>1548
Nevermind, it got tags for new pics but not for the old ones, even tough the "get tag even if already in DB" is selected.
I reseted the cache and it appears to be working now tough.
85aad4 No.1550
>>1549
Resetting the cache worked.
I guess it doesn't check already downloaded files or something.
85aad4 No.1551
File: 1449506609718.jpg (239.96 KB, 700x1347, 700:1347, c57a95cd25914a99361f116cfa….jpg)
>>1548
>>1549
>>1550
Thank you for the update. Yeah, unless you tell them specifically to recheck old urls, subs only get files and tags for new urls. The 'get tags even if in db' only means for new urls to the sub that the client has already seen before, either in another sub or a downloader page. I will try to make the dialog and help a bit clearer to better explain how they work.
85aad4 No.1631
So,i had the brilliant idea to move 40GBs or 70k Plus images to "system:archive" from "system:inbox". I clicked on the tag search section, expecting to see system:inbox 0 and system:archive 70k, only to see that neither sys:inbox or sys:archive predicates were there. At the very least "system:everything" shows an accurate count. Is this an ill omen for my beloved database?
85aad4 No.1632
>>1631
(me again) Forgot to note that there were no errors reported by the client. Also I figured a screen of the problem would be better.
85aad4 No.1642
>>1632
>>1631
In the end I just unzipped a new 187 and plopped the DB in there. I have "sys:archive" and "sys:inbox" back now.
85aad4 No.1643
>>1642
Oh man I'm an idiot, I'm not sure if the old setup didn't show sys:archive and sys:inbox when I had some files in the inbox. I just figured out that it wont show if theres nothing in the inbox. fuuuug it' seppuku time for me.
85aad4 No.1649
>>1631
>>1632
>>1642
>>1643
It has been 20-something months since I had inbox zero, so I forgot this happened! Yeah, if num_archive or num_inbox have the same value as num_everything, the program won't include system:archive or system:inbox in the system predicate list. Perhaps this isn't ultimately helpful. Maybe I could have an indicator for inbox zero status, or perhaps I could make the predicate hiding optional?
85aad4 No.1652
File: 1451252388334.gif (998.3 KB, 250x251, 250:251, tumblr_mtsyxjt4651qg2nqto2….gif)
>>1649
I'm not too certain. It made sense to me after I found out. I suppose optional, if better over all. After I ran into the "missing" system predicates, I did go to settings to see if I had butchered anything in there. Then I posted of my shame of finding out later.
85aad4 No.1656
Trying to add pixiv tags and i constantly get this error when downloading initially, have to re-do several times to full get al lthe images from some tags.
Exception
The subscription Pixiv Little Busters! encountered several errors when downloading files, so it abandoned its sync.
Traceback (most recent call last):
File "C:\code\Hydrus\include\ClientImporting.py", line 2306, in Sync
File "C:\code\Hydrus\include\ClientImporting.py", line 2088, in _WorkOnFiles
Exception: The subscription Pixiv Little Busters! encountered several errors when downloading files, so it abandoned its sync.
85aad4 No.1659
File: 1451329439388.jpg (462.51 KB, 1140x1733, 1140:1733, d1e0b07faac6057d4a9a747a2b….jpg)
>>1656
Thank you for this report. I think my new subscription error protection code is being oversensitive for pixiv ugoira, which it wasn't detecting and safely ignoring correctly. I have fixed this for v188.
Just to check that you have the same problem, if you go services->manage subscriptions->your pixiv sub->import status icon button (just above the 'reset cache on dialog ok' button) and then right click on a failed download and hit 'copy notes', do you get something like this?:
Traceback (most recent call last):
File "C:\code\Hydrus\include\ClientImporting.py", line 204, in _WorkOnFiles
tags = gallery.GetFileAndTags( temp_path, url, report_hooks = [ self._file_download_hook ] )
File "C:\code\Hydrus\include\ClientDownloading.py", line 1400, in GetFileAndTags
( image_url, tags ) = self._GetFileURLAndTags( url, report_hooks = report_hooks )
File "C:\code\Hydrus\include\ClientDownloading.py", line 1388, in _GetFileURLAndTags
return self._ParseImagePage( html, page_url )
File "C:\code\Hydrus\include\ClientDownloading.py", line 1362, in _ParseImagePage
image_url = original_image[ 'data-src' ] # http://i3.pixiv.net/img-original/img/2014/01/25/19/21/56/41171994_p0.jpg
TypeError: 'NoneType' object has no attribute '__getitem__'
85aad4 No.1661
>>1659
Seems like i'm getting something different to that. here's a few of them
Traceback (most recent call last):
File "C:\code\Hydrus\include\ClientImporting.py", line 2017, in _WorkOnFiles
File "C:\code\Hydrus\include\ClientDownloading.py", line 1409, in GetTags
File "C:\code\Hydrus\include\ClientDownloading.py", line 1386, in _GetFileURLAndTags
File "C:\code\Hydrus\include\ClientDownloading.py", line 413, in _FetchData
File "C:\code\Hydrus\include\ClientController.py", line 314, in DoHTTP
File "C:\code\Hydrus\include\ClientNetworking.py", line 230, in Request
File "C:\code\Hydrus\include\ClientNetworking.py", line 179, in _DoRequest
File "C:\code\Hydrus\include\ClientNetworking.py", line 509, in Request
File "c:\python27\lib\httplib.py", line 1136, in getresponse
"""
File "c:\python27\lib\httplib.py", line 453, in begin
self.chunk_left = None
File "c:\python27\lib\httplib.py", line 409, in _read_status
version, status, reason = self._read_status()
File "c:\python27\lib\socket.py", line 480, in readline
raise
error: [Errno 10054] An existing connection was forcibly closed by the remote host
Traceback (most recent call last):
File "C:\code\Hydrus\include\ClientImporting.py", line 2017, in _WorkOnFiles
File "C:\code\Hydrus\include\ClientDownloading.py", line 1409, in GetTags
File "C:\code\Hydrus\include\ClientDownloading.py", line 1386, in _GetFileURLAndTags
File "C:\code\Hydrus\include\ClientDownloading.py", line 413, in _FetchData
File "C:\code\Hydrus\include\ClientController.py", line 314, in DoHTTP
File "C:\code\Hydrus\include\ClientNetworking.py", line 230, in Request
File "C:\code\Hydrus\include\ClientNetworking.py", line 179, in _DoRequest
File "C:\code\Hydrus\include\ClientNetworking.py", line 509, in Request
File "c:\python27\lib\httplib.py", line 1136, in getresponse
"""
File "c:\python27\lib\httplib.py", line 453, in begin
self.chunk_left = None
File "c:\python27\lib\httplib.py", line 409, in _read_status
version, status, reason = self._read_status()
File "c:\python27\lib\socket.py", line 480, in readline
raise
error: [Errno 10054] An existing connection was forcibly closed by the remote host
Traceback (most recent call last):
File "C:\code\Hydrus\include\ClientImporting.py", line 2034, in _WorkOnFiles
File "C:\code\Hydrus\include\ClientDownloading.py", line 1400, in GetFileAndTags
File "C:\code\Hydrus\include\ClientDownloading.py", line 1386, in _GetFileURLAndTags
File "C:\code\Hydrus\include\ClientDownloading.py", line 413, in _FetchData
File "C:\code\Hydrus\include\ClientController.py", line 314, in DoHTTP
File "C:\code\Hydrus\include\ClientNetworking.py", line 230, in Request
File "C:\code\Hydrus\include\ClientNetworking.py", line 179, in _DoRequest
File "C:\code\Hydrus\include\ClientNetworking.py", line 509, in Request
File "c:\python27\lib\httplib.py", line 1136, in getresponse
"""
File "c:\python27\lib\httplib.py", line 453, in begin
self.chunk_left = None
File "c:\python27\lib\httplib.py", line 409, in _read_status
version, status, reason = self._read_status()
File "c:\python27\lib\socket.py", line 480, in readline
raise
error: [Errno 10054] An existing connection was forcibly closed by the remote host
85aad4 No.1664
I don't have tracebacks for these crashes as they don't produce them but Hydrus hard crashes when changing themes and when shutting down on Windows. Not a huge issue, but quite indicative that something nasty is happening.
The shutdown crash is an access violation and probably has to do with Hydrus having a long shutdown? It's hard to capture as Windows chugs on with shutdown regardless.
Whereas the crash on theme change produces this:
Problem signature:
Problem Event Name: APPCRASH
Application Name: client.exe
Application Version: 0.0.0.0
Application Timestamp: 00000000
Fault Module Name: wx._core_.pyd
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 5477a7bd
Exception Code: c000041d
Exception Offset: 0000000000007216
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Additional Information 1: ec95
Additional Information 2: ec9599b53bd8e876d8f996dbb20361c0
Additional Information 3: 82e6
Additional Information 4: 82e668c667968b2445df6a18e0b11c4e
85aad4 No.1665
File: 1451413598560.jpg (5.25 MB, 3472x2741, 3472:2741, 6193b752c9a9a6722ce157c876….jpg)
>>1661
That's odd. Do you get errors like that doing anything else in the program?
That error usually means that the connection broke because of someone else's fault, be that pixiv closing it rudely or your firewall kicking in, or something else the client can't determine. It is usually rare, like if a server is overloaded or your router has a hiccup. Normally, if a server doesn't want to talk to you, it gives you a nice html page saying "Too much bandwidth" or whatever with a 401 error code or whatever, but this is just an abrupt end of conversation.
Are you running on slightly unreliable wifi or similarly unusual network setup/internet connection? How many files have you roughly downloaded from pixiv–a few thousand, or much more? Could some bandwidth firewall on their end be cutting you off?
I just downloaded a couple hundred files and didn't get this once, so I don't think some bad cod of mine is causing it.
In any case, I will make a note to handle this error better for when it does happen. I'll wait a sec and try again up to two times or something. Thank you for reporting it.
>>1664
I am sorry you are having this problem. If you don't mind answering:
Which version of Windows are you using? Are you running any unusual window themes or managers?
Do you have a particularly old computer? Does hydrus often lock up for a few seconds while you are using it normally?
Do you have hydrus set to run large processing jobs when it shuts down (under file->options->maintenance and processing)? If you do, does the client shut down ok if you turn them off?
Have you ever had a crash or odd flickery gui behaviour when starting the client?
If you go help->debug->db profile mode before you try to shut down, do you get any tracebacks printed to your log (it is install_dir/logs/client.log)?
When I put the release together tomorrow, I will make a special debug version for you that might spell out more what is going on here. I will post the link in this thread and some instructions on how to run it–if you have some time to keep working on this, please check it out!
85aad4 No.1667
>>1665
>Which version of Windows are you using? Are you running any unusual window themes or managers?
I'm currently running Windows 7 SP1 x64, this happened on Windows 10 x64 as well.
I am using a modded theme but the same behavior happens with an unpatched uxtheme.dll and switching between stock themes.
I am currently using Dual Monitor Taskbar on Windows 7 but I was not using this on Windows 10. Other than that no unusual window managers.
>Do you have a particularly old computer? Does hydrus often lock up for a few seconds while you are using it normally?
No, specs are in pic. Hydrus does not lock up unless I am uploading tons of petitions and files at the same time.
>Do you have hydrus set to run large processing jobs when it shuts down (under file->options->maintenance and processing)? If you do, does the client shut down ok if you turn them off?
To clarify when I said shutdown I meant Windows power off, the client closes properly if I manually close it.
I have hydrus set to "run jobs on shutdown if needed, but ask first".
I managed to capture a screenshot of the access violation, attached.
>Have you ever had a crash or odd flickery gui behaviour when starting the client?
Nope, none so far.
I turned on db profile mode and performed each crash, hydrus seems to write nothing to it's log when crashed in either way (other than the usual startup stuff).
I should have time to mess with the debug version when posted.
85aad4 No.1673
File: 1451526967068.jpg (419.26 KB, 1254x1996, 627:998, 34c985a4373676e2082a3a7c14….jpg)
>>1667
Ah, thanks for the update. I misunderstood your problem. We'll skip the debug release for now.
I have never tried to exit the client via windows shutdown before! I just tried it on my Windows 7 dev machine, and it was ok, but my OS X laptop had a similar error, so it looks like I can probably reproduce this problem myself. I expect I am not handling some special 'shut down right the hell now' OS event and opening the splash window when no new windows are allowed or something. I will play with it this week and see if I can fix it my end.
85aad4 No.1683
giphy never works
>Gallery 404
I've tried
#serial_experiments_lain
#serial experiments lain
serial_experiments_lain
serial experiments lain
and
anime
#anime
I'm using the linux version, btw
85aad4 No.1686
So I tried to install hydrus for the first time today (v188, of course.) and the installer didn't seem to want to come up for me. Task manager says that the process is running, but there's no window for the installation in sight. I gave ending the process and then running it again as an administrator a shot, but all that did was freeze the folder that I had the installer application in. Weird stuff.
I ran an installer for another program and that worked just fine. I downloaded the past couple versions of hydrus and tried to run them, didn't work either. Honestly, I'd just love to know whether other people have been having this problem or if it's on my toaster's end.
85aad4 No.1695
File: 1451867200412.jpg (1.57 MB, 1229x1024, 1229:1024, 4373fd301a31795bd72ce10d7a….jpg)
>>1683
Thank you for the report. I added giphy support a long time ago, so I expect their API has changed or disappeared. I will look at it, and if there is an easy fix, I will switch the url over or whatever.
>>1686
That sort of thing is usually from overzealous anti-virus throwing a false positive. If you do run an anti-virus like Avast, see if it has a log you can look at, as there might be a note about some file it blocked. I think install_dir/bin/upnpc_win32.exe was causing that problem for some people a little while ago.
Also, please try downloading the .zip 'extract only' release and see if you can extract it to somewhere simple like your desktop.
https://github.com/hydrusnetwork/hydrus/releases/download/v188/Hydrus.Network.188.-.Windows.-.Extract.only.zip
If that stops extracting on a certain file, it is probably that causing the problem, and if it works, then we know it is the installer itself. If it does extract ok, then try double-clicking client.exe, which should be in the base directory.
Let me know how you get on!
85aad4 No.1700
>>1665
Could it be related to having pixiv premium? I've run into some weird issue with the old pixivutil app using a premium account before. PRetty stable net all around so I dont think that is it with how often it's happening.
85aad4 No.1706
File: 1452022038763.jpg (1.86 MB, 2426x2075, 2426:2075, 475a44be17dee87dd836a4e1ea….jpg)
>>1700
Maybe–are you using your premium user/pass inside hydrus? I don't know much about Pixiv, but perhaps they have some browser filtering for premium accounts or something? Do you get access to more stuff as a premium person, so it might be specifically to stop scraping their premium stuff? Still, I would expect they would return a nicely formatted "403 Forbidden" or something if that were the case. I seem to remember a nice error from them when I was trying to download fullsize images without the correct http referral request headers from the image page.
At the moment, hydrus doesn't pretend to by Firefox or anything. It just says "I'm hydrus/188, gimme stuff". Maybe a 'pretend to be a browser' checkbox is something to add in future.
I have updated the socket-level error catching for tomorrow's release, by the way, so the problem might disappear. The client will wait a bit and try the request twice more before escalating the exception.
If it still doesn't work, you could try generating a non-premium throwaway pixiv account just for hydrus to use.
85aad4 No.1707
>>1683
I had a look, and unfortunately the simple open API that giphy used to provide has been replaced with a closed one. I don't have time to write a new manual parser, so it will have to wait until I extend the downloader engine enough that people can create their own.
I have removed giphy from the list of download pages for tomorrow's release.
85aad4 No.1728
It seems the last update broke the counting of files in a given collection in the Linux build for me, every "collect by [namespace]"action results in thumbnails displaying a zero for their file count (or nothing, if it's just one image/file)
85aad4 No.1732
File: 1452358765073.jpg (332.07 KB, 1865x958, 1865:958, 2cee60e4846a80163a7bc9bb89….jpg)
>>1728
Thank you for this report! It is fixed for next week.
85aad4 No.1733
>>1728
Addendum:
Trying to 'Open selection in a new page' on any of the thumbnails with zero count has no effect, no error output to the client log either
85aad4 No.1734
>>1732
>>1733
Ha, thanks! Your post came up after I submitted, feel free to ignore that one
85aad4 No.1765
I've encountered consistent blue screens when using Hydrus from an external HDD via USB on Windows 10
A typical dump will look like (with some blank fields excluded):
Dump File : 011316-35984-01.dmp
Bug Check String :
Bug Check Code : 0x00000139
Parameter 1 : 00000000`00000003
Parameter 2 : ffffd000`26362750
Parameter 3 : ffffd000`263626a8
Parameter 4 : 00000000`00000000
Caused By Driver : ntoskrnl.exe
Caused By Address : ntoskrnl.exe+142760
Processor : x64
Crash Address : ntoskrnl.exe+142760
Full Path : C:\WINDOWS\Minidump\011316-35984-01.dmp
Processors Count : 4
Major Version : 15
Minor Version : 10586
Dump File Size : 337,292
Dump File Time : 1/13/2016 12:09:44 AM
Parameter 1 is always "3", which is some sort of corruption, but this wasn't caught when I plugged in the HDD, or when I ran error checking
85aad4 No.1768
File: 1452713478344.jpg (495.08 KB, 1200x1489, 1200:1489, 4a375bb5ae4d93bb18599233d5….jpg)
>>1765
I am very sorry you are getting this. I have been talking with someone in the release thread about a very similar problem, starting here: >>1725 .
Have you used previous versions of hydrus on Win 10, and did they work ok?
Are you running video or game software in addition to hydrus when you get these BSODs?
Is the client booting or shutting down when the BSOD occurs, or can it happen just when you are browsing? Has it ever occurred when hydrus is idle?
If you navigate to C:\Windows\SysWOW64, is there a sqlite.dll file? How big is it?
85aad4 No.1772
NotFoundException
File not found!
File "c:\python27\lib\site-packages\wx-3.0-msw\wx\_misc.py", line 1367, in Notify
File "c:\python27\lib\site-packages\wx-3.0-msw\wx\_core.py", line 16869, in Notify
File "C:\code\Hydrus\include\ClientCaches.py", line 896, in GetImage
File "C:\code\Hydrus\include\ClientRendering.py", line 94, in __init__
File "C:\code\Hydrus\include\ClientRendering.py", line 76, in __init__
File "C:\code\Hydrus\include\ClientCaches.py", line 340, in GetFilePath
File "C:\code\Hydrus\include\ClientFiles.py", line 190, in GetFilePath
>>1706
I swapped over to my other account (non premium) and that error seems to have gone though now I'm hitting this instead But i'm guessing it';s related to my reformat rather than pixiv.
85aad4 No.1776
>>1768
Not >>1765 but I have the exact same problem as >>1725
>Have you used previous versions of hydrus on Win 10, and did they work ok?
I have been running hydrus since around 173 release and it just started appearing recently
>Are you running video or game software in addition to hydrus when you get these BSODs? / Is the client booting or shutting down when the BSOD occurs, or can it happen just when you are browsing? Has it ever occurred when hydrus is idle?
No, not always. It always happens few seconds in after starting the client
>If you navigate to C:\Windows\SysWOW64, is there a sqlite.dll file? How big is it?
I don't have said file
85aad4 No.1777
>>1768
>I have been talking with someone in the release thread about a very similar problem
Thanks, I'll take a look and see if rolling back to 188 fixes things. They seem to have the exact same problem, at least. Going to 190 didn't fix the kernal error for me
>Have you used previous versions of hydrus on Win 10, and did they work ok?
Yes, from about 184 through 188 on another computer
>Are you running video or game software in addition to hydrus when you get these BSODs?
I'll typically also run torrent software and a web browser, but never any games
>Is the client booting or shutting down when the BSOD occurs, or can it happen just when you are browsing? Has it ever occurred when hydrus is idle?
It's never happened on startup, and seems to happen when an event, or the program itself, closes. I was also getting GUI errors on shutdown where notifications would still show an outline after the program had entered the shutdown process.
>If you navigate to C:\Windows\SysWOW64, is there a sqlite.dll file? How big is it?
No, should there be?
85aad4 No.1778
>>1777
>>1768
Rolling back to 188 returned this error when I chose system:everything
85aad4 No.1782
File: 1452800124911.jpg (3.73 MB, 2164x3592, 541:898, d92a399aa73babc596e05f8599….jpg)
>>1772
Is that error happening on files you just downloaded, or on files you have had in the db a while? That error means hydrus looked for the file but could not find it.
What was your recent reformat? Did you move a lot of folders around?
Have you set external file storage locations in options->file storage locations? Could those locations have recently changed, or has hydrus's install location recently changed? If you look at the locations listed in the options dialog, are they what you expect, or is a drive letter or path incorrect?
If your external locations are wrong, fix them in the dialog and then go database->maintenance->rebalance file storage. The client should repair its understanding of where everything is.
>>1778
Unfortunately, v190 changed the way the db tracks files, so you can't downgrade v190->v188. You will just get those file table errors whenever the client tries to cross-reference files with anything. If you have a backup of v189, you can downgrade that.
Other than the popup errors, is that v188 code stable at least? If so, that proves it is v189 causing the problem.
>>1776
>>1777
Thank you for these updates. The missing sqlite.dll is actually good news–apparently BSODs can occur when different versions of sqlite.dll conflict in Win10, and SysWOW64 is one potential location for that.
It seems something I changed in v189 is causing the problem. I suspect it is one of:
The new analyze stuff I wrote.
A new pauser object that makes daemons wait while the gui catches up.
Setting the db to TRUNCATE journalling mode before a vacuum call.
Changing the db page size for Windows dbs during a vacuum call.
Increasing the db cache from 10MB to 50MB.
Luckily, most of this stuff only happens in the daemons (the workers that do maintenance jobs in the background). They usually kick in a few seconds after a launch and just before an exit as well.
So, here is a special build:
http://www.mediafire.com/download/dxkvm4ny29z3ab7/Hydrus_Network_v190_with_no-daemons_-_Windows_-_Extract_only.zip
That is essentially v190a. If you start it from the command line like this–
client -no-daemons
–it will not run any daemon jobs. The db won't maintain itself, and repositories won't synchronise themselves. If you have the client set to run maintenance on shutdown it might still cause a problem, however, so please switch that off. Please let me know if that is stable for you. If it is, you can keep using it for now and we can start narrowing down exactly which call is causing Win 10 trouble.
If you still get BSODs, then please let me know as usual. You might also want to try running the client in Windows Vista compatibility mode, as that temporarily fixed a possibly similar shutdown-crash bug recently.
Post last edited at
85aad4 No.1786
File: 1452805611255.png (25.14 KB, 1178x252, 589:126, ss (2016-01-14 at 02.54.38….png)
Just got an error while trying to vacuum the database saying that the database or hard drive was full. However, the drive that the program is on (H), has 70gb free. When I copied the traceback info, this is what it gave:
OperationalError
database or disk is full
Traceback (most recent call last):
File "C:\code\Hydrus\include\ClientDB.py", line 6823, in _Vacuum
OperationalError: database or disk is full
Checking database integrity did not return any errors.
85aad4 No.1788
>>1782
Yes, I was able to at least search and let the program update/run/idle without problems.
85aad4 No.1790
>>1782
thanks for the test build, btw, I'll see what it does tomorrow
85aad4 No.1796
File: 1452822441282.jpg (323.22 KB, 965x1868, 965:1868, 9e38c72cbaf09a72adf6876b15….jpg)
>>1786
I remember an issue some (I think Linux) users had a while ago where they had enough space on their hydrus partition, but the temporary vacuum file (which ends up about the same size as client.db, which for most people is ~3GB right now) was going through or being stored in or was in some other way related to their OS temporary folder, which for them was capped to 500MB or something because they were doing Linux ramdisk space magic.
Since your C drive has <3GB of space, maybe something similar is happening? If you temporarily create a few gigs of space on C and try a vacuum, does it work then?
If not, you can try to do a vacuum from console, which should give more error information. Close the client, go to install_dir/db and double-click sqlite3.exe.
A terminal window will open. Type exactly this:
.open client.db
.log stdout
VACUUM;
.exit
Note that VACUUM has a semi-colon after it.
While it works on that, you can watch the db journalling file grow inside your db dir. It will take several minutes, but the client.db-wal or client.db-journal file (whichever you have) should grow to ~98% of client.db's size, and then when it is done, the files are supposed to 'swap' and the journal file is deleted. You will likely get the same error again, though.
It will hopefully say something like '(522) blah blah disk full'. The number inside the parentheses is a useful error code.
Extra questions, if you don't mind:
How many files do you have in your hydrus client, roughly?
How big is your client.db file?
Do you know how long your client spent running its vacuum? Was it likely a few minutes, or could it have been much longer?
>>1788
>>1790
That sounds promising! If you have the time and would like to continue testing, please try going database->maintenance->vacuum, and see if it causes BSOD.
85aad4 No.1797
>>1796
I did what you suggested and cleaned some stuff off my C drive and it worked this time. I watched it as well when it did the vacuum, and the space on my C drive slowly shrank during the operation, suggesting that it's moving the client.db to the C drive for the operation like you thought.
As for your extra questions, my client.db was 3.1gb, now 3gb. The first time I ran the client it took a few minutes before it returned an error. This time it completed it successfully in roughly 10 minutes. I think I have around 16k files in hydrus atm :V
85aad4 No.1799
>>1782
I had my DB backed up, loaded that when i reformatted my PC and I keep getting this on random images now.
85aad4 No.1800
>>1782
Not any of these guys, but I've been getting the BSOD and when I ran this, the client ran for a little bit, gave me a thumbnail error, subscriptions started running and I got a BSOD. Also I think I actually started getting this before updating to 189.
85aad4 No.1811
File: 1453041771221.jpg (176.37 KB, 1500x997, 1500:997, d64bf30bdbeefeff885a48a5f4….jpg)
>>1797
Thank you for the update. I don't really know what is going on here, but at least we know how to fix it. I will update my db help files.
>>1799
When you backed up, did you make a full copy of client.db and the client_files directory? That error suggests you have lost some files somewhere. Perhaps your backed-up client_files directory was an older version than the client.db, or maybe some transfer step didn't complete fully?
Inside client_files should be 256 folders, 00 to ff. Do the folders near the top have roughly the same number of files as the ones at the bottom? If you have a program like SpaceMonger or WinDirStat to view your install directory as a treemap, do all those 256 folders seem to have roughly the same size?
I am not at my dev machine now, so I can't remember if I added this in v190 or if this is pending in v191, but I have improved the error handling for this situation so it will now say the exact path that was missing. When you start seeing those better errors, see if the missing files all start with 'd4', like, 'install_dir/db/client_files/d4/d4123456…' or similar. That might help figure out what happened.
>>1800
If you run that version with -no-daemons, do you get the BSOD? You can do this by running from command line. Shift-right-click your install_dir's explorer window and hit 'open command window here'. Then type:
client -no-daemons
You can also set up a shortcut to client.exe to do the same. That will launch the client without some background processes, like the one that syncs subscriptions. I think it is exactly those background processes that are causing the BSOD. If you can run that special build without daemons and without BSOD, that confirms it. Once we know that, we can start narrowing down exactly which one is causing the problem.
Have you ever had a thumbnail error before? Was the exception traceback written to the bottom of your install_dir/logs/client.log?
85aad4 No.1815
>>1811
I was pretty sure I ran it without daemons but now I'm not actually so sure. I'll try it again. In the meanwhile, here's the log related to the thumbnail thing:
2016/01/17 18:15:51: Exception:
2016/01/17 18:15:51: IOError
cannot identify image file u'D:\\Hydrus Network\\db\\client_thumbnails\\31\\319d3cb16263ac431a0e87e187158b2ac9191b9953213410db2ae31524627d9f_resized'
Traceback (most recent call last):
File "C:\code\Hydrus\include\ClientCaches.py", line 997, in _GetResizedHydrusBitmapFromHardDrive
File "C:\code\Hydrus\include\ClientRendering.py", line 27, in GenerateHydrusBitmap
File "C:\code\Hydrus\include\HydrusImageHandling.py", line 75, in GeneratePILImage
File "c:\python27\lib\site-packages\PIL\Image.py", line 2286, in open
IOError: cannot identify image file u'D:\\Hydrus Network\\db\\client_thumbnails\\31\\319d3cb16263ac431a0e87e187158b2ac9191b9953213410db2ae31524627d9f_resized'
2016/01/17 18:15:52: Exception:
2016/01/17 18:15:52: NotFoundException
The thumbnail for file 319d3cb16263ac431a0e87e187158b2ac9191b9953213410db2ae31524627d9f was found, but it would not render for the above reason. Furthermore, the faulty thumbnail file could not be deleted. This event could indicate hard drive corruption, and it also suggests that hydrus does not have permission to write to its thumbnail folder. Please check everything is ok.
Traceback (most recent call last):
File "C:\code\Hydrus\include\ClientCaches.py", line 1016, in _GetResizedHydrusBitmapFromHardDrive
NotFoundException: The thumbnail for file 319d3cb16263ac431a0e87e187158b2ac9191b9953213410db2ae31524627d9f was found, but it would not render for the above reason. Furthermore, the faulty thumbnail file could not be deleted. This event could indicate hard drive corruption, and it also suggests that hydrus does not have permission to write to its thumbnail folder. Please check everything is ok.
This happened for a couple more files. They're recent, from subscriptions that fired up after 190.
Also, while writing this post I tried a few more times, and I'm afraid that even without the daemons the BSOD happens about a minute or so after running the program. It doesn't even appear to be doing anything in particular.
85aad4 No.1824
>>1796
I'm running the 190a build you uploaded to mediafire, and I've been able to run programs normally while updating the tag repository. No BSODs yet. I'll post after the db vacuum either succeeds or fails
85aad4 No.1825
>>1824
Vacuuming worked, checking if shutdown maintenance runs properly
85aad4 No.1826
>>1825
Shutdown maintenance finished (or was aborted) without BSOD
85aad4 No.1827
>>1826
Trying to load images from system:everything caused a BSOD, I have approximately 11.5k items
85aad4 No.1828
>>1827
Ah, that might be why I kept BSODing. I had an inbox tab open with some 1.5k images in there.
85aad4 No.1829
Uh, I left hydrus running for a few hours and this was here when I came back.
Should I be worried? Here's the traceback (I think each one is the same) http://pastebin.com/ehw6QDvH
85aad4 No.1830
>>1828
After some checking - as long as I have no tabs open, I will not get a BSOD, However, if hydrus loads a session with searches, even if I close them, a BSOD happens. I've been running 190a without -no-daemons for the last 15 minutes and nothing has happened, whereas otherwise even with daemons disabled the bsod would happen in a few seconds.
85aad4 No.1831
File: 1453222311495.jpg (1.07 MB, 1744x900, 436:225, a2dc81921ddc83f4e5a8f4708e….jpg)
I'm not sure if this counts as a bug or should be posted under feature requests, but right now when scraping a given pixiv artist by id the client seems to skip any entries that are not single pictures.
I wouldn't expect hydrus to handle ugoira, as those are a real pain, but it also skips any and all grouped pictures/picture galleries because it finds the mime to be 'uninteresting'
This makes scraping somewhat problematic, as many artists over there love uploading in bulk, and going through the 'file import status' entries one by one to grab missing files takes a lot more time than just doing the entire thing by hand and importing afterwards
Am I maybe not using the downloader correctly?
85aad4 No.1834
File: 1453230938430.jpg (210.34 KB, 1588x1055, 1588:1055, 1f22ab7ec1efac03fe8b57f413….jpg)
>>1815
>>1824
>>1825
>>1826
>>1827
>>1828
>>1830
Thank you, this is very helpful. It sounds like the database maintenance is probably ok, but something in file searching or general result page maintenance is certainly triggering it. This is odd, because I didn't make much change to that code in v189, and it is unusual that something so high-level could cause cause BSOD. I rewrote some behind-the-scenes media management code to be more efficient when new thumbnails were added to an existing result set, like in an import window, but this would not be called by a normal search page.
There is an outside possibility that it wasn't something I added in v189, but instead Microsoft pushed an update at around that time that began having a problem with something I previously added. A web search for 'win 10 update bsod' gives copious examples of botched security updates causing problems.
So, if you still have time and enthusiasm, you could try running a v188 client for a short while to check that that definitely works ok. Because of the recent file changes, you can't downgrade from v190, so please create a new v188, import more than 256 files, and then run several system:everything queries in multiple pages. The link is:
https://github.com/hydrusnetwork/hydrus/releases/download/v188/Hydrus.Network.188.-.Windows.-.Extract.only.zip
As it happens, I am in the midst of a big computer/network switcharound right now, including moving my hydrus development to a new Win 10 computer next week. I am hoping I will get this BSOD on my new machine so I can quickly figure out what is doing this and fix it. I will be reinstalling several other computers and playing musical chairs with about eight hard drives next week, so am not planning to do much hydrus work or put out a normal release, but if I can repeat this BSOD, I will put out a release just for that on the 27th.
>>1815
That thumbnail error suggests you may have other problems as well. Not only was the thumbnail for that file malformed, but the client failed to delete it from your hard drive. If you go to D:\hydrus network\db\client_thumbnails\31, does the 319d3c… file exist? There should be two–one with the whole hexedecimal hash as its filename, and another with '_resized' at the end. Maybe the resized one has size 0KB.
If you have them and they seem ok, copy them to your desktop and rename them to put .jpg on the end. Then try double-clicking on them to open them in your default image viewer. Do they load?
If you go to …\db\client_files\31\319d3c…, does the full file exist there? What is its file type, and if you double-click it, does it load ok in whatever your default program is?
I've improved that error to say more in v191. When you are ready to try normal browsing again without risking a BSOD, you should get a second traceback with the exact error the OS is giving when trying to delete that file.
You can quickly look up that file by searching for system:hash=319d3cb16263ac431a0e87e187158b2ac9191b9953213410db2ae31524627d9f .
>>1827
Would you estimate that the BSOD occurred at the beginning of the search, or somewhere in the middle (where it says 'Loading… 256 of 11,500', or the final step, where the thumbnails pop in on the search page?
>>1829
This could be serious. It might be that your database is broken, or it could be a false positive error from something else. If the client is running, shut it down now. Don't open it again until we are sure this isn't a big problem.
Have you had any recent power cuts or other problems with your hard drive? Is it particularly old or fragged or full up?
Go to install_dir/db and check the file 'help my db is broke.txt', where I've written a simple guide on checking what is going on.
Let me know how your chkdsk goes. You might also want to launch sqlite3.exe and run:
.open client.db
.log stdout
SELECT * FROM files_info LIMIT 100;
ANALYZE files_info;
ANALYZE;
.quit
Some of those queries may give more detailed errors that will help figure out what is wrong.
If this isn't a simple problem, I can help you try to recover what's inside your db.
>>1831
At the moment, I'm afraid pixiv manga (and any other single page -> multiple file action) isn't supported. A future version of the downloader engine will support it. When the next vote on what I should work on comes around, please vote for improvements to the gallery downloader.
85aad4 No.1835
>>1834
>Would you estimate that the BSOD occurred at the beginning of the search, or somewhere in the middle (where it says 'Loading… 256 of 11,500', or the final step, where the thumbnails pop in on the search page?
I'm almost certain it was during thumbnail loading
85aad4 No.1837
>>1834
The actual file is there and opens fine in hydrus, but the thumbnail is simply not there.
85aad4 No.1838
>>1834
>Have you had any recent power cuts or other problems with your hard drive? Is it particularly old or fragged or full up?
The hard drive is brand new and still mostly empty. No power cuts that I know of. chkdsk reported no errors.
Running those queries showed this.
The client isn't running right now, but I was using it for several hours after I got the error with no more issues, and this is actually the second time it's appeared. I ignored it the first time because I'm dumb.
85aad4 No.1840
>>1838
Alright, I followed the instructions in the text file. Got these errors when I did an integrity check, and a few errors when attempting to clone the database.
I'm not sure how serious these are. Luckily, I did make a backup a week or two ago, although I'm not sure when these errors were first made.
85aad4 No.1849
File: 1453321803234.jpg (127.55 KB, 796x1000, 199:250, 8f19be4efb0ac78c20e9c20ca3….jpg)
>>1837
I am not totally sure what's going on there, then. I did find a typo in a different bit of that code, so maybe there is another one. Let me know what error you get in v191 and beyond.
>>1838
>>1840
You may be in luck. Those integrity errors are all in an index, which is internally duplicate data.
I also just ran a .clone and got the same errors, but the file was created ok, and the cloned tags_fts4 seems to have the correct content. I guess .clone has a minor hiccup on virtual fts4 tables. I don't know why it is trying to copy sqlite_statx either–it is correct to not ultimately copy that info over.
I suggest you hang on to your backup db and the old broken client.db and try using your new clone (assuming it got created despite those errors). If the client opens ok, go help->debug->force idle, which should trigger the maintenance routines that were throwing the error last time. If they proceed without another 'malformed' error, I think you are good. If not, then we'll look at it closer.
If you prefer, you can also test it manually by running the ANALYZE; call again on your new clone through sqlite3.exe.
If you only lost a sector or page related to an index, then nothing is lost. It is worrying that those rows are gone, though. Something went wrong with your db, possibly a bug in sqlite or more likely a problem with your hard drive that randomly zeroed 4096 bytes or similar. Since it is new, I am not sure why that would happen. Make sure all the cables are well seated, I suppose, and hang on to your backup for a little longer. Keep me updated if anything new happens!
85aad4 No.1851
>>1849
Alright, I loaded up the cloned db with no troubles, and I didn't get any errors after.
I'm missing a few images that were imported in the old db after cloning it, but I can redownload them easily.
85aad4 No.1860
I tried updating hydrus using the windows installer but now the client wont even start! I just get this error
85aad4 No.1873
maybe related to the bitlocker encrypted vhdx I keep hydrus in, but my database is missing many, many files.
I see many blank tiles in hydrus. The tags are intact and I have the hashes of what they used to be, but the files themselves are not there anymore.
Any way I could get hydrus to list hashes that correspond to missing files? and also maybe use ipfs or help from the community here to recover what I can?
85aad4 No.1876
Failed to update public tag repository:
NameError
global name 'size' is not defined
Traceback (most recent call last):
File "C:\code\Hydrus\include\ClientData.py", line 1519, in Sync
NameError: global name 'size' is not defined
85aad4 No.1911
I was about to format the PC, so I moved the hydrus folder (the one with .db, files and stuff) to my external HDD, I reinstalled my OS, hydrus and restored the database using that folder, it went smoothly, searches work and everything, but whenever I try to open a file pic related happens.
Basically the file doesn't open, I can only perform searches and see the thumbnails, if I touch any file, I'm get flooded with shitloads of error messages.
Also, if I actually open the file, 2nd pic related happens (it shows nothing other than the name and tags)
Here's the traceback
NotFoundException
File not found in path + /home/wsy/Pictures/hydrus/df/dfef7c0603a13904e9dbec0903c87909b3e228c2aebcee20840da19f586ea688.jpg!
File "/usr/lib/python2.7/site-packages/wx-3.0-gtk2/wx/_core.py", line 16762, in <lambda>
lambda event: event.callable(*event.args, **event.kw) )
File "/opt/hydrus/include/HydrusController.py", line 210, in ProcessPubSub
try: self._pubsub.Process()
File "/opt/hydrus/include/HydrusPubSub.py", line 127, in Process
callable( *args, **kwargs )
File "/opt/hydrus/include/ClientGUICanvas.py", line 1616, in FocusChanged
if page_key == self._page_key: self.SetMedia( media )
File "/opt/hydrus/include/ClientGUICanvas.py", line 1220, in SetMedia
self._media_container = MediaContainer( self, self._image_cache, self._current_display_media, initial_size, initial_position )
File "/opt/hydrus/include/ClientGUICanvas.py", line 3150, in __init__
self._MakeMediaWindow()
File "/opt/hydrus/include/ClientGUICanvas.py", line 3217, in _MakeMediaWindow
self._media_window = self._media_window = StaticImage( self, self._media, self._image_cache, media_initial_size, media_initial_position )
File "/opt/hydrus/include/ClientGUICanvas.py", line 3477, in __init__
self.EventResize( None )
File "/opt/hydrus/include/ClientGUICanvas.py", line 3563, in EventResize
self._image_container = self._image_cache.GetImage( self._media, ( my_width, my_height ) )
File "/opt/hydrus/include/ClientCaches.py", line 911, in GetImage
image_container = ClientRendering.RasterContainerImage( media, target_resolution )
File "/opt/hydrus/include/ClientRendering.py", line 94, in __init__
RasterContainer.__init__( self, media, target_resolution )
File "/opt/hydrus/include/ClientRendering.py", line 76, in __init__
self._path = client_files_manager.GetFilePath( hash, mime )
File "/opt/hydrus/include/ClientCaches.py", line 340, in GetFilePath
return ClientFiles.GetFilePath( location, hash, mime )
File "/opt/hydrus/include/ClientFiles.py", line 194, in GetFilePath
raise HydrusExceptions.NotFoundException( 'File not found in path + ' + path + '!' )
What can I do?
I have about 8k files and I would like to keep them as organized as before I formatted the PC.
85aad4 No.1912
>>1911
Oh, never mind, I see the problem
"/home/wsy/Pictures/hydrus/df/dfef7c0603a13904e9dbec0903c87909b3e228c2aebcee20840da19f586ea688.jpg"
the folder "/home/wsy/Pictures/hydrus/df" doesn't exist, my files are all in subfolders in "/home/wsy/Pictures/hydrus/client_files"
Silly me, I changed the "default export folder" and "file storage location" it works now.
85aad4 No.1922
I have Never seen any error messages, yet when I start a remote tag account with the base key, nothing happens. I can check the credentials and it says everything looks okay, but nothing ever downloads.
How do I force the program to start downloading the tag data for the meta data? I have never gotten past this stage and it makes the program basically .
85aad4 No.1926
File: 1454176246225.jpg (334.5 KB, 564x700, 141:175, d26f2cb44e01c5740365397a43….jpg)
>>1860
I think you have hit the 32bit->64bit jump problem. You will need to perform a clean install. Please check the v186 release post here:
http://8ch.net/hydrus/res/1589.html
>>1873
You could go database->maintenance->check file integrity, but I just looked at it, and it doesn't print any information about missing files–it just removes them from the current db file table. I'll update it for v192 to print missing paths to the log.
Until then, please make sure your hard disk is ok, and maybe move hydrus off that partition if it is likely to do that in future. Randomly deleted files does not sound good! Check 'help my db is broke.txt' in the install_dir/db directory if you haven't already. Also, if you have a backup, you could try merge-copying your old client_files directory into your new one, which would recover most/all of the files.
>>1876
Thank you for this report. It is fixed for v192. Please let me know if you still get it, or anything else!
85aad4 No.1927
File: 1454177062101.jpg (54.76 KB, 570x688, 285:344, 9d83fb140c42d591faaa7c8ad7….jpg)
>>1911
>>1912
I am sorry about this. I've been thinking about this problem, but haven't come up with a clever way to heal these sorts of problems automatically.
I will add an explicit check at the beginning of every client boot, where it will say "Hey, I think your external storage location x is moved/missing!'.
>>1922
It is only supposed to happen when your client is 'idle', which you can customise in file->options->maintenance and processing. You can force it via the help->debug menu, but this is not recommended, especially for new users. For most people, the initial sync takes a week or two, so if you leave the client alone for six hours and come back, you should see some progress.
If you have some big defrag program running, though, or you use the same computer to browse or play games, then the client might not do anything because it will assume the system is busy and will not want to kill your cpu. Again, check the options dialog and set whatever idle options work for you. If you would really prefer to have manual control, you can also set the client to only do big maintenance jobs on shutdown.
85aad4 No.1953
>>173
My client recently has stopped responding at a relatively high rate, when running Hydrus as an administrator this doesn't happen, but I get pic related as errors
85aad4 No.1955
File: 1454443321313.jpg (4.26 MB, 3460x2163, 3460:2163, 62dd80effb601c0ced23a24af9….jpg)
>>1953
Thank you for this report. This bug is fixed in tomorrow's release. Please let me know if you still get anything like it in v192.
85aad4 No.1971
>>1811
Sorry for the late reply lost internet for 2 weeks, It seems I've only got 87 folders in therer, looking at my backup folder theres only 171 in there, safe to assume i've screwed up the back up?
If that's the case should i just nuke everything and start over i guess?
85aad4 No.1974
File: 1454524536834.jpg (172.02 KB, 1582x1238, 791:619, 223538a05ed6b0f816883354c0….jpg)
>>1971
Unfortunately, I think so. Did you ever add an external storage location under file->options->file storage locations? It is worth checking that options panel anyway, just in case. It could be those folders got sent somewhere else. I think that's the only way the client would ever move/delete a folder from client_files.
If it looks like the extra folders were lost in your backup/restore process, then I think your best bet is to gather all the surviving folders you have, start a new client, and then try reimporting them. You should recover about two thirds of your stuff.
I use FreeFileSync for my backups, and I find it works very well.
85aad4 No.1986
>>1955
Seems fixed for me, after telling AV to fuck off and stop deleting some of the files
85aad4 No.1993
Probably a problem on my end, but Hydrus freezes about half the time when I go to import a folder of images. It stops importing, disk usage drops to 0, and doing anything besides pausing/unpausing import or selecting files in the inbox causes it to become unresponsive.
>Folder of ~950 images
>locks up at ~350
>force close via taskmanager, restart, pause import at around 340, archive, remove, unpause
>locks up at 416, repeat above
>locks up at 560, repeat
>locks up at 640, repeat
At this point, I stopped applying 1 ("reaction faces") of 2 (using regex to import original filename) tags to all files and it finally imported them all no problem.
Any idea what I could be screwing up?
85aad4 No.1995
>>1974
I'm getting a bluescreen whenever i run a search
BSOD message is Kernel_Security_Check_Failure.
I followed your advice and rolled back to v188 and imported around 300 files but the problem still persists.
Seems to happen randomly. First time I tried it, it crashed after finishing the image/thumbs loading. Second time, I ran multiple queries and it crashed as i exited. Third time i used the command window to disable daemon and ran multiple queries and let it sit for a moment and it crashed
85aad4 No.1998
>>1995
Nvidia card? If so, check for new drivers. We had a total shitfit over this a few weeks ago
85aad4 No.2004
>>1998
Yep, installing the new drivers actually worked.
Thanks anon
85aad4 No.2011
Exception
Could not parse external IP!
File "include\ClientGUIDialogs.py", line 1384, in EventCopyExternalShareURL
external_ip = HydrusNATPunch.GetExternalIP() # eventually check for optional host replacement here
File "include\HydrusNATPunch.py", line 55, in GetExternalIP
raise Exception( 'Could not parse external IP!' )
Trying to share booru externally and getting this.
85aad4 No.2045
File: 1455578118013.jpg (2.95 MB, 1800x1322, 900:661, c22c6b54fcd3d0496cce826df7….jpg)
>>1993
>>2011
Hey, sorry for the late reply here. I missed these the first time around because of all my recent IRL stuff.
>>1993
I am not sure what this is. It might be a code logic problem that is literally locking up the program, but I expect it is hard drive lag that I am not dealing with well.
The hydrus db is too big right now, so sometimes when transactions commit or the db engine decides to clear out its journal, it can take a very long time, especially on systems with very fragged drives or otherwise unusual storage. You may not see hard drive activity, but the db could be waiting on Windows to clear out some temporary file or give up some exclusive lock. The gui works until it needs the db, at which point it waits infinitely in these cases, locking up until the db can process new jobs, which is frustrating. I plan to split up the db file over the coming weeks to reduce this lag.
If you haven't checked out my lag help page, please do:
http://hydrusnetwork.github.io/hydrus/help/reducing_lag.html
Do you have an aggressive defragging program or anti-virus, or something else that might be choking the client.db file every time it grows a little?
Try doing an import, and when it locks up, open install_dir/db. Do you see a client.db-wal or client.db-journal file growing very slowly? Usually about 1MB per minute. If it is doing stuff to that, then the client is clearing out some stuff, even if its CPU looks like 0.3%.
Give the client about twenty minutes, and it may have unfrozen itself. See if it freezes up again, or if this is a one-time thing. If it keeps freezing, then follow the 'db profile' instructions on that lag help page and send me whatever profile seems to span the frozen step, and I'll be able to pinpoint more what is going on.
If it is still stuck after twenty minutes, then let me know and we can look at it closer.
>>2011
It looks my UPnP parser doesn't understand what your router is returning.
Please go to your install_dir and shift+right-click on the 'bin' directory and select 'open command window here'. Then type in:
upnpc_win32 -l
That's a lower case L. This is the query hydrus is making to ask your router a whole bunch of info about your network. Somewhere in there should normally be a line that says:
ExternalIPAddress = [your ip]
Do you have that? If not, what do you get?
If you do get it, and there seems to be a reasonable number afterwards, is the next line ' i protocol exPort->inAddr:inPort description remoteHost leaseTime'?
You can send me the whole output if you like, but don't post it raw here, because it will have lots of your private information. You can email it to me, or carefully censor all the 192.168.0.1 stuff in photoshop before you post it here.
You can send the console output to a text file by going:
upnpc_win32 -l > upnpc.txt
85aad4 No.2050
>>2045
Looking at it my router doesn't support UPnP at all so it just returns "No IGD UPnP Device found on the network !" But even when I manually forward the ports, is there some option I'm missing here maybe?
85aad4 No.2051
File: 1455727242288.jpg (334.32 KB, 1621x1325, 1621:1325, 977a9259d40b71df0982875f76….jpg)
>>2050
Since hydrus can't figure out your external IP, you will have to provide it manually. I have added an option for that in file->options->connection. Put in your real external IP, or host if you have one, and the client will use that when it generates external urls rather than trying to figure it out for itself. Let me know if it doesn't work.
If you don't know your IP, just throw it into a search engine:
https://duckduckgo.com/?q=my+ip
They don't typically change all that often, but if yours does, look into services like no-ip.com.
I'll make a note to improve that original error message.
85aad4 No.2087
I'm having an issue where hydrus thinks there are more files when searching than there actually are.
A search for character:hatsune miku will show 168 file count in the search box, but only return 88 files when the search is ran. It displays properly in the selection tags with system:everything at 88, however, so it's just the search box. Happens with other tags too.
85aad4 No.2088
I'm unable to sync past the art repo update "1204/1207" (assuming that all updates are consistent). Whenever it begins to sync, it freezes the client, regardless of what else I'm doing
On v193
85aad4 No.2089
>>2087
I'm seeing this too. Could it be double counting sister tags or something?
85aad4 No.2091
>>2087
>>2089
Yeah, this is usually due to siblings, which are not collapsed in the db, where autocomplete counts are cached, but are in the gui, where the true results are obviously shown and tag counts are generated live. I expect there are a bunch of 'character:hatsune miku (character)' tags in your collection that are normally being hidden.
I want to address this in the upcoming service cache layer I'll be adding. I see two possibilities:
1. Collapse the sibling counts in the cache layer (probably complicated to code correctly, but speeds some things up and will give 100% accurate a/c counts).
2. Propagate any uncertainty up to the gui, so when a tag count is imprecisely aggregated, I can say "character:hatsune miku (≤168)".
I suspect, since I want to break this big job up anyway, that I'll start with 2 and slowly migrate to 1.
>>2088
I think your client might be freezing because of a vacuum. Both vacuum and repo sync checks are triggered by the 'changing to idle' event, and sometimes they compete. If the vacuum is stomping all over your repo sync, it would appear to freeze, when really it is waiting for the db to free up.
Try going services->pause->repo sync and then help->debug->force idle. If your client freezes again, it is probably vacuum doing it. This maintenance operation is now very laggy, often taking ten minutes to complete. If your client doesn't unfreeze after say twenty five minutes, you can kill it in task manager, then restart it and go ''file->options->maintenance and processing' and stop auto-vacuum from occuring.
Vacuum should be a much smaller problem once I have pulled the big client.db file apart as I plan.
If it isn't vacuum causing it, let me know and we can look closer at this.
85aad4 No.2096
>>2091
Seems like it's the repo update itself causing the problem, not vacuuming, which completed successfully
85aad4 No.2099
File: 1456269003071.jpg (1.45 MB, 1228x1024, 307:256, cb957e952f8fd71cbb265b29ad….jpg)
>>2096
This is only odd because 1204 is just a tiny 58-byte bit of near-empty json that your db should quickly process like the thousand-odd before it. My clients are up to 1207 right now, so it seems to be something particular to your setup. I cant help thinking it is still something else that is lagging, stopping the repo from syncing, but I can't guess what. Do you have any very large import or export folders, or subscriptions or something?
Anyway, please check your log, at install_dir/logs/client.log. At the bottom of that file, see if there are any error logs that might be related. You should see the successful vacuum right at the bottom, so just a bit up. A successful repo process is reported like this:
2016/02/20 17:05:02: repository synchronisation - read-only art file repository - finished
1 updates downloaded, 1 updates processed, and 0 files added
I presume you will see the end of those around that date.
Of course, because you are getting a freeze, it may be that any error isn't ultimately being caught, or the client doesn't have enough time to report it.
If you don't find anything good in the log, try going help->debug->db profile mode before forcing idle mode again to trigger repo sync. This will try to spam more detailed information to the log.
Also, if you open task manager (Ctrl+Shift+Esc if you are on Windows) when the client is frozen, does the client have any CPU or HDD activity or is it 0% for everything?
85aad4 No.2104
>>2099
For whatever reason, it seems to be working on the second try today, but when I checked the log, there wasn't anything out of the ordinary:
2016/02/24 16:26:18: hydrus client started
2016/02/24 16:26:18: booting controller…
2016/02/24 16:26:18: booting db…
2016/02/24 16:26:59: booting gui…
2016/02/24 16:27:46: repository synchronisation - read-only art file repository - finished
4 updates downloaded, 5 updates processed, and 0 files added
When I had the problem, cpu usage was at about 20%. Sorry I can't give a more informative reply, but the client seems to have stopped freezing up, so that's good
85aad4 No.2117
Autocomplete is acting a little funny.
If I start typing momiji, sure enough, it shows character:inubashiri momiji as an autocomplete, but as soon as I type the last i, it changes the autocomplete option to character:*anything*. adding another space and an i goes back to normal.
85aad4 No.2131
File: 1456606927481.jpg (526.82 KB, 2916x2133, 108:79, 5c6b6b7c317f9a7a8d4d33f9f7….jpg)
>>2104
Let me know if it acts up again, especially after I break the db up.
>>2117
Thank you for this report. I think I have fixed it for next week, but I am not sure, so let me know how you get on in v195.
85aad4 No.2161
No ideia why this keeps happening but it has 8 times in the last two days.
The client's window just stops responding. The program doesn't stop working, you see, because everything still functioning normally.
If I'm importing, downloading and/or viewing something, it'll finish. I just can't use it after that.
The only thing I noticed is that it happens when I open the manage tags, do my thing and apply it. The client keeps doing that Windows sound that something is unclickable, like it's on the background and there is a window in the foreground, but there isn't.
It has happened randomly, too.
Nothing shows up on the log, there's no exception warning, nothing. The client is working normally, I just can't interact with it.
85aad4 No.2167
File: 1456772746066.jpg (216.31 KB, 1263x1024, 1263:1024, b35ca3a967c800a75d3cd70522….jpg)
>>2161
I've had something like this happen to me when I had review services open, and then the perform a service-wide operation dialog on top of that. If I started a big operation that spawned a popup message, windows would bring the main gui to the top to show the popup, obscuring the review services frame and its child dialog, but since the dialog was still open (modal), I could not click on the gui at all. I was typically confused by this because I would be coming back to the client after waiting twenty minutes for the big job to complete, and then didn't realise the dialog was still open in the background. When this happens, I have to alt-tab to bring the dialog back to the front.
Could something like that be happening to you? Could manage tags somehow still be open as a child window of the media viewer, behind the main gui? Or maybe off-screen?
When it next happens to you, please try alt-tabbing to see if there is an unexpected dialog open or if you see another tab in your taskbar to suggest similar. Let me know if you can reliably induce it, and I'll see if I can fix it.
85aad4 No.2174
>>2131
Nope, now when you type in momiji, as soon as you hit the last i, the autocomplete box empties.
85aad4 No.2194
On hydrus v195 I can't import this file, probably because the filename contains UTF-8.
Traceback:
UnicodeEncodeError
'ascii' codec can't encode character u'\u2206' in position 38: ordinal not in range(128)
Traceback (most recent call last):
File "/opt/hydrus/include/HydrusThreading.py", line 274, in run
callable( *args, **kwargs )
File "/opt/hydrus/include/ClientGUIDialogs.py", line 1682, in THREADParseImportablePaths
file_paths = ClientFiles.GetAllPaths( raw_paths )
File "/opt/hydrus/include/ClientFiles.py", line 93, in GetAllPaths
if os.path.isdir( path ):
File "/usr/lib/python2.7/genericpath.py", line 49, in isdir
st = os.stat(s)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2206' in position 38: ordinal not in range(128)
85aad4 No.2199
>>2174
I have had a closer look at this, and I think I have it figured out now. I noticed that the sibling pair momiji->character:momiji (ninja gaiden) exists on my PTR, and both some bad sibling substitution logic and some bad gui update code were also incorrectly filtering and displaying these sorts of results.
I don't like this sort of too-simple sibling pair because it can cause problems like this. I don't usually approve them, so I must have missed it. I have rescinded it, so the general bad logic here should be fixed for next week, and the unhelpful 'momiji' sibling should disappear for you once you are synced up to 1,341 on the PTR.
>>2194
Thank you for this report. My new Win 10 dev computer seems to be giving me paths already in unicode, so I can't reproduce this myself, but I think I see what is happening. I think I have fixed it for next week. Just to check, can you please test that:
You get the error when you drop the file onto the main gui, spawning the import dialog.
You don't get the error when you drop the file onto the import dialog itself.
Which OS are you using?
85aad4 No.2204
So hydrus dev, I've begun using the server to sync my wallpapers across computers (also, to have one tag database instead of a bunch of separate local ones).
It's usable now that you've implemented "sync now", but it's still buggy and quickly fails/accumulates errors, even with a pool of as little as 600 pictures!
First problem: "sync now" is a misnomer. It doesn't sync "now", it actually (usually, not always) asks you if you want to update when you exit the client. This is more than just unintuitive, I think it's actively causing problems with the reset functions? Every time I press the "sync now" button it usually tells me rows were added, even if there is nothing to do or nothing was actually done.
Things were fine when I was adding new pictures from the server's client (a PC), and syncing other clients (laptops).
When I removed pictures from the server's client (PC), the other clients (laptops) still think these pictures are on the server. This was fixed by resetting the files service cache.
When I added pictures from a client (laptop), and uploaded them to the server, (PC), then once I got them into the PC's client, I removed them from the server. I was just trying to transferr files from one client to another.
Now, the PC client knows they're not on the server, but the laptop client thinks these files are still on the server, and no amount of resets of the file service is fixing the incongruity.
85aad4 No.2206
>>2204
So it turns out both the laptop client and the pc client had wrong counts and needed a full reset and redownload of the file service.
You can see though, how much of a pain the in butt this is- I can't rely on it to be accurate and it takes a lot of manual intervention to make sure everything is syncing correctly.
To speak more generally- the ipfs implementation shares the files over ipfs from the client database, right? As opposed to the server shares, which need to copy each image into a separate server database- you need to have 2x your shares in diskspace to burn under that model. Not optimal. I know we talked about this before, but imo instead of fixing my problems above, it would be a better use of your time to start thinking about a server rewrite where there is one database for the client and server.
85aad4 No.2207
>>2206
And also thumbnails! Thumbnails download less than half the time. Usually requires downloading the picture and restarting the client a few times to get a thumbail.
85aad4 No.2209
Getting weird behavior when pasting in tags and it says some will display as X instead.
Example: thighhighs (will be displayed as thigh-highs) being tagged to a file will display in selection tags for the file as thigh-highs (1) (+1) which doesn't make much sense.
Still, the behavior of it not ignoring a pasted tag if the sibling of the tag is already there is a little more odd.
85aad4 No.2213
Also have a bug where when I enter a search term and wait for it to bring back results, Windows considers it not responding and greys out the window for a moment until it's finished. Unfortunately, when it does that, the autocomplete box goes missing until you click a different window then click back into hydrus, which will show the autocomplete box again. It's really awkward.
85aad4 No.2229
Something curious happened to me today. I imported a huge folder, then I decided to reimport it in order to handle it better (yeah, poor decisions). So since my images were already correctly named, I decided to use a regex to capture the filename without the extension and they were parsed correctly.
Issue: some tags apper as duplicated even though they are not, and those that appear only once are not displayed when selecting an incorrect file.
Restarting the client recognized the accurate number of files and all the tags. However, repeating the process with another batch of files produced the same inaccuracy. Tags are accurate on all files, the problem is in the display on the "selection tags". If you need logs, just ask away, although I think it's generalised.
85aad4 No.2240
>>2229
It would seem that it only happens when using the namespace:regex function.
85aad4 No.2247
>>2199
I'm running on Arch Linux, running hydrus v196 I still get the error when I drop the file onto the main gui and when I drop the file onto the import dialog.
85aad4 No.2252
File: 1457810500845.jpg (491.33 KB, 1231x1689, 1231:1689, 925e865dbed99b447645ea2b27….jpg)
>>2204
>>2206
>>2207
Thank you for these thoughts. It is interesting and useful to see how these things work in the real world for people with different workflows.
I had forgotten to add a thumbnail check for immediate sync, for instance, as I normally use it for tags. Immediate sync also only adds the content from last known update end timestamp->now, and does not immediately process the intervening updates, as I always keep my admin client synced through idle processing, rather than shutdown processing.
I will keep this stuff in mind and try to make some easy fixes, but I think you are right in that I will have to overhaul the server to better support your sort of fast-update local network situation. It may be that I should just write an 'ftp server' sort of service that churns through more CPU and bandwidth but is always immediate.
I have also been thinking recently of combining the file and tag repos together, so there is only a 'repo' that can store or spit out any sort of content, and allowed content types will be set through user permissions.
I believe IPFS keeps its own cache of your files, so it also dupes anything you are sharing. I think it is under C:\Users\You\.ipfs on Windows. It actually transfers files in pieces that it wraps in JSON or something, so I think it caches those there.
85aad4 No.2255
File: 1457817330684.jpg (308.51 KB, 876x1016, 219:254, b1a02a8f67130bbf1c10e40591….jpg)
>>2209
Thank you for mentioning this. From now on, if a potential tag's sibling already exists for all the files managed by the manage tags dialog, a new 'ignore, as the tag sibling already exists' choice will appear. Let me know if it doesn't work for you.
Selection tags is sibling-collapsed, so unfortunately tag&sibling current/pending counts can appear odd. once the pending tag is committed, I think the count will go back to 'thigh-highs (1)'.
>>2213
Thank you for this as well. I hope this problem will be almost if not entirely gone with the new cache layer, which should be able to produce autocomplete results much more quickly than the time Windows considers a window to be not responding.
>>2229
>>2240
Thank you for this report. When tags are being added during import, I believe some add_media and update_tags events are unexpectedly getting out of order, which is changing the logical expectations the controls use to efficiently count tags. I have fixed the logic and can no longer reproduce this problem–let me know if you still get anything like it in v197!
>>2247
If you open a terminal and type 'locale', what do you get? Does it list UTF-8 all the way down, like LC_CTYPE="en_US.UTF-8", or something else?
Also, if you type:
python
import os
os.path.supports_unicode_filenames
import locale
locale.getdefaultlocale()
import sys
sys.getfilesystemencoding()
exit()
What answers do you get?
Apparently, this sort of error can occur when the system locale isn't utf-8, as python can't automatically figure out how to decode the unicode paths back to your OS:
http://stackoverflow.com/questions/2076708/python-os-stat-and-unicode-file-names
If you don't have your locale set to utf-8 and have no particular reason to set it otherwise, setting it that way might fix the problem.
Here's some more on it:
http://unix.stackexchange.com/questions/43054/why-is-almost-every-program-complaining-about-my-locale
https://wiki.archlinux.org/index.php/Locale
Let me know if you are set to utf-8, and I'll have another look, or if you can't set it to that, and I'll see if I can figure out something on my end.
Post last edited at
85aad4 No.2266
File: 1457930482309.jpg (205.27 KB, 597x615, 199:205, 1b2edf087808ebe2c3e96c7deb….jpg)
>>2255
My locale was unset, which explains why youtube-dl kept complaining about the filesystem being unable to handle special characters.
I set $LANG to en_US.utf-8 and everything works now.
85aad4 No.2267
85aad4 No.2269
>>2267
I set it with localectl set-locale
which apparently just sanity-checks the arguments then writes them to /etc/locale.conf
85aad4 No.2270
>>2269
yeah that's their new thing. Make sure you edited the locale file and ran locale-gen too
85aad4 No.2303
After bumping up my hydrus installation a few versions last week, the thread importer is currently failing to import pictures from /furry/ threads entered with their json url, it seems to be looking for the pictures on media.8ch.net while the images for /furry/ don't seem to be hosted on that subdomain :/
85aad4 No.2304
>>2303
It should work if you put in the html url, like http://8ch.net/hydrus/res/173.html for this thread. I didn't even realise the json url worked previously!
The new version of the thread checker sometimes actually visits the url you put in to figure out which image domain it should be downloading from, which is absent from the json API.
85aad4 No.2315
File: 1458738757278.png (62.22 KB, 1018x565, 1018:565, client_2016-03-23_14-11-43.png)
Should the subscription downloader be downloading images in a completely random order? It's fucking my workflow up something fierce and I don't recall it being like this.
85aad4 No.2326
>>2304
The json URLs worked just fine, they even made hydrus skip downloading items/hashes in the json which were already in the database (these would import way faster).
Now, it sadly doesn't work when putting in a html url to a thread either, now I get stuff like this (using https://8ch.net/furry/res/515077.html as an example, hydrus still seems to be assuming the images are hosted on media.8ch.net, but they're hosted on simply 8ch.net, delivering me NotFoundExceptions ):
Traceback (most recent call last):
File "include\ClientImporting.py", line 2602, in _WorkOnFiles
HydrusGlobals.client_controller.DoHTTP( HC.GET, file_url, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientController.py", line 358, in DoHTTP
def DoHTTP( self, *args, **kwargs ): return self._http.Request( *args, **kwargs )
File "include\ClientNetworking.py", line 300, in Request
( response, size_of_response, response_headers, cookies ) = self._DoRequest( method, location, path, query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientNetworking.py", line 249, in _DoRequest
( parsed_response, redirect_info, size_of_response, response_headers, cookies ) = connection.Request( method, path_and_query, request_headers, body, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientNetworking.py", line 710, in Request
elif response.status == 404: raise HydrusExceptions.NotFoundException( parsed_response )
NotFoundException: <html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.8.1</center>
</body>
</html>
85aad4 No.2337
File: 1459359274105.jpg (303.01 KB, 800x1183, 800:1183, 17d53f99527c7235904cc3d0c4….jpg)
>>2315
Thank you for this report. New urls were being appended randomly. I've ordered it for today's release, so in future, subscriptions should append new urls in the gallery's oldest->newest order.
>>2326
That thread works for me, but I remembered that the thread watcher caches what it thinks is the correct domain for each board. So, restart your client and start using the .html urls, and everything should work ok for you.
Also, I've made today's release detect and accept the json url as well.
85aad4 No.2342
When trying to pin some files to ipfs I get this db error:
Database Error!
(15, 2)
Stack Trace (most recent call last):
File "threading.py", line 774, in __bootstrap
File "threading.py", line 801, in __bootstrap_inner
File "include\HydrusThreading.py", line 274, in run
callable( *args, **kwargs )
File "include\ClientGUI.py", line 2114, in _THREADUploadPending
self._controller.WriteSynchronous( 'content_updates', { service_key : content_updates } )
File "include\HydrusController.py", line 319, in WriteSynchronous
return self._Write( action, HC.LOW_PRIORITY, True, *args, **kwargs )
File "include\HydrusController.py", line 115, in _Write
result = self._db.Write( action, priority, synchronous, *args, **kwargs )
File "include\HydrusDB.py", line 435, in Write
if synchronous: return job.GetResult()
File "include\HydrusData.py", line 1802, in GetResult
trace_list = traceback.format_stack()
Traceback (most recent call last):
File "include\HydrusDB.py", line 263, in _ProcessJob
elif job_type in ( 'write', 'write_special' ): result = self._Write( action, *args, **kwargs )
File "include\ClientDB.py", line 7560, in _Write
elif action == 'content_updates':result = self._ProcessContentUpdates( *args, **kwargs )
File "include\ClientDB.py", line 4973, in _ProcessContentUpdates
self._AddFiles( service_id, [ ( hash_id, timestamp ) ] )
File "include\ClientDB.py", line 1075, in _AddFiles
specific_ac_cache = self._specific_ac_caches[ ( service_id, tag_service_id ) ]
KeyError: (15, 2)
85aad4 No.2360
When using an import folder, and having Hydrus move imported files to different folders instead of deleting them, it will sometimes append numbers to the end of file names. See screenshot.
85aad4 No.2363
I think this bug originated in 198
Before:
Pressing "z" in the viewer would toggle between "fit screen" and "100%"
Now:
Pressing "z" puts the image in "100%" mode, with no toggling back.
85aad4 No.2364
>>2342
Hey yeah, I'm getting those too. I'm currently using go-ipfs-git 0.4.0.rc3.r21.g8acd87d-1 and hydrus 199, but I want to say it started happening around 196 or so.
Database Error!
(7, 3)
Stack Trace (most recent call last):
File "/usr/lib/python2.7/threading.py", line 774, in __bootstrap
self.__bootstrap_inner()
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/opt/hydrus/include/HydrusThreading.py", line 274, in run
callable( *args, **kwargs )
File "/opt/hydrus/include/ClientGUI.py", line 2103, in _THREADUploadPending
self._controller.WriteSynchronous( 'content_updates', { service_key : content_updates } )
File "/opt/hydrus/include/HydrusController.py", line 319, in WriteSynchronous
return self._Write( action, HC.LOW_PRIORITY, True, *args, **kwargs )
File "/opt/hydrus/include/HydrusController.py", line 115, in _Write
result = self._db.Write( action, priority, synchronous, *args, **kwargs )
File "/opt/hydrus/include/HydrusDB.py", line 455, in Write
if synchronous: return job.GetResult()
File "/opt/hydrus/include/HydrusData.py", line 1804, in GetResult
trace_list = traceback.format_stack()
Traceback (most recent call last):
File "/opt/hydrus/include/HydrusDB.py", line 267, in _ProcessJob
elif job_type in ( 'write' ): result = self._Write( action, *args, **kwargs )
File "/opt/hydrus/include/ClientDB.py", line 7447, in _Write
elif action == 'content_updates':result = self._ProcessContentUpdates( *args, **kwargs )
File "/opt/hydrus/include/ClientDB.py", line 4822, in _ProcessContentUpdates
self._AddFiles( service_id, [ ( hash_id, timestamp ) ] )
File "/opt/hydrus/include/ClientDB.py", line 1074, in _AddFiles
specific_ac_cache = self._specific_ac_caches[ ( service_id, tag_service_id ) ]
KeyError: (7, 3)
Also anytime this loading bar that pops up in the corner is trying to be on screen but the window isn't focused it seems to disappear and lag up my everything. Eventually it'll even make hydrus die for some reason. If I try to let it sit to sync, my screen will eventually lock causing the screen locker to be the active window, causing hydrus to crash.
85aad4 No.2367
File: 1459629576421.jpg (161.4 KB, 1135x1055, 227:211, 980d346754955f8096aa1dd5b2….jpg)
>>2342
>>2364
Thank you for these reports. This is fixed for next week.
>>2360
I think this is due to a bit of emergency code that resolves conflicting filenames. If the import folder tries to move a file 'blah.png' but there is already a 'blah.png' in the destination, it tosses on random integers until there isn't a conflict any more. Perhaps this isn't ideal behaviour? Maybe it should just overwrite, or have the option to? It should probably at least put the number before the file extension.
>>2363
Thank you for this report. This is fixed for next week.
>>2364
Which OS are you using? I understand some of the Linux window managers don't like some of these laggy focus issues. Do you get any errors when the client crashes, or does it just die?
If this continues to be a problem, you might want to try moving to running your big jobs on shutdown under file->options->maintenance and processing. They will happen on the shutdown splash, which might cause you fewer problems.
85aad4 No.2373
>>2367
>Which OS are you using?
Arch LTS with KDE Plasma 5
>Do you get any errors when the client crashes, or does it just die?
It just dies. I checked client.log and the last error I got was the one I already posted.
>you might want to try moving to running your big jobs on shutdown
K. This is working much better for the time being.
85aad4 No.2375
>>2367
Regarding the numbers at the end of file names…
Renaming files to prevent overwriting is helpful, but as you say, adding the random number before the extension would be best, because as it is now is annoying to say the least and breaks thumbnails, double-clicking etc in Windows.
I also noticed in my case that these files are getting renamed without there being a file name conflict, the file names without the random numbers added do not exist in the folder! So there must be a bug in Hydrus when it's checking for duplicate files names.
If it helps you debugging, I have each of the import conditions (successful/duplicate/failed/deleted) set to a different folder.
85aad4 No.2377
Not sure if this is a bug or just not implemented yet, but I want to be able to rebind the pan_* actions in the shortcut options. I was trying to rebind them to WASD since I prefer left handed browsing (I put next and previous on C and X), but it won't let me. Looks like these actions aren't available in the little window that pops up when you edit the bindings.
85aad4 No.2382
>>2373
I have improved my 'pause and give the GUI a chance to catch up' code to my big jobs, so this problem may be better for you in v200 for anything else (file imports might do it, or a big export) that might lag out the gui. Let me know if you still get these bad hangs.
>>2375
I rewrote it so it'll plainly count up from 0 when testing numbers to add, and it'll now more neatly go:
muh_image.jpg -> muh_image_0.jpg
Let me know if it gives you any more trouble. I am not sure why the old system would be triggering without a destination conflict, so please look out for that as well.
>>2377
Thanks for mentioning these missing actions. I've added them to the dropdown. Please forgive the horrific state of shortcut management right now–a complete overhaul is planned!
85aad4 No.2397
KeyError
('>\x12\xc5L,\xbd\xc7r\x06\xffF\xd1k\x9b`\xe4>\x9eb\xb4\xb2,\xcc|e\xbf\x04\xa3L\xf8\xd5\xc9', (1600, 886))
File "site-packages\wx-3.0-msw\wx\_core.py", line 16766, in <lambda>
File "include\HydrusController.py", line 225, in ProcessPubSub
try: self._pubsub.Process()
File "include\HydrusPubSub.py", line 127, in Process
callable( *args, **kwargs )
File "include\ClientCaches.py", line 991, in FinishedRendering
self._data_cache.AddData( key, image_container )
File "include\ClientCaches.py", line 562, in AddData
self._DeleteItem()
File "include\ClientCaches.py", line 534, in _DeleteItem
deletee_data = self._keys_to_data[ deletee_key ]
Appears to happen sometimes when opening an image.
85aad4 No.2404
>>2397
Thank you for this report. I get this myself as well. I think I know what is causing it, so I have added a check to the cache key code for next week that might have fixed it. I can't now reproduce it on my dev machine, at least.
Let me know if you still see this in v201.
85aad4 No.2407
So the manage ratings dialog seems to be broken for me… I click apply but the rating doesn't change.
There's no error trace.
85aad4 No.2411
So I've got some weird behavior in v200 where if I search neptune I get this back. Problem is, I have around 200 images which do show up once a tag is selected.
series:choujigen game neptune (4)
series:neptune (series) (3)
character:neptune (choujigen game neptune) (2)
character:noire (hyperdimension neptunia) (2)
neptune (1)
character:mages (choujigen game neptune) (1)
85aad4 No.2414
>>2411
Furthermore, a lot of entries don't show up in the autocomplete box and can't be searched unless you find another image with that tag. character and series namespaces seem hit the most.
85aad4 No.2416
>>2397
Also getting this. The only difference is the keys that it complains about. The stack trace is otherwise the same.
>>2404
Good to hear.
85aad4 No.2417
Apparently removing the Hydrus tag repo causes some errors:
Database Error!
12
Stack Trace (most recent call last):
File "threading.py", line 774, in __bootstrap
File "threading.py", line 801, in __bootstrap_inner
File "include\HydrusThreading.py", line 274, in run
callable( *args, **kwargs )
File "include\ClientController.py", line 1019, in THREADDoFileQuery
more_media_results = self.Read( 'media_results_from_ids', service_key, sub_query_hash_ids )
File "include\HydrusController.py", line 229, in Read
def Read( self, action, *args, **kwargs ): return self._Read( action, *args, **kwargs )
File "include\HydrusController.py", line 91, in _Read
result = self._db.Read( action, HC.HIGH_PRIORITY, *args, **kwargs )
File "include\HydrusDB.py", line 436, in Read
return job.GetResult()
File "include\HydrusData.py", line 1804, in GetResult
trace_list = traceback.format_stack()
Traceback (most recent call last):
File "include\HydrusDB.py", line 281, in _ProcessJob
if job_type in ( 'read', 'read_write' ): result = self._Read( action, *args, **kwargs )
File "include\ClientDB.py", line 5469, in _Read
elif action == 'media_results_from_ids': result = self._GetMediaResults( *args, **kwargs )
File "include\ClientDB.py", line 3543, in _GetMediaResults
service_keys_to_statuses_to_tags.update( { service_ids_to_service_keys[ service_id ] : HydrusData.BuildKeyToSetDict( tags_info ) for ( service_id, tags_info ) in raw_tag_ids_dict.items() } )
File "include\ClientDB.py", line 3543, in <dictcomp>
service_keys_to_statuses_to_tags.update( { service_ids_to_service_keys[ service_id ] : HydrusData.BuildKeyToSetDict( tags_info ) for ( service_id, tags_info ) in raw_tag_ids_dict.items() } )
KeyError: 12
I can't load my files as a result.
85aad4 No.2418
NetworkException
Could not connect to https%3a:
[Errno 11001] getaddrinfo failed
Traceback (most recent call last):
File "include\ClientImporting.py", line 2424, in Sync
self._SyncQuery( job_key )
File "include\ClientImporting.py", line 2270, in _SyncQuery
( page_of_urls, definitely_no_more_pages ) = gallery.GetPage( self._query, page_index )
File "include\ClientDownloading.py", line 685, in GetPage
data = self._FetchData( gallery_url )
File "include\ClientDownloading.py", line 655, in _FetchData
return HydrusGlobals.client_controller.DoHTTP( HC.GET, url, request_headers = request_headers, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientController.py", line 354, in DoHTTP
def DoHTTP( self, *args, **kwargs ): return self._http.Request( *args, **kwargs )
File "include\ClientNetworking.py", line 300, in Request
( response, size_of_response, response_headers, cookies ) = self._DoRequest( method, location, path, query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientNetworking.py", line 266, in _DoRequest
return self._DoRequest( new_method, new_location, new_path, new_query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path, num_redirects_permitted = num_redirects_permitted - 1 )
File "include\ClientNetworking.py", line 234, in _DoRequest
connection = self._GetConnection( location )
File "include\ClientNetworking.py", line 283, in _GetConnection
connection = HTTPConnection( location )
File "include\ClientNetworking.py", line 363, in __init__
self._RefreshConnection()
File "include\ClientNetworking.py", line 571, in _RefreshConnection
raise HydrusExceptions.NetworkException( text )
NetworkException: Could not connect to https%3a:
[Errno 11001] getaddrinfo failed
Happens while trying to sync my subscriptions. v200.
85aad4 No.2422
File: 1460489591690.jpg (613.98 KB, 1600x1306, 800:653, 40d48a4166185108f94b795dcc….jpg)
>>2407
It works ok for me, so I'm afraid I can't repeat this.
Are these rating services newly added or have you had them a while? Have they ever worked?
Have you recently removed or reset a service?
If you go system:rating, are all your ratings services listed in the small subsequent dialog correctly? If you have any ratings set, can you correctly search by them?
If you open an image in the big media viewer, do you have your ratings services summarised in the top right? If you hover your mouse over them, does the hover window pop into place, and can you click on it to set ratings that way?
>>2411
>>2414
I have noticed this myself, and I am still trying to figure it out. It looks like my new A/C caches can sometimes desync from general tag processing.
Have you pended/uploaded any of those tags yourself?
Have you recently closed the client while repository tag processing was going on?
Do you have the client set to do idle jobs on shutdown, and has that triggered recently?
I plan to fold my ac_caches back into the main database journal in the coming weeks, which I expect to remove this problem entirely. For now, a fix is:
Close the client.
Go to install_dir/db/client_caches and delete the appropriate broken cache. (If this is on my public tag repo, and you have no other gigantic tag services, this means the two largest files, something like ac_cache_1_4.db and ac_cache_combined_files_4.db)
Restart the client, causing those caches to be rebuilt. This will take 20-60 minutes.
Please do that when you have some spare time to let it run, and let me know if the counts are correct afterwards.
>>2417
I apologise for this error–I missed a foreign key patch in a recent client.db split. It will be fixed in tomorrow's db update–let me know if you still have any problems.
>>2418
That is unusual–it looks like the subscription is getting 300 redirect, but the given redirect url is bad, or being parsed incorrectly on my end. Can you tell me the subscription type and the specific query? (e.g. gelbooru and 'kneesocks') If it is private, feel free to email me.
85aad4 No.2423
>>2422
>That is unusual–it looks like the subscription is getting 300 redirect, but the given redirect url is bad, or being parsed incorrectly on my end. Can you tell me the subscription type and the specific query? (e.g. gelbooru and 'kneesocks') If it is private, feel free to email me.
It's been turning up on different subscriptions, not just the one. I have lot of subscriptions setup so I don't really recall each and every one of them. (sankaku and 'maji_de_watashi_ni_koi_shinasai!', sankaku 'avatar:_the_legend_of_korra' are the ones that I remember, could be a problem with sankaku itself, but I can't guarantee it doesn't occur with gelbooru.)
Also, when managing subscriptions, client crashes when i browse a large number of subscriptions (simply clicking on them or "loading" them). I have to press OK > services > manage subscriptions and pick up where I left off to avoid the crash
85aad4 No.2427
>>2422
Oops, I have it set to only do idle jobs on exit, for 60 minutes.
85aad4 No.2428
>>2422
>>2423
SSLError
('The read operation timed out',)
Traceback (most recent call last):
File "include\ClientImporting.py", line 2424, in Sync
self._SyncQuery( job_key )
File "include\ClientImporting.py", line 2270, in _SyncQuery
( page_of_urls, definitely_no_more_pages ) = gallery.GetPage( self._query, page_index )
File "include\ClientDownloading.py", line 685, in GetPage
data = self._FetchData( gallery_url )
File "include\ClientDownloading.py", line 655, in _FetchData
return HydrusGlobals.client_controller.DoHTTP( HC.GET, url, request_headers = request_headers, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientController.py", line 354, in DoHTTP
def DoHTTP( self, *args, **kwargs ): return self._http.Request( *args, **kwargs )
File "include\ClientNetworking.py", line 300, in Request
( response, size_of_response, response_headers, cookies ) = self._DoRequest( method, location, path, query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientNetworking.py", line 249, in _DoRequest
( parsed_response, redirect_info, size_of_response, response_headers, cookies ) = connection.Request( method, path_and_query, request_headers, body, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientNetworking.py", line 637, in Request
response = self._GetResponse( method_string, path_and_query, request_headers, body )
File "include\ClientNetworking.py", line 372, in _GetResponse
return self._connection.getresponse()
File "httplib.py", line 1136, in getresponse
File "httplib.py", line 453, in begin
File "httplib.py", line 409, in _read_status
File "socket.py", line 480, in readline
File "ssl.py", line 734, in recv
File "ssl.py", line 621, in read
SSLError: ('The read operation timed out',)
I think this one is related to sankaku, since it isn't loading properly in my browser
85aad4 No.2437
This occurred after synchronizing with a bunch of local tag repositories
Database Error!
8
Stack Trace (most recent call last):
File "threading.py", line 774, in __bootstrap
File "threading.py", line 801, in __bootstrap_inner
File "include\HydrusThreading.py", line 274, in run
callable( *args, **kwargs )
File "include\ClientController.py", line 1019, in THREADDoFileQuery
more_media_results = self.Read( 'media_results_from_ids', service_key, sub_query_hash_ids )
File "include\HydrusController.py", line 229, in Read
def Read( self, action, *args, **kwargs ): return self._Read( action, *args, **kwargs )
File "include\HydrusController.py", line 91, in _Read
result = self._db.Read( action, HC.HIGH_PRIORITY, *args, **kwargs )
File "include\HydrusDB.py", line 436, in Read
return job.GetResult()
File "include\HydrusData.py", line 1804, in GetResult
trace_list = traceback.format_stack()
Traceback (most recent call last):
File "include\HydrusDB.py", line 281, in _ProcessJob
if job_type in ( 'read', 'read_write' ): result = self._Read( action, *args, **kwargs )
File "include\ClientDB.py", line 5469, in _Read
elif action == 'media_results_from_ids': result = self._GetMediaResults( *args, **kwargs )
File "include\ClientDB.py", line 3543, in _GetMediaResults
service_keys_to_statuses_to_tags.update( { service_ids_to_service_keys[ service_id ] : HydrusData.BuildKeyToSetDict( tags_info ) for ( service_id, tags_info ) in raw_tag_ids_dict.items() } )
File "include\ClientDB.py", line 3543, in <dictcomp>
service_keys_to_statuses_to_tags.update( { service_ids_to_service_keys[ service_id ] : HydrusData.BuildKeyToSetDict( tags_info ) for ( service_id, tags_info ) in raw_tag_ids_dict.items() } )
KeyError: 8
85aad4 No.2439
I'm not sure this is really a 'bug' per say, but it's something I kinda wanted to bring up.
Something I've noticed is that if it is performing a major job (repository synchronization for example) and you attempt to interact with the window, the whole thing will stop responding, and even if you just let it be for a while, stays that way and I have to restart the whole thing. I've had it happen on large folder imports once or twice, but usually it's during repo synchronizations.
It only seems to be something that happens over a period of time. Although I was attempting to replicate this just now, and it just froze by itself.
Is there a reason this is happening? Seems a tad temperamental. I can get some logs or something next time it happens.
85aad4 No.2440
>>2416
Seems fixed for me in v201.
>>2439
Are you sure you did wait long enough?
Sure, UI lockups also happen to me, but if I let it sit there for long enough (some more extreme operations take hours on my machine and HDD), it pretty much always started responding again.
Generally speaking, GUI written in many frameworks actually usually freeze for programs that run longer tasks… at least they do so before extra work has been invested into making it not happen.
85aad4 No.2442
>>2417
>>2422
>>2437
Oops, I also removed the remote tag repo on v200, probably the same bug then. I was searching for 'database error 8' at first and didn't see it.
85aad4 No.2443
>>2440
Well I've been letting it sit for around 2 hours now, and still is "not responding"
Now, I totally expect this to take a fuck long time. I am however slightly bothered that it is unresponsive and remained in that same state.
85aad4 No.2444
>>2440
And also thanks for the response anon, forgot to mention. I haven't looked too much into the source code of the project. I really want to and help make contributions, but I'm just swamped.
85aad4 No.2461
File: 1460835609921.jpg (134.37 KB, 1088x1351, 1088:1351, f17dd8a536a8b4c7b898aec260….jpg)
>>2439
This is an ongoing battle. The more I optimise code and engage turbo mode for things like tag processing, the less polite that code tends to be to the gui, giving it less time to catch up on mouse events and so on that would switch off idle mode. Different computers react to this stuff at different speeds, so it is not simple to write throttlers that work well for everyone.
I've got a lot of ideas to improve it, though, and things are slowly getting better. When this db breakup job is done, also, I hope a lot of lagginess will be gone. And after that, I hope to add 'service import', which should eliminate the need to repeat initial processing for every new client.
If you find your gui gets blatted by idle jobs, have a look at file->options->maintenance and processing and turn off the normal idle processing–you can set it to only do those jobs on shutdown, which may fit your routines better.
>>2443
Two hours does sound a bit too long for one job. I did recently write some forced politeness that pauses at regular intervals during big jobs, but perhaps it isn't working right. Perhaps the un-idle event was getting choked by several jobs in a row. If this happens again, have a look at task manager and see how much CPU and HDD the client is using, and if any other programs (like a defragger) are competing with it.
How are these idle jobs coming in? Is it a natural idle because of, say, no mouse movement, or are you switching it on via the help->debug menu?
>>2444
Please do have a look at my code, and play around with it if you like, although I'm afraid it isn't very professional. While I appreciate the sentiment of you contributing, I'm unfortunately not the kind to work well with others. I'm always interested in suggestions, or if you find any mistakes or you know of a better library or similar, but I've decided not to accept pull requests for now.
Post last edited at
85aad4 No.2534
>>1509
>>1509
I can confirm this. I downloaded a new copy of Hydrus, added ~100 images, deleted them, and cleaned the trash. When I checked my db folder the images were still there.
Services->review services says I have 0 files, totalling 0.0B and 127 deleted files. Checked client.log and
didn't see any erros, just the messages when booting and exiting Hydrus.
Changed the database location and it brought all the files that were supposed to be deleted when moving the database.
I'm not sure what's causing this, I don't even know if it's ever worked before.
85aad4 No.2535
>>1510
>>2534
Meant to tag you
85aad4 No.2544
I'm importing the most recent bare PTR database into a new Linux installation running from source, but Hydrus keeps looking for files in a path containing a backslash, resulting in it complaining it can't find anything in that path. Even when I tell Hydrus to not use the path with the backslash and replace it with a correct path in the options screen, it tries to access files from the folder with the "old" path and erroring out with this console output:
2016/04/30 14:39:54: Exception:
2016/04/30 14:39:54: OSError
[Errno 2] No such file or directory: /**CENSORED**/hydrus/db\\client_files/ae'
Traceback (most recent call last):
File "/**CENSORED**/hydrus/include/HydrusThreading.py", line 274, in run
callable( *args, **kwargs )
File "/**CENSORED**/hydrus/include/ClientGUI.py", line 1651, in THREADRegenerateThumbnails
for ( i, path ) in enumerate( self._controller.GetClientFilesManager().IterateAllFilePaths() ):
File "/**CENSORED**/hydrus/include/ClientCaches.py", line 393, in IterateAllFilePaths
for path in self._IterateAllFilePaths():
File "/**CENSORED**/hydrus/include/ClientCaches.py", line 312, in _IterateAllFilePaths
next_filenames = os.listdir( dir )
OSError: [Errno 2] No such file or directory: '/**CENSORED**/hydrus/db\\client_files/ae'
I think Hydrus is hopelessly trying to rebalance files from the folder with the old, "wrong" path to the "new", correct path.
I did a quick search of the 8chan board for this problem, but haven't found it being mentioned anywhere. I'm wondering why no other *nix users have noticed this? I figure this is probably a consequence of the bare PTR dump having been created using a Windows installation of Hydrus? For now I think I'm going to jump into the sqlite-db storing those settings and change the references to the backslashed path manually for now.
85aad4 No.2550
File: 1462045637230.jpg (429.24 KB, 1550x1171, 1550:1171, b18219d4a680c1f4eb05eaa65e….jpg)
>>2534
>>2535
Thank you for this report. I have explored this, and it seems to be specific to OS X and Linux, or possibly just to specific versions of them. I think one of the delete file timing calls was being deleted before it could execute, and so the files were not being deleted. It is odd–the code works fine in Windows, so I assume this is a python or wx multiplatform issue. I have changed the way it works, and the problem seems to now be fixed. I apologise for the inconvenience.
While new deletes should work for you, unfortunately there is not a good 'delete orphans' maintenance routine that will clear out your old files. I have wanted to reintroduce this for a while, and this gives the job some urgency. I hope to bring it back in the next few weeks. Please give it a go when it is back and let me know if it works for you.
>>2544
Thank you for this report. As you expect, this is a multiplatform issue–it turns out the call I use to automatically convert slashes to backslashes for linux->windows conversions doesn't do the reverse. I suppose Linux file/dirnames can have backslashes in, right, so a one-to-one conversion isn't valid?
I've switched up my path storage and retrieval code for v204 so it should detect cases like this and correct. Please let me know if it works for you.
85aad4 No.2552
>>173
I'm very new, just started using your software because I'm a faggot nerd with a ton of files.
I don't get what I did here, but I lost certain system tags somehow. Is it a bug? How do I get them back?
85aad4 No.2553
>>2552
To be clear, anon here is missing an option for "inbox" and "archive", even though he should have some images in his inbox.
85aad4 No.2554
>>2553
That is the problem. Is this a bug?
85aad4 No.2555
>>2552
So I've tried reinstalling and it still is the same. This must be a configuration issue. It's just really bothering me as I'm trying to read how everything works.
85aad4 No.2556
File: 1462196273456.jpg (216.56 KB, 1478x1171, 1478:1171, 2c5ae96e9cfff2995abb849164….jpg)
>>2552
>>2553
>>2554
>>2555
Check out file->options->default file system predicates->hide inbox and archive predicates if either has no files.
This defaults to on, which is probably the wrong setting for new users. Thank you for this report–I will default it to off.
85aad4 No.2560
Searching for system:age of any value and adding any other tag to the search afterwards results in a database error. I'm not sure if this is new or I just never used this particular system tag before, but the error is immediate and repeatable
Database Error!
no such column: timestamp
Stack Trace (most recent call last):
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/threading", line 783, in __bootstrap
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/threading", line 810, in __bootstrap_inner
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusThreading", line 274, in run
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientController", line 1010, in THREADDoFileQuery
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusController", line 229, in Read
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusController", line 91, in _Read
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusDB", line 639, in Read
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusData", line 1809, in GetResult
Traceback (most recent call last):
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusDB", line 462, in _ProcessJob
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientDB", line 5749, in _Read
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientDB", line 3202, in _GetHashIdsFromQuery
OperationalError: no such column: timestamp
85aad4 No.2565
Reporting a bug. I do not know what is causing it.
Every time I go to services>review services it automatically locks up, and I have to forcibly end the program. Once I click "review services" it just locks up. Any suggestions or is this a legit bug?
85aad4 No.2569
>>2560
Thank you for this report. The way a files' different file domain ages are searched has recently changed, and queries that include tag predicates had not been updated to reflect that.This is fixed in tomorrow's release. Let me know if it still gives you any trouble.
>>2565
Some of the recent big db changes have wiped the client's service info cache, which keeps quick access to things like 'number of mappings in a service'. The next time you open review services, those numbers will have to be regenerated from scratch (i.e. counted manually), which may take a minute or two. Please wait a little longer for that window to open–it'll get there eventually!
I'd like to rewrite all my gui code to be asynchronous, so the window will pop up immediately but any db-dependent controls will say 'waiting' until a result is produced, but we aren't there yet.
85aad4 No.2572
Small bug, it would look like that booru downloaders don't process tags like :3 and :D properly. They seem to just skip them.
85aad4 No.2599
85aad4 No.2612
Database Error!
no such column: service_id
Unknown Caller, probably GUI.
Traceback (most recent call last):
File "G:\Program Files (x86)\hydrus-master\Hydrus Network\include\HydrusDB.py", line 463, in _ProcessJob
elif job_type in ( 'write' ): result = self._Write( action, *args, **kwargs )
File "G:\Program Files (x86)\hydrus-master\Hydrus Network\include\ClientDB.py", line 8335, in _Write
elif action == 'content_updates':result = self._ProcessContentUpdates( *args, **kwargs )
File "G:\Program Files (x86)\hydrus-master\Hydrus Network\include\ClientDB.py", line 5692, in _ProcessContentUpdates
self._c.execute( 'INSERT INTO temp_operation ( namespace_id, tag_id, hash_id ) SELECT namespace_id, tag_id, hash_id FROM ' + source_table_name + ' WHERE ' + ' AND '.join( predicates ) + ';' )
OperationalError: no such column: service_id
Getting this when I try to copy local mappings to ptr.
85aad4 No.2617
File: 1462505601506.png (124.77 KB, 452x524, 113:131, c5b0009cba778889a529961f94….png)
Right, so I was just an idiot and tried to update by dragging the contents of a new 'extract only' install into my old Hydrus Network folder. Now it only gives out an error but the database and pictures all seem to be intact. Any way to fix it without having to go through and resubscribe to everything I saved?
85aad4 No.2626
File: 1462555880993.jpg (171.08 KB, 778x1000, 389:500, cbb8e5e98ae750a478c66b6eb6….jpg)
>>2599
Sorry, I lost your bug in the mix.
Please go to install_dir/db and run sqlite3.exe. This will open a command line interface. please type the following:
.open client.db
.mode csv
.once "subs.txt"
SELECT dump FROM json_dumps_named WHERE dump_type = 3;
.exit
The new test.txt file will now have a copy of your subscriptions. I think you can post that here or to pastebin, but review it just to make sure there isn't any identifying info. Or if you prefer, or if it is too large to post, you can just email it to me. I'll have a look and see if there is anything unusual.
>>2612
Thank you for this report. I'll make sure this is fixed for next week.
>>2617
I think this is my mistake. Had the extract only install ever been run, or was it completely fresh? A fresh, never run extract should be fine to update with, but I think v204's extensive db changes have broken older update steps, so you'll have to update to v202 before v204 will work.
So:
Please make a backup if you don't have one.
Then download and update to v202.
Then download and update to v204.
Let me know if that worked.
I will add a catch in v205 to semi-fix this, so you can also wait until then.
85aad4 No.2634
>>2626
>I think you can post that here or to pastebin.
It's about 14 MB, so I uploaded it to mediafire instead
http://www . mediafire.com/download/f69djt9g5m46l23/subs.txt
85aad4 No.2638
>>2626
2617 here. Deep sigh of relief.
Updating from 202 to 204 fixed the issue with no errors or hiccups. Thank you so much.
85aad4 No.2644
File: 1462648358402.jpg (554.56 KB, 1500x944, 375:236, edfc59491690464425f42fa150….jpg)
>>2634
Thank you for this follow up. Everything in there looks fine. I hadn't appreciated how many subs we were talking.
The manage subs dialog loads in a new panel when you click an entry for the first time. This panel is quite complicated–I think it has about thirty widgets in it. Windows has a hard limit on the number of 'GDI objects' a program can have at once–typically in the thousands–which is usually not a problem, but I think your situation is exceeding that number and causing the crash. There is a long term plan to rewrite the subs dialog, and when I do so, I will make sure to rework how it displays its options so users with a large number of subs can browse safely. Until then, please do not try to visit more than a hundred sub pages in a single visit to the manage subs dialog.
As for the networking errors, I am not sure what is going on there. I expect it is sankaku giving bad redirects or the client interpreting good redirects wrongly, but I have yet to reproduce the problem myself. Could it be a bandwidth issue? If sankaku gets hit for a lot of files over a long period, it maybe redirects to a special 'please slow down' page? If you haven't already, you might want to try going file->options->downloading and increasing the polite wait time, up to say ten seconds. That might fix it, or at least reduce the frequency.
Otherwise, I plan to convert my whole networking engine from my cobbled together nonsense to the 'requests' library, which will handle redirects better and report errors more helpfully when they occur.
I'm sorry I can't offer quicker fixes. I think you are pushing the boundaries of what the client can do!
>>2638
Great! I am sorry for the worry and inconvenience. I don't mean to break older update code, but some changes increase the retroactive complexity more than I can keep in my head. Thank you for reporting it.
85aad4 No.2646
>>2644
I started closing and re-opening the subs page the first time I lost all my changes in the session. It's a minor inconvenience at best right now.
The polite wait time was already at 10 and I upped it to 15, but I doubt it's the issue, since it appears that specific subs are having this issue. I'll try again though, just to be sure.
85aad4 No.2647
File: 1462668058417.png (11.06 KB, 543x242, 543:242, 2016-05-08-022931_543x242_….png)
204 fixed all my system:age related problems mentioned in >>2560 and any other combination I could come up with. Thanks!
Stumbled upon a very minor ui/cosmetic error while putting Hydrus through its paces, though. Looking at the 'About' popup in the linux build it seems the icons for both the 'close' and 'credits' button don't quite load right. Not anywhere close to important, but I thought I'd mention it anyway
85aad4 No.2649
>>2644
>>2646
I did notice that the subscriptions had something common between them. All of the subs have a lot of images to go through (+1000 or so). I think that's the problem?
85aad4 No.2654
File: 1462746683883.jpg (5.45 MB, 4001x2748, 4001:2748, 084cd425e8053ff0a81c1ee8f1….jpg)
>>2649
That's an interesting thought. I just tried to go to:
https://chan.sankakucomplex.com/?tags=maji_de_watashi_ni_koi_shinasai!&page=100
And it gave me an error about anonymous users (which the hydrus client is) not being allowed to see more than 100 pages of results. I worked it back, and ironically this error actually kicks in at page 51, which would be about 1,000 results. If you set the subscription's initial file limit to something smaller, like 400, does it work?
I'll look at this error page's http gubbins closer when I am back at my dev machine.
85aad4 No.2655
>>2647
Thank you, I'll look into it!
85aad4 No.2657
>>2654
I tried with a couple of subscriptions and it started downloading, must be the limit
Is there any way to set all the subs initial file limit, or would I have to go through them one by one?
85aad4 No.2658
Updating from 201 to 204, and this happened. Any ideas on what happened?
85aad4 No.2659
File: 1462902018347.jpg (181.06 KB, 1208x1046, 604:523, 20f63e598cb42e427f33f92cce….jpg)
>>2657
There's no way to mass-edit subs yet, although it is something I would like to do. 'check all subs on ok' and other buttons would be nice. I suspect the subs dialog would be better as a listctrl (a multi-column list, like a spreadsheet, that could launch a dialog to edit specific ones, and could otherwise support multiple select) than the current edit-one-at-a-time listbook.
I've fixed the sankaku redirect for v205 tomorrow, however. That 'too many pages' error gives a redirect header like this:
Location: https://chan.sankakucomplex.com/post/error, https://chan.sankakucomplex.com/post/error, https://chan.sankakucomplex.com/post/error
Which was being parsed and garbled up on my end by some unrelated error catching code that dealt with a different booru's bad redirect header. I'm not sure if multiple fields in the location header is valid, nor why they would repeat the same one three times, but there we are. It should redirect and neatly terminate the subs sync properly now. Let me know if it gives you any more trouble.
>>2658
I accidentally broke the v201->v202 db update step in v204. Please download and update to v202 first and then try v204, or wait for tomorrow's v205, which will have a fix.
85aad4 No.2673
Can't open "manage services" menu anymore
85aad4 No.2675
>>2659
Updated successfully? using the v205. On opening, the window was completely white, save for the top toolbar, which was odd. Don't know if that's a feature or something. On closing, it gave me this. Re-opening had everything working fine as I remembered. Just wanted to let you know in case this somehow turns out to be linked to an actually harmful bug or something.
85aad4 No.2677
>>2659
Yea, editing one at a time can be very tedious, that would be a great idea.
Also, this error turned up when starting a new local search but I have yet to recreate it.
85aad4 No.2696
Paheal tag subscriptions are broken for me in 205.
http://rule34.paheal.net/post/list/ultros/1 definitely has some images to be found.
85aad4 No.2700
File: 1463262147749.jpg (561.72 KB, 1280x630, 128:63, 6ff4a0513d06e3c5137e4d946f….jpg)
>>2673
I'm sorry you are getting this–I thought I had nailed this down a little while ago. Have you recently renamed a service, or maybe hit the 'just set up some repos for me, please' menu entry under help?
Rather than muck around trying to reinforce this at the db level, I've rewritten that control to no longer enforce unique names, as services are no longer internally tracked by name. In v206, the dialog should launch and you should see two services with the same name. Let me know if it doesn't work.
>>2675
>>2677
This is strange and worrying! I've got no idea what that error means, but if you notice it appearing after any particular event, I am very interested to know.
My guess is it might be related to recent changes in file deletion, which happens in the background. Please try deleting a file from disk (i.e. send it to trash and then delete it from trash), and see if that spawns it.
>>2696
Thank you for this report. It looks like paheal gives 404s when there are no more results (rather than an empty page with 200 OK), and the subscription daemon wasn't handling that properly. I think I have this fixed for v206, but let me know if you gives you any more trouble.
85aad4 No.2703
Have been hitting a strange bug for a couple of versions now:
Trying to start the archive/delete filter, either through the right click menu, or with F12 will result in no image being rendered if the first image is a video (animated gif or otherwise).
The resulting screen allows for archiving/deletion as usual, with tags and ratings being visible, but no images are displayed.
Everything works fine if the first image is not a video, all subsequent videos render fine.
A video being first also works fine in the "normal" viewer.
85aad4 No.2706
File: 1463338534872.jpg (220.42 KB, 759x1024, 759:1024, cacd1c9e74bafb8a2316a4ad19….jpg)
>>2703
Thank you for this concise report! Some video sizing calculations were changed a while ago, affecting animated media window init event order. This was adjusted for the navigable browser window but not the filters. I think they were spawning the videos into 20x20 pixel invisible windows and then having trouble coping with the subsequent resize event.
This should be fixed for v206–let me know if you still have any trouble.
85aad4 No.2712
This is a real bummer for me and it exist in all Hydrus versions.
When zooming images no matter the size at some point everything will lag i'm pointing fingers to the bilinear filter.
I don't have a high end pc so my computer simply freezes and i need to reset.
I think bilinear filter is the culprit also, how can i disable it? i like pixels
85aad4 No.2713
Just a little annoyance…
If you have the option "remove files from view when they are sent to the trash" enabled, once you delete a file the list view appears to lose focus. You have to click on it to make it accept keyboard commands again. Kind of annoying when you're browsing with the keyboard.
85aad4 No.2717
File: 1463424093450.jpg (336.04 KB, 1270x1024, 635:512, 0ad6b434b75246c86c6054fee1….jpg)
>>2712
I've been trying to make things look great all the time, but that sort of 'here's the best solution for everyone' approach is never going to work. I will add options to choose the resize algorithm used for zoom in and out.
Furthermore, the image rendering pipeline is inefficient in a lot of ways right now. A bunch of image data is re-decoded when it could be shared. I have plans to fix it as well–let me know if it works for you, once I have it ready.
>>2713
Thanks, I will look into this. I'm confident I can figure it out, but for now, and if this happens otherwise while you are keyboard-browsing, I think Ctrl+M will put focus on the thumbnail window (Ctrl+S does the search box). In the shortcut options, these actions are set_media_focus and set_search_focus. I put them in for myself, mostly, as I am often doing the same keyboard routine over and over when I am testing something.
85aad4 No.2737
I get this error when I move the Hydrus folder to my user folder (C:\Users\username\Hydrus Network) and start the client:
hydrus client started
booting controller...
booting db...
A serious error occured while trying to start the program. Its traceback will be shown next. It should have also been written to client.log.
Traceback (most recent call last):
File "include\ClientController.py", line 1043, in THREADBootEverything
self.InitModel()
File "include\ClientController.py", line 498, in InitModel
HydrusController.HydrusController.InitModel( self )
File "include\HydrusController.py", line 184, in InitModel
self._db = self._InitDB()
File "include\ClientController.py", line 60, in _InitDB
return ClientDB.DB( self, HC.DB_DIR, 'client', no_wal = self._no_wal )
File "include\HydrusDB.py", line 199, in __init__
self._InitDB()
File "include\HydrusDB.py", line 337, in _InitDB
self._InitDBCursor()
File "include\HydrusDB.py", line 360, in _InitDBCursor
self._db = sqlite3.connect( db_path, isolation_level = None, detect_types = sqlite3.PARSE_DECLTYPES )
OperationalError: unable to open database file
shutting down controller...
hydrus client shut down
It's probably something stupid on my part. I'm using version 206.
85aad4 No.2742
File: 1463773056409.jpg (660.01 KB, 1473x1786, 1473:1786, 61549fc3be8cd5430557f2d4b5….jpg)
>>2737
That's odd–I just tried a fresh client from that location, and it was ok. I don't think your user folder root is protected, right?
That error looks like you don't have write/access permission. Did the client folder get created by another user, perhaps, and your new user doesn't have permission somehow?
Or could the db files just not have copied correctly?
If you go install_dir/db and run sqlite3.exe and then type:
.open client.db
Does it dump out then?
Also, does the hydrus install work anywhere else on C:?
85aad4 No.2748
>>2742
I'm the only user on this computer, there are no other user accounts.
It looks like a permissions error to me too, but I do have read/write permissions. The thing that bugs me is that the Hydrus folder has the read-only attribute, and whenever I try to uncheck the box in the folder properties window nothing happens (if I open the properties window again the box is checked again.) This also happens with other folders.
I tried that command on sqlite3.exe and it creates the client.db file, but when I run the client afterwards I still get the same error.
Hydrus does indeed work anywhere else on C:
It's most probably something wrong with my computer rather than Hydrus, but I can't figure the damn thing out.
85aad4 No.2753
Recent issue - maybe not a bug, but I'm not sure which end it's on and maybe I'm the only one I'm having trouble with it.
I can no longer upload images to discord from Hydrus. (Windows 7) Perhaps it's just me, but it refuses to accept it. Doesn't think it's a valid file or whatever. It's really weird.
Don't know if anybody has any suggestions, or if it werks on ur machine ;) but it's something.
85aad4 No.2764
File: 1463858309885.jpg (132.19 KB, 754x1012, 377:506, d486074611c927fafdf7e3a669….jpg)
>>2748
I think Windows always gives that 'half-checked' read-only status for folder permissions, I don't know why. The files inside are probably all read/write no prob.
Maybe there's a permissions issue with the existing install somehow? Maybe client.exe doesn't have permission whereas sqlite3.exe does? If you extract a completely fresh install to your user folder, does it boot? If it does, try transplanting your db folder over.
Also, if you run client.exe as admin, does that work? That should overwrite any permissions issue, I think.
Also, I don't suppose you are a programmer with python or sqlite installed, are you? It is just possible that an older sqlite3.dll is being loaded instead of the ~1,644KB dll in install_dir, and it can't read the new db.
>>2753
I don't know anything about discord–it is skype/ventrilo thing, right? Do you have an error message I can look at, or a screenshot? I presume you are doing a drag-and-drop from the client to the discord window? Are you dropping the files into the discord application, or in its web interface? If it is a web interface, which browser are you using, and does the 8chan upload box work for you?
85aad4 No.2767
>>2764
Okay, Hydrus anon here. (My previous comment was a fucking mess) I'm pretty confident it's on discord's end.
You're correct in that Discord is a (pretty damn fine) vent/mumble style program. Unfortunately, I don't have a whole lot else to go off of other than this .webm I just whipped up. It seems to WANT to accept input from Hydrus, but throws up a circle with a line through it.
I have this problem on Windows 7 AND windows 8.1 (so separate machines) in both the browser version and the standalone version. It's a quite recent problem. I don't even think it popped up the day of the update for discord, which is particularly frustrating. Apparently people had similar problems with past discord versions and uploads, something to do with UAC.
However, I don't have this problem with the linux browser version and hydrus. Which is somewhat weird. The linux test discord client however has a similar issue, so something's weird in that department.
I really don't have a whole lot else to go off of. I'm going to go post on >leddit to try and chase down a solution to this, but I'm sure there are other people with a similar issue, so I figured I'd just put it out there.
85aad4 No.2769
>>2767
>>2767
Okay - so it definitely isn't Hydrus's fault. infranview is doing it too. So I'll go bug the Discord devs.
85aad4 No.2770
After updating to 206 I can no longer access any subsection of the file->options menu on the linux build. The menu itself still opens up without errors, and the default page is shown, but every time I select a different 'tab' from the list view on the left (colors, gui, tags, etc.), this happens:
KeyError
None
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientGUICommon", line 2186, in EventSelection
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientGUICommon", line 2042, in _Select
85aad4 No.2773
Recently, like post 204, Hydrus has started doing this on start up. Restarting Hydrus fixes the issue, but then the preview on the side takes up 80% of the sidebar. I can still resize it back to the normal size so it's not a huge deal, but it is a bit annoying.
85aad4 No.2775
File: 1463938495912.jpg (56.03 KB, 618x483, 206:161, QmReQ4V9owNLWhwmaa6akiswk3….jpg)
I tried adding pic related from ipfs (hash: QmReQ4V9owNLWhwmaa6akiswk3DtL1JFaNM9wLyLcKEhgY) but hydrus throws an error and never completes looking up the mulithash info.
error:
KeyError
'Links'
Traceback (most recent call last):
File "/opt/hydrus/include/HydrusThreading.py", line 274, in run
callable( *args, **kwargs )
File "/opt/hydrus/include/ClientData.py", line 1972, in off_wx
url_tree = self._ConvertMultihashToURLTree( multihash, None, multihash )
File "/opt/hydrus/include/ClientData.py", line 1883, in _ConvertMultihashToURLTree
for link in links_json[ 'Links' ]:
KeyError: 'Links'
85aad4 No.2776
So, I have tried to make a custom filter named "custom1", I deleted every shortcut besides pan left/down/right/up for testing, and now I can't access the filter manager anymore.
Context menu > filter > custom filter > manager custom filter gives me that:
NameException
That entry already exists!
File "include\ClientGUIMedia.py", line 2008, in EventMenu
self._CustomFilter( data )
File "include\ClientGUIMedia.py", line 285, in _CustomFilter
with ClientGUIDialogs.DialogShortcuts( self ) as dlg:
File "include\ClientGUIDialogs.py", line 4441, in __init__
PopulateControls()
File "include\ClientGUIDialogs.py", line 4403, in PopulateControls
self._shortcuts.AddPageArgs( name, name, self._Panel, ( self._shortcuts, shortcuts ), {} )
File "include\ClientGUICommon.py", line 2092, in AddPageArgs
raise HydrusExceptions.NameException( 'That entry already exists!' )
85aad4 No.2777
File: 1463943347710.jpg (498.68 KB, 1285x2328, 1285:2328, 57ec7fdf31940675fe9507606b….jpg)
>>2767
>>2769
Thank you for the update.
I remember the 'can't drop here icon' happening for another program, I forget which, when hydrus and the program were running at different privilege levels–i.e. one was run as administrator, but the other wasn't. Apparently, Windows can't do drag and drop communication through that. If discord needs to be run as admin, or it is escalating using UAC, or you are running hydrus as admin, that might be the cause.
Hydrus's DnD object is a CompositeDataObject with two kinds of data–a CustomDataObject with type 'application/hydrus-media' that hydrus catches to stop you importing files if you drop the event back on the main window, and a normal FileDataObject that just has a bunch of path links to the client db. It might also be possible that Discord is somehow not reporting that it can handle CompositeDataObjects, or their regular acceptability of FileDataObjects isn't getting through the Composite barrier.
Although it is an extra step, you might get it to work by dragging hydrus files to your desktop or another temp explorer window before doing another DnD into discord.
Let me know how you get on with this. If it is my code that's doing it wrong, I'm obviously interested in fixing it.
>>2770
I am sorry about this. t looks like my new listbook stuff is broken on Linux. I had forgotten that Linux listboxes silently fail to store complex data, and I missed it in testing. I'm afraid review and manage services are broken for you as well. I will make sure to fix this for v207.
>>2773
I got this myself yesterday, but I'm not sure what did it, and I can't repeat it. Do you get it every time? Can you think of anything particular about your initial session–does it have several active download pages or 10,000+ thumbs or anything?
>>2775
Unfortunately, the download worked for me. With your IPFS daemon running, please go to:
http://localhost:5001/api/v0/object/links/QmReQ4V9owNLWhwmaa6akiswk3DtL1JFaNM9wLyLcKEhgY
In your web browser. I get this:
{"Hash":"QmReQ4V9owNLWhwmaa6akiswk3DtL1JFaNM9wLyLcKEhgY","Links":[]}
I'm running IPFS 0.4.0.
85aad4 No.2778
>>2776
Thank you for this report. I just tested, and I get it as well. I will make sure to fix it for v207.
85aad4 No.2779
>>2777
I get
{"Hash":"QmReQ4V9owNLWhwmaa6akiswk3DtL1JFaNM9wLyLcKEhgY"}
with IPFS 0.4.2
85aad4 No.2781
>>2776
This is fixed for v207. Due to changes in the listbook code and an unusual section that skipped my usual testing, the 'default' entry was accidentally duplicated for you. The dupe will be deleted on update and it shouldn't happen again.
>>2779
Thank you–I've updated my own ipfs and fixed this for v207.
85aad4 No.2782
>>2770
>>2777
No worries, it took me three days before I even realized that something was wrong, so I can do without for a while. I'm glad you're willing to maintain a Linux release at all, occasional hiccups won't make me appreciate Hydrus any less
85aad4 No.2783
ZeroDivisionError
float division by zero
File "include\ClientGUICommon.py", line 5437, in EventLeftDown
rating = self._GetRatingFromClickEvent( event )
File "include\ClientGUICommon.py", line 5285, in _GetRatingFromClickEvent
rating = float( int( proportion_filled * self._num_stars ) ) / ( self._num_stars - 1 )
Happens when making a 1 star numerical rating.
85aad4 No.2785
>>2777
>I got this myself yesterday, but I'm not sure what did it, and I can't repeat it. Do you get it every time? Can you think of anything particular about your initial session–does it have several active download pages or 10,000+ thumbs or anything?
Nope, seems random, other than it always being the first time after booting the computer.
85aad4 No.2789
Whenever I try to use custom filters I get this:
UnboundLocalError
local variable 'name' referenced before assignment
File "include\ClientGUIDialogs.py", line 4511, in EventOK
if name != 'default':
85aad4 No.2798
File: 1464205042025.jpg (230.41 KB, 800x642, 400:321, 4b38c2074378f19477be6a3e4c….jpg)
>>2783
Thank you for this report. I have changed the manage services dialog to no longer allow 1-star, no-zero numerical ratings. please open and then ok services->manage services in v207, and your broken ratings service, if you still have it, will be auto-corrected.
>>2785
I switched up the way sessions are loaded recently, so I think the slower initial boot after you start the machine is misordering something, and it is prohibiting the initial layout or sizer population. There's no error in the log that I can find, and I couldn't repeat the conditions, but I am still looking. Let me know if you figure anything more out on your end.
>>2789
Thank you for this report. I think this is related to >>2776 . Please let me know if today's v207 fixes your problem.
85aad4 No.2808
>>2798
It works now, but, well, trying to add a new shortcut in manage filters is missing the previous command in the non-tag action dropdown.
85aad4 No.2817
2016/05/26 03:36:58: Exception:
2016/05/26 03:36:58: ChunkedEncodingError
("Connection broken: error(10054, 'An existing connection was forcibly closed by the remote host')", error(10054, 'An existing connection was forcibly closed by the remote host'))
Traceback (most recent call last):
File "include\HydrusThreading.py", line 274, in run
callable( *args, **kwargs )
File "include\ClientGUI.py", line 2240, in _THREADUploadPending
service.PinFile( hash, mime )
File "include\ClientData.py", line 2117, in PinFile
response = ClientNetworking.RequestsPost( url, files = files )
File "include\ClientNetworking.py", line 123, in RequestsPost
response = requests.post( url, data = data, files = files )
File "site-packages\requests\api.py", line 107, in post
File "site-packages\requests\api.py", line 53, in request
File "site-packages\requests\sessions.py", line 468, in request
File "site-packages\requests\sessions.py", line 608, in send
File "site-packages\requests\models.py", line 737, in content
File "site-packages\requests\models.py", line 663, in generate
ChunkedEncodingError: ("Connection broken: error(10054, 'An existing connection was forcibly closed by the remote host')", error(10054, 'An existing connection was forcibly closed by the remote host'))
When I try to pin things to IPFS
85aad4 No.2820
Weird bug. Every time I try to see a very specific webm file, hydrus says that the thumbnail for it was missing and it was regenerated from the original file. If I close and re-open hydrus, it happens again. Only for this one file.
I can see the thumbnail fine outside of hydrus. I tried setting it to read-only on windows, but then hydrus complains about access denied and just shows its logo instead of the thumbnail.
Changing the size of the thumbnail to anything other than 200x200 doesn't trigger the issue, but as soon as I set it back, hydrus says it regenerated the thumbnail again.
Here's a link to the file in question, since it's NSFW I won't post it directly here.
https://data.desustorage.org/gif/image/1456/49/1456496579260.webm
85aad4 No.2821
>>2817
Fixed by changing to the 64 bit version of go-ipfs, which previously did not work under the supervision of Sandboxie, but now does.
85aad4 No.2826
Is it possible to find out what file it's trying to read while importing?
I'm having some issues with importing a video file.
https://bpaste.net/show/5bc674081f87
85aad4 No.2832
File: 1464463038246.jpg (261.32 KB, 1000x695, 200:139, 8f01daf68c7f426336fb1c0c9a….jpg)
>>2808
Thank you–I've added the missing 'previous' back in.
>>2820
Thank you for this report. That video has just the right resolution to expose a bad bit of calculation when I figure out thumbnail resolution. It was producing (199, 120) rather than (200, 120) due to bad float handling and so the client kept trying to delete and resize it. I have fixed this for v208–you may see the error message once more, but hopefully not again.
Let me know if this comes back, and don't worry about nsfw.
>>2826
I have set that error to also say the file path in v208–if the file is small, please post in here or otherwise send it to me, as that error looks interesting.
85aad4 No.2861
I'm having problems with the pixiv tag subscription. It only works when I create one from scratch or when I reset the url cache, it downloads everything fine until it reaches the initial file limit and then everytime it checks for new files says 0 found, which is not true. Force sync doesn't change the outcome.
85aad4 No.2862
Got a strange error whilst trying to backup the db
Database Error!
[Errno 13] Permission denied
Unknown Caller, probably GUI.
Traceback (most recent call last):
File "include\HydrusDB.py", line 463, in _ProcessJob
elif job_type in ( 'write' ): result = self._Write( action, *args, **kwargs )
File "include\ClientDB.py", line 8757, in _Write
elif action == 'backup': result = self._Backup( *args, **kwargs )
File "include\ClientDB.py", line 1432, in _Backup
HydrusPaths.MirrorTree( HC.CLIENT_FILES_DIR, os.path.join( path, 'client_files' ) )
File "include\HydrusPaths.py", line 306, in MirrorTree
shutil.copy2( source_path, dest_path )
File "shutil.py", line 130, in copy2
File "shutil.py", line 84, in copyfile
File "shutil.py", line 49, in copyfileobj
IOError: [Errno 13] Permission denied
85aad4 No.2864
>>2862
that seems like a mistake in your file permissions.
if you're on linux or mac you should know how to handle those, if not look it.
I'd be surprised if that happened on windows.
85aad4 No.2866
Still tinkering with the open-externally / xdg-open function on linux, and I think I have found a case of version mismatch I cannot solve on my own. There are several workarounds for my problem, so it's foremost of a case of my wanting to understand more about why this happens.
I'm using firefox to open flash files, and in most cases it does work without error - xdg-open via console orr dragging and dropping the file from hydrus onto a FF window works fine for mimes of application/x-shockwave-flash, for example.
If I issue the open-externally command for the same file via hydrus, however, I get the following:
Opening "/home/xxx/pictures/Hydrus/db/client_files/xx/xxx.swf" with Firefox (application/vnd.adobe.flash.movie)
/usr/bin/firefox: symbol lookup error: /usr/lib/libgtk-3.so.0: undefined symbol: g_type_check_instance_is_fundamentally_a
which, according to https://mail.gnome.org/archives/commits-list/2014-May/msg08836.html , seems to make out libgobject as the culprit.
From this and the fact that both firefox and xdg-open work well outside this case I'm assuming the problem is with firefox trying to use the bundled instead of the system libraries when it is callled to open the file. Simply replacing the offending library won't work in this case, as Hydrus then fails to open at all.
Is it possible that there's a problem with the environment/permissions that xdg-open gets when called from hydrus, and that this might be the reason for any program it calls ignoring the installed libraries?
85aad4 No.2869
File: 1464803130622.jpg (442.24 KB, 1370x1561, 1370:1561, fca1cca8cb97c1fb1ad24b7c08….jpg)
>>2862
As >>2864 says, this usually means your username isn't allowed to access something. Strangely enough, I looked into shutil, which is a 'move files around' library where the problem is happening, and the problem is actually on the read call, not the write. so you apparently don't have access to read one of your own files!
Where do you have hydrus installed? Do you have to run it as admin?
I've written some extra error handling into the release I'm putting out later today. Please try another backup in v208 and let me know what errors it throws.
>>2866
This may be true. Everything is held together with duct tape on my end, so I wouldn't be surprised if the environment is overwritten by something. Let me know if you discover anything for certain. How are you running hydrus? From source or a built executable?
I would like to add custom 'open externally' launch commands for all mime types in the next few weeks, which I hope will get around complicated problems like these.
85aad4 No.2870
>>2861
Thank you for this report, I will look into this next week.
85aad4 No.2872
>>2869
I have been lazy and grabbed the binary, last I tried to compile on my end I just could not get one of the dependencies installed. I think I'll give it another go with todays release though, and see if I can't figure out something more about just what's going on there.
85aad4 No.2874
>>2866
>>2869
>>2872
I forgot that python doesn't actually have to compile but indeed /run/ from source, now don't I look smart.
Overcoming the dependency issue turned out to be easy enough though, and running from source has solved this problem as well as all the other difficulties I had with opening things externally. I should really have done this sooner.
85aad4 No.2875
>>2869
>>2864
>>2862
Apparently my hard drive is kill. S.M.A.R.T. passes but it failed the short DST check immediately, and chkdsk /f /r showed a bunch of read errors. The log doesn't even look like it actually finished, the last line is just another read error.
Anyway…what're my options for copying over my db if only a handful of image files are borked? It made it half way through the backup before that error code so it's got to just be some image files, which is consistent with what's messed up elsewhere on the drive (it's been 1 or 2 files per folder on average)
Oddly, some non-Hydrus folders were throwing up errors on copying, but if I went in and manually copied files row by row they went through ok. The chkdsk also seems to have fixed some of them, as a folder I tested that would error before now copies fine.
I'm afraid I don't have a backup of my db, as I only just discovered hydrus a couple of months ago and my db was still very very small since tagging is time consuming. Was also kind of waiting for a tag cloud to rollout sometime in the next few months.
85aad4 No.2876
So, uh, I just got this while doing the exit clean-up work. The splash screen says 'analyzing current_mappings_5_tag_id_index'.
Traceback (most recent call last):
File "include\ClientController.py", line 1082, in THREADExitEverything
self.ShutdownView()
File "include\ClientController.py", line 939, in ShutdownView
self.DoIdleShutdownWork()
File "include\ClientController.py", line 382, in DoIdleShutdownWork
self.MaintainDB( stop_time = stop_time )
File "include\ClientController.py", line 623, in MaintainDB
self.WriteInterruptable( 'analyze', stop_time = stop_time )
File "include\HydrusController.py", line 319, in WriteInterruptable
return self._Write( action, HC.INTERRUPTABLE_PRIORITY, True, *args, **kwargs )
File "include\HydrusController.py", line 115, in _Write
result = self._db.Write( action, priority, synchronous, *args, **kwargs )
File "include\HydrusDB.py", line 680, in Write
if synchronous: return job.GetResult()
File "include\HydrusData.py", line 1817, in GetResult
raise HydrusExceptions.DBException( text, caller_traceback, db_traceback )
DBException: (u'database disk image is malformed', 'Stack Trace (most recent call last):\r\n\r\n File "threading.py", line 774, in __bootstrap\n\r\n File "threading.py", line 801, in __bootstrap_inner\n\r\n File "threading.py", line 754, in run\n\r\n File "include\\ClientController.py", line 1082, in THREADExitEverything\n self.ShutdownView()\n\r\n File "include\\ClientController.py", line 939, in ShutdownView\n self.DoIdleShutdownWork()\n\r\n File "include\\ClientController.py", line 382, in DoIdleShutdownWork\n self.MaintainDB( stop_time = stop_time )\n\r\n File "include\\ClientController.py", line 623, in MaintainDB\n self.WriteInterruptable( \'analyze\', stop_time = stop_time )\n\r\n File "include\\HydrusController.py", line 319, in WriteInterruptable\n return self._Write( action, HC.INTERRUPTABLE_PRIORITY, True, *args, **kwargs )\n\r\n File "include\\HydrusController.py", line 115, in _Write\n result = self._db.Write( action, priority, synchronous, *args, **kwargs )\n\r\n File "include\\HydrusDB.py", line 680, in Write\n if synchronous: return job.GetResult()\n\r\n File "include\\HydrusData.py", line 1813, in GetResult\n trace_list = traceback.format_stack()\n', 'Traceback (most recent call last):\n\r\n File "include\\HydrusDB.py", line 463, in _ProcessJob\n elif job_type in ( \'write\' ): result = self._Write( action, *args, **kwargs )\n\r\n File "include\\ClientDB.py", line 8756, in _Write\n if action == \'analyze\': result = self._Analyze( *args, **kwargs )\n\r\n File "include\\ClientDB.py", line 1330, in _Analyze\n self._c.execute( \'ANALYZE \' + name + \';\' )\n\r\nDatabaseError: database disk image is malformed\n')
85aad4 No.2878
A big party pooper for my dual display fap: cannot have two slideshows active at once.
85aad4 No.2879
>>2878
It does work, actually, the problem is more with moving the slideshow to the second screen. You can drag them over there after you toggle the built-in 'fullscreen switch' button at the top of the slideshow, or assign a key to that function in the options. I'm not sure if your OS provides a function for moving fullscreen windows between screens, but that would work, too.
In theory, the number of slideshows open is pretty much unlimited.
85aad4 No.2883
>>2879
You are right indeed, slideshows do work simultaneously. There's a problem with context menu disappearing when an image changes tho
85aad4 No.2885
>>2767
>>2769
Was a solution to this Hydrus to Discord drag and drop problem ever found?
Using a temp folder on my desktop instead of directly dropping the images into Discord is getting annoying.
85aad4 No.2886
I seem to have lost the abilitiy to share on the local booru when switching from the precompiled to the source release. It used to work fine until then, so I'm almost certain it's an error on my part, but looking at the log I can't quite make out what the cause could be. Hydrus seems to want to access files in a way it has no permission for, but which?
Trying to copy external link from the share on booru popup:
OSError
[Errno 13] Permission denied
File "/home/xxx/pictures/Hydrus Source/include/ClientGUIDialogs.py", line 1402, in EventCopyExternalShareURL
external_ip = HydrusNATPunch.GetExternalIP() # eventually check for optional host replacement here
File "/home/xxx/pictures/Hydrus Source/include/HydrusNATPunch.py", line 34, in GetExternalIP
p = subprocess.Popen( cmd, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, startupinfo = HydrusData.GetSubprocessStartupInfo() )
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
And trying to go services -> manage local upnp
OSError
[Errno 13] Permission denied
File "/home/xxx/pictures/Hydrus Source/include/ClientGUI.py", line 2440, in EventMenu
elif command == 'manage_upnp': self._ManageUPnP()
File "/home/xxx/pictures/Hydrus Source/include/ClientGUI.py", line 1407, in _ManageUPnP
with ClientGUIDialogsManage.DialogManageUPnP( self ) as dlg: dlg.ShowModal()
File "/home/xxx/pictures/Hydrus Source/include/ClientGUIDialogsManage.py", line 9806, in __init__
PopulateControls()
File "/home/xxx/pictures/Hydrus Source/include/ClientGUIDialogsManage.py", line 9774, in PopulateControls
self._RefreshMappings()
File "/home/xxx/pictures/Hydrus Source/include/ClientGUIDialogsManage.py", line 9817, in _RefreshMappings
self._mappings = HydrusNATPunch.GetUPnPMappings()
File "/home/xxx/pictures/Hydrus Source/include/HydrusNATPunch.py", line 94, in GetUPnPMappings
external_ip_address = GetExternalIP()
File "/home/xxx/pictures/Hydrus Source/include/HydrusNATPunch.py", line 34, in GetExternalIP
p = subprocess.Popen( cmd, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, startupinfo = HydrusData.GetSubprocessStartupInfo() )
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
85aad4 No.2899
>>2872
>>2874
Great, I'm glad you figured this out. I guess it was my libraries or the PyInstaller wrapping messing up the environment somehow.
>>2875
That's a shame. I know the frustration of hard drive problems very well.
Since the drive is unreliable, I think you will have to do a manual backup, copying folders by hand to your safe external drive. You want to preserve as much of your install_dir/db folder as possible–all your user generated stuff is in there. From most important to least:
The client****db files in the base directory – This is your database.
client_files – all your files. There are 256 subdirectories, if you want to break the job up and narrow down the problem files.
client_updates – all your downloaded sync files from any repositories. They can be regenerated, but it is a hassle.
client_thumbnails – same as client_files, but for your thumbnails. Lots of files here, but they can be regenerated from source. (you'll probably be doing this anyway, given a number of them are likely borked)
client_archives – this might be empty for you, but even if it isn't, you can probably reacquire your HTAs pretty easily.
So, recover as much of that as you can, then recreate it into a fresh install of hydrus, the same version as you were before (don't try to recover and update in one step!), and boot it up.
You'll want to hit database->maintenance and do:
check database integrity
check file integrity (full)
regen all thumbs
And stop if you hit any errors. Depending on the nature of your hdd problems, the check db integrity call may give hundreds of errors, let me know if so, and you can also check out the 'help my db is broke.txt' in the db folder as well.
With some luck, you'll have only lost a handful of files. Since you can boot right now, things look good.
>>2876
This is likely another hard drive problem, like the poster above. Please check out the 'help my db is broke.txt' file in install_dir/db. If it is only that index that is broken, we should be able to recreate it, but first make sure your hard drive situation is ok.
>>2878
>>2879
>>2883
The gui slideshow event rudely kills an open menu, so I made media windows trac when a menu is open on them and halt slideshow progression, but this is only per-window–it looks like the slideshow destroy/creation is boshing the menu on the other window. I'll make it global.
For now, I think space bar does pause/play of slideshows, so set up each in turn and pause them, and then restart with space bar.
>>2886
Hydrus does UPnP stuff through the upnpc executable in install_dir/bin. Do you not have execute permission on that, somehow?
85aad4 No.2900
>>2899
That seems to have been the problem, thanks for the pointer!
upnp_linux did have read/write for myself and read for everyone else already, but giving it 766 instead of 644 solved the issue. Odd, but maybe Hydrus accesses the file under another user or needed rights to execute.
85aad4 No.2908
File: 1465321103459.jpg (147.74 KB, 980x1184, 245:296, 01eea547ec93173cff4a073f40….jpg)
>>2861
I looked at this but can't figure out what might be going wrong. Can you give me a tag that causes this for you, and can you go to your subscription, hit the 'open detailed url cache status' button, select everything and right-click->copy sources and then email or pastebin that to me?
Also, do you use pixiv a lot? (I don't, so I'm almost completely ignorant about it) Is there possibly some way your account has a list of 'favourites' or 'popular' or something to pop up the top of search pages. If those were being accidentally parsed as normal thumbs, that could fool the sub into thinking it was seeing the same images again.
85aad4 No.2910
>>2899
>>2875
Got everything up and running and it's looking good, only had 13 files that were "incorrect" and just looking at the thumbnails you can tell they're garbled pretty bad. Also had 1 file that failed its thumbnail regen, but I was able to pick it up again off the booru.
I guess the chkdsk did fix stuff because I only encountered 2 file errors for the entire drive, and both were items I already had backed up. Though if those 14 hydrus files were broken, i'm worried about the rest of the stuff from my drive. I kind of assumed since it copied ok and the thumbnails looked alright that it was all intact, though I obviously couldn't check every file's thumbnail.
I probably shouldn't have over wrote the older backup after all but I wouldn't have had room for everything if I didn't. Damned if i do, damned if I don't…
Anyway, thanks for the help as always hydrus dev
85aad4 No.2912
>>2910
Or not…when I try to import that file I got off the booru, it fails. Other imports work, just that one seems to be broken. Already deleted the broken verison, kicked it out of trash and cleared orphans so I'm not sure what the problem is.
Here's the error it gives under notes:
Traceback (most recent call last):
File "include\ClientImporting.py", line 690, in _WorkOnFiles
( status, hash ) = HydrusGlobals.client_controller.WriteSynchronous( 'import_file', path, import_file_options = self._import_file_options )
File "include\HydrusController.py", line 324, in WriteSynchronous
return self._Write( action, HC.LOW_PRIORITY, True, *args, **kwargs )
File "include\HydrusController.py", line 115, in _Write
result = self._db.Write( action, priority, synchronous, *args, **kwargs )
File "include\HydrusDB.py", line 685, in Write
if synchronous: return job.GetResult()
File "include\HydrusData.py", line 1817, in GetResult
raise HydrusExceptions.DBException( text, caller_traceback, db_traceback )
DBException: (u'image file is truncated (1 bytes not processed)', 'Stack Trace (most recent call last):\r\n\r\n File "threading.py", line 774, in bootstrap\n\r\n File "threading.py", line 801, in bootstrap_inner\n\r\n File "threading.py", line 754, in run\n\r\n File "include\\ClientImporting.py", line 766, in _THREADWork\n self._WorkOnFiles( page_key )\n\r\n File "include\\ClientImporting.py", line 690, in _WorkOnFiles\n ( status, hash ) = HydrusGlobals.client_controller.WriteSynchronous( \'import_file\', path, import_file_options = self._import_file_options )\n\r\n File "include\\HydrusController.py", line 324, in WriteSynchronous\n return self._Write( action, HC.LOW_PRIORITY, True, *args, kwargs )\n\r\n File "include\\HydrusController.py", line 115, in _Write\n result = self._db.Write( action, priority, synchronous, *args, kwargs )\n\r\n File "include\\HydrusDB.py", line 685, in Write\n if synchronous: return job.GetResult()\n\r\n File "include\\HydrusData.py", line 1813, in GetResult\n trace_list = traceback.format_stack()\n', 'Traceback (most recent call last):\n\r\n File "include\\HydrusDB.py", line 463, in _ProcessJob\n elif job_type in ( \'write\' ): result = self._Write( action, *args, kwargs )\n\r\n File "include\\ClientDB.py", line 8845, in _Write\n elif action == \'import_file\': result = self._ImportFile( *args, kwargs )\n\r\n File "include\\ClientDB.py", line 5360, in _ImportFile\n thumbnail = HydrusFileHandling.GenerateThumbnail( dest_path )\n\r\n File "include\\HydrusFileHandling.py", line 74, in GenerateThumbnail\n SaveThumbnailToStream( pil_image, dimensions, f )\n\r\n File "include\\HydrusFileHandling.py", line 47, in SaveThumbnailToStream\n HydrusImageHandling.EfficientlyThumbnailPILImage( pil_image, dimensions )\n\r\n File "include\\HydrusImageHandling.py", line 70, in EfficientlyThumbnailPILImage\n pil_image.thumbnail( ( target_x, target_y ), PILImage.ANTIALIAS )\n\r\n File "site-packages\\PIL\\Image.py", line 1786, in thumbnail\n\r\n File "site-packages\\PIL\\Image.py", line 1526, in resize\n\r\n File "site-packages\\PIL\\ImageFile.py", line 218, in load\n\r\nIOError: image file is truncated (1 bytes not processed)\n')
85aad4 No.2915
File: 1465407273657.jpg (857.16 KB, 1800x1289, 1800:1289, c07bb868168a9d87d92a924339….jpg)
>>2910
>>2912
I'm glad you haven't lost too much. Do you have a link for that bad booru file? I think the image library I use has become more strict in recent versions, throwing errors for jpgs with a bit of bad data when it previously would skip over it (usually rendering the bottom line of the image as grey or similar).
You can often fix this sort of 'image truncated' error by loading it in a more sophisticated image program, like Photoshop/Gimp and then saving it again. The cleverer program should be able to heal any broken regions enough for hydrus to parse it right.
85aad4 No.2916
>>2915
Sure, http://gelbooru.com/index.php?page=post&s=view&id=2035490
It's just odd because I downloaded it by tag/gallery in hydrus the first time and it didn't flag then
85aad4 No.2917
>>2899
>>2876 here
chkdsk gives me no errors, sqlite's integrity check just tells me 'ok', but making a clone seems to have fixed it. Thanks!
85aad4 No.2922
>>173
>>2921
crossposting my error information here
85aad4 No.2924
>>2917
Nevermind, it didn't fix it. Getting this while updating the public tag repo:
2016/06/09 04:56:32: Daemon MaintainDB encountered an exception:
2016/06/09 04:56:32: Exception:
2016/06/09 04:56:32: Database Error!
database disk image is malformed
Stack Trace (most recent call last):
File "threading.py", line 774, in __bootstrap
File "threading.py", line 801, in __bootstrap_inner
File "include\HydrusThreading.py", line 218, in run
self._callable( self._controller )
File "include\HydrusDaemons.py", line 14, in DAEMONMaintainDB
controller.MaintainDB()
File "include\ClientController.py", line 623, in MaintainDB
self.WriteInterruptable( 'analyze', stop_time = stop_time )
File "include\HydrusController.py", line 319, in WriteInterruptable
return self._Write( action, HC.INTERRUPTABLE_PRIORITY, True, *args, **kwargs )
File "include\HydrusController.py", line 115, in _Write
result = self._db.Write( action, priority, synchronous, *args, **kwargs )
File "include\HydrusDB.py", line 685, in Write
if synchronous: return job.GetResult()
File "include\HydrusData.py", line 1813, in GetResult
trace_list = traceback.format_stack()
Traceback (most recent call last):
File "include\HydrusDB.py", line 463, in _ProcessJob
elif job_type in ( 'write' ): result = self._Write( action, *args, **kwargs )
File "include\ClientDB.py", line 8827, in _Write
if action == 'analyze': result = self._Analyze( *args, **kwargs )
File "include\ClientDB.py", line 1330, in _Analyze
self._c.execute( 'ANALYZE ' + name + ';' )
DatabaseError: database disk image is malformed
85aad4 No.2931
Constantly getting errors like this every hour or so on top of a upnp error I'll post when it shows up again.
NetworkException
Could not connect to 127.0.0.1:
[Errno 10061] No connection could be made because the target machine actively refused it
File "include\ClientGUI.py", line 2430, in EventMenu
elif command == 'stats': self._Stats( data )
File "include\ClientGUI.py", line 1910, in _Stats
response = service.Request( HC.GET, 'stats' )
File "include\ClientData.py", line 1171, in Request
ClientNetworking.AddHydrusSessionKeyToHeaders( self._service_key, request_headers )
File "include\ClientNetworking.py", line 34, in AddHydrusSessionKeyToHeaders
session_key = session_manager.GetSessionKey( service_key )
File "include\ClientCaches.py", line 1357, in GetSessionKey
( response_gumpf, cookies ) = service.Request( HC.GET, 'session_key', return_cookies = True )
File "include\ClientData.py", line 1226, in Request
( response, size_of_response, response_headers, cookies ) = HydrusGlobals.client_controller.DoHTTP( method, url, request_headers, body, report_hooks = report_hooks, temp_path = temp_path, return_everything = True )
File "include\ClientController.py", line 374, in DoHTTP
def DoHTTP( self, *args, **kwargs ): return self._http.Request( *args, **kwargs )
File "include\ClientNetworking.py", line 300, in Request
( response, size_of_response, response_headers, cookies ) = self._DoRequest( method, location, path, query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientNetworking.py", line 234, in _DoRequest
connection = self._GetConnection( location )
File "include\ClientNetworking.py", line 283, in _GetConnection
connection = HTTPConnection( location )
File "include\ClientNetworking.py", line 363, in __init__
self._RefreshConnection()
File "include\ClientNetworking.py", line 571, in _RefreshConnection
raise HydrusExceptions.NetworkException( text )
Also does Pixiv allow downloading from galleries at all? I've seen a few galleries that aren't downloading and I'm unsure if I'm missing an option.
85aad4 No.2933
~ hydrus-client
2016/06/11 13:48:31: hydrus client started
2016/06/11 13:48:32: booting controller…
2016/06/11 13:48:32: booting db…
2016/06/11 13:48:34: updating db to v189
…
2016/06/11 13:48:37: updating file tables
….
2016/06/11 13:48:51: updating db to v196
2016/06/11 13:48:51: clearing out surplus autocomplete entries
2016/06/11 13:48:51: clearing out existing tags orphans
2016/06/11 13:48:55: clearing out orphan autocomplete entries
2016/06/11 13:48:55: updated db to v196
2016/06/11 13:48:58: updating db to v197
2016/06/11 13:48:58: clearing out more surplus autocomplete entries
2016/06/11 13:48:58: updated db to v197
…
2016/06/11 13:51:34: updated db to v204
…
2016/06/11 13:51:44: updating db to v208
2016/06/11 13:51:44: updated db to v208
2016/06/11 13:51:46: Traceback (most recent call last):
File "/opt/hydrus/include/HydrusDB.py", line 553, in MainLoop
self._InitCaches()
File "/opt/hydrus/include/ClientDB.py", line 5477, in _InitCaches
self._InitArchives()
File "/opt/hydrus/include/ClientDB.py", line 5439, in _InitArchives
for filename in os.listdir( archives_dir ):
OSError: [Errno 2] No such file or directory: '/home/me/.local/share/hydrus/db/client_archives'
2016/06/11 13:51:46: A serious error occured while trying to start the program. Its traceback will be shown next. It should have also been written to client.log.
2016/06/11 13:51:46: Traceback (most recent call last):
2016/06/11 13:51:46: File "/opt/hydrus/include/ClientController.py", line 1043, in THREADBootEverything
2016/06/11 13:51:46: self.InitModel()
2016/06/11 13:51:46: File "/opt/hydrus/include/ClientController.py", line 498, in InitModel
2016/06/11 13:51:46: HydrusController.HydrusController.InitModel( self )
2016/06/11 13:51:46: File "/opt/hydrus/include/HydrusController.py", line 184, in InitModel
2016/06/11 13:51:46: self._db = self._InitDB()
2016/06/11 13:51:46: File "/opt/hydrus/include/ClientController.py", line 60, in _InitDB
2016/06/11 13:51:46: return ClientDB.DB( self, HC.DB_DIR, 'client', no_wal = self._no_wal )
2016/06/11 13:51:46: File "/opt/hydrus/include/HydrusDB.py", line 256, in init
2016/06/11 13:51:46: raise Exception( 'Could not initialise the db! Error written to the log!' )
2016/06/11 13:51:46: Exception: Could not initialise the db! Error written to the log!
The program can't find the directory client_archives so it returns a serious error or something, I fixed it easily, I literally just created the directory, so here you go. client_archives didn't exist when in v187 so I guess it will appear to everybody updating the .db.
Here's the entire traceback: https://ghostbin.com/paste/ydsv4
85aad4 No.2935
File: 1465671929078.jpg (209.84 KB, 1000x802, 500:401, 870b963497f41ae11a150f5fdd….jpg)
>>2924
What happens if you run database->maintenance->check db integrity?
If that comes back clean, try going to install_dir/db and running sqlite3..exe and type:
.open client.mappings.db
analyze current_mappings_5_tag_id_index;
analyze;
.exit
Does that give you an error? Does it give any more information?
If it is still that index causing the problem, and you feel very brave (and if you make a backup of client.mappings.db first!), you can try running this from the sqlite shell (I think you can copy/paste):
DROP INDEX current_mappings_5_tag_id_index;
CREATE INDEX IF NOT EXISTS current_mappings_5_tag_id_index ON current_mappings_5 ( tag_id );
It may take ten or more minutes to recreate the index.
>>2931
Do you have a repository set up in services->manage services that points to 127.0.0.1 or localhost? Is that repository running? Does that repository, and does your client, have the correct firewall exceptions?
>>2933
Thank you for this. I guess I overwrote the code that generated that folder the first time around–I'll put a better check and recovery in.
85aad4 No.2940
Auto-replace entered siblings isn't remembering that I unchecked it and turns back on every time I open the manage tags dialog.
85aad4 No.2943
I've noticed that running a search like this takes a very long time:
system:inbox
system:number of tags < 4
I can only assume Hyrdus is searching through every item in the database, not just those in the inbox, which seems like a waste. Can this be optimized, somehow? Just "system:inbox" takes just a few seconds, I suppose because of that cache system introduced a few versions ago.
85aad4 No.2947
>>2944
I updated my system and it's working again. Sorry for the false alarm.
85aad4 No.2950
The SWF file I have uploaded at https://a.pomf.cat/nzwcua.swf does not import into Hydrus, citing "1 had unsupported mimes". Not sure what the issue is but thought I'd report it. Thanks!
(8ch also would not attach it - I do suspect it is malformed, but it works fine in browser. Source is Furaffinity.)
85aad4 No.2956
>>2935
the analysis comes up with the same database disk image is malformed… might try recreating the index
85aad4 No.2957
>>2956
trying to create the index just brings up a database disk image is malformed error. welp.
85aad4 No.2960
>>2940
Unfortunately, I don't have a good system to allow dialogs to remember their state, but I'll make a note to add a specific option for that, thank you.
>>2943
When I did the big db reshaping a couple months ago, one casualty was quick num_tags calculation, particularly for 'all known tags'. I have a good idea on how to speed it up (and a number of other predicates that in edge cases can be very slow), but have yet to find the time to implement it, so please bear with me until then.
>>2950
That's an interesting swf! Apparently, swfs can be compressed, and they get a different header if so. I already support FWS, which seems to be uncompressed, and CWS, which is compressed using zlib and DEFLATE, but yours is ZWS, which uses LZMA. I tried adding that header, but unfortunately it looks like this is sufficiently rare that most libraries don't support it.
I had a play with it, but couldn't convert it into something 7z could read. If you are an ActionScript guy, you may have more luck than me with this:
https://helpx.adobe.com/flash-player/kb/exception-thrown-you-decompress-lzma-compressed.html
Otherwise, your best bet is to talk to the author and get them to republish the file in a more normal form. Thanks for submitting it!
>>2956
>>2957
I'm sorry you are still having this problem. It sounds like your db has an odd error somewhere that sqlite can't quite figure out. I'm not sure why it would have occurred–maybe your hard drive had a hiccup on a power cut or something?
If the index can't rebuild, that suggests the master mappings table is also broken.
Again keeping a backup, I suggest you reprocess the service that broken table corresponds to. Please go:
.open client.db
select name from services where service_id=5;
.exit
Then go services->manage services, navigate to the broken service, and hit reset processing cache on dialog ok. This should completely delete all '5' db tables and rebuild them from the source update files. Completely reprocessing will obviously take a long time, but it is the best shot at completely nuking the broken area. Let me know how you get on with it.
85aad4 No.2962
>>2960
well, looks like ill have to completely rebuild the public tag repo then. see you in two years
85aad4 No.2963
>>2962
Actually, before I do that, will it take about as much time as synchronizing a fresh client to the public tag repo? Since the last time I did that it literally took days.
85aad4 No.2964
>>2961 here.
After updating from 191 to 209a, I got a strange error on the first launch. Attempting to do anything, including opening a new page, searching for a tag, and performing shutdown maintenance, resulted in one or more error messages that all said the same thing. I didn't think to copy it exactly at the time, but it was something like
Error: could not create a timer (error code 0: operation completed successfully)
After re-launching the client in order to copy the message, everything worked perfectly. Given that it evidently only took a restart to fix, it's probably nothing worth looking into, but I didn't want to leave anything out.
Also, the update logs contain about a dozen instances of this:
2016/06/08 17:35:35: Uncaught exception:
2016/06/08 17:35:35: AttributeError
'tuple' object has no attribute 'GetLocationsManager'
File "C:\code\Hydrus\include\ClientGUIDialogsManage.py", line 9090, in EventDelete
Despite that, the update seemed to go smoothly. Sorry if it's old news.
85aad4 No.2967
>>2963 here again, something weird happened, one of my subscriptions just completely redownloaded just now for some reason. You think it might be related to the tag index?
85aad4 No.2971
>>2967
Okay, seems like something changed with danbooru that makes all the subscriptions treat all the files as new. Something about the the source URL, I think? One has the ?tags=whatever part at the end and the other doesn't.
85aad4 No.3002
File: 1466367351839.jpg (1.15 MB, 1090x905, 218:181, 0c7d321cf0eb21816f66d12b65….jpg)
>>2962
>>2963
Hey, sorry for the late reply. This is much faster now, particularly in v210 with the new turbo mode. For most machines, I should think a full repo sync probably takes 6-12 hours. If you just leave it to process during normal idle time, you'll be back up in a couple weeks without even noticing.
>>2964
That first error rings a bell, but I can't remember it now. Someone else was having it, and the solution was unusual. Let me know if it comes back!
Thank you for the second one as well–I'll make sure to fix it. I'll probably be removing the <- delete -> buttons on that dialog anyway in my move towards a non-modal manage tags frame.
>>2967
>>2971
Thank you for this report. The subscription engine assumes new urls are new files, so danbooru changing file urls would force a full re-download. Unfortunately, the danbooru and several other booru downloaders are in poor shape at the moment. I hope they'll work better, or at least be easier to fix when they go wrong, in the new downloader engine rewrite.
85aad4 No.3017
Made a github issue because thumbnails stopped working after the latest update. Not sure what triggered this right now in particular but the bug itself has been lying dormant for some time.
https://github.com/hydrusnetwork/hydrus/issues/183
As I said in the github issue, please check the code with a linter. I realize that there is a lot in the code that isn't necessarily a problem but which the linter (correctly) finds objectionable, and that there are some false positives like it failing to find methods on some modules, but in general a linter is a huge help if you're writing code in a duck-typed language like python.
Not using a linter on a project as large as this is just asking for trouble, and trouble has come. This is not the first time this same class of mistake has been made in a release either, but a linter would catch it every time.
Also, I said this more than a year ago on this very board, but please don't do Pokémon exception handling. It means that Hydrus told me that my file system permissions were wrong, when in fact it was just throwing a NameError because the code was invalid. This is misleading and is counterproductive to finding the actual cause of the bug.
I don't know how to convince you of how bad "except:" or "except Exception:" is myself, but it's aI bad idea which numerous accomplished programmers have written articles about.
https://realpython.com/blog/python/the-most-diabolical-python-antipattern/
https://stackoverflow.com/questions/21553327/why-is-except-pass-a-bad-programming-practice
https://stackoverflow.com/questions/10594113/bad-idea-to-catch-all-exceptions-in-python
https://docs.python.org/2/howto/doanddont.html#except → even the official python documentation denounces this. In fact, the error scenario they describe is the exact same as the one which happened here.
http://blog.gauffin.org/2010/11/do-not-catch-that-exception/
Googling something like "why not catch all exceptions" you can find heaps upon heaps of articles about this written from the perspective of many different programming languages.
People don't write those articles/Q&As/etc as jokes or because it makes them look smart, they write them because this is a genuine issue that new programmers run into all the time and often fail to learn from.
(Of course, broad except clauses have their uses - that's why they're not just banned outright in a language like Python. It's just that those usages are much rarer than you think.)
I think it would benefit you to read more programming-related blog posts and such. More famous people like Raymond Chen or Joel on Software, or pretty much anyone so long as they're talking about programming techniques. Doesn't matter if it's for another programming language, doesn't even matter if you don't quite understand what they're talking about. Read things like the Daily WTF, and the comments too. Browse random pages you found while searching for unrelated documentation. Just make yourself a katamari damacy of other good programmers :^) it really works.
I realize I've banged on a bit here, but I feel like it has to be said or nothing will happen.
85aad4 No.3020
File: 1466660977291.png (32.96 KB, 900x821, 900:821, c6b237d02fbf35006afd10a563….png)
Both the thumbnailer and image viewer seem to have a problem with a particular type of image. Specifically, grayscale PNGs with transparency do not display as expected. The alpha is rendered at either 255 or zero, nowhere in between; additionally, depending on how the image was saved, it can be rendered at 255 even in areas where it's actually zero. Pic related is a good example.
I'm no expert on image formats, but I'm guessing that somewhere along the line, the bit depth is being checked, and Hydrus doesn't know what to do with 16bpp (alpha + gray).
85aad4 No.3024
Been getting this on a fresh v210 client and one which was upgraded from v204 to v210, only at the very end of uploading files or petitioning to remove them.
Database Error!
no such table: reasons
Stack Trace (most recent call last):
File "threading.py", line 774, in __bootstrap
File "threading.py", line 801, in __bootstrap_inner
File "include\HydrusThreading.py", line 274, in run
callable( *args, **kwargs )
File "include\ClientGUI.py", line 2079, in _THREADUploadPending
result = self._controller.Read( 'pending', service_key )
File "include\HydrusController.py", line 229, in Read
def Read( self, action, *args, **kwargs ): return self._Read( action, *args, **kwargs )
File "include\HydrusController.py", line 91, in _Read
result = self._db.Read( action, HC.HIGH_PRIORITY, *args, **kwargs )
File "include\HydrusDB.py", line 644, in Read
return job.GetResult()
File "include\HydrusData.py", line 1826, in GetResult
trace_list = traceback.format_stack()
Traceback (most recent call last):
File "include\HydrusDB.py", line 462, in _ProcessJob
if job_type in ( 'read', 'read_write' ): result = self._Read( action, *args, **kwargs )
File "include\ClientDB.py", line 6058, in _Read
elif action == 'pending': result = self._GetPending( *args, **kwargs )
File "include\ClientDB.py", line 4243, in _GetPending
petitioned = [ ( hash_ids, reason ) for ( reason, hash_ids ) in HydrusData.BuildKeyToListDict( self._c.execute( 'SELECT reason, hash_id FROM reasons, file_petitions USING ( reason_id ) WHERE service_id = ? ORDER BY reason_id LIMIT 100;', ( service_id, ) ) ).items() ]
OperationalError: no such table: reasons
85aad4 No.3026
rule34.xxx subscriptions don't grab any namespaced tags
character, series, creator etc.
85aad4 No.3035
File: 1466885123234.jpg (296.91 KB, 850x1193, 850:1193, e8043a2b424f5b1aa7af09067c….jpg)
>>3017
Thank you for this report. I use PyLint, which plugs into WingIDE nicely, and make sure to scan before I put the release together, but it unfortunately did not catch this problem. I updated to PyLint 1.5.6 and then it did, so I suppose that was a bug in PyLint. I've made a note to regularly update it in future.
I appreciate your advice. I feel the code is generally in a much better state than it was a year ago, but I am aware that it and my ability remain imperfect. I hope to improve it further in future while continuing work on the rest of my to-do list.
>>3020
Thank you for this report. My image library sometimes has problems with unusual images, but I will see if I can figure out a fix.
>>3024
Thank you for this report. This is fixed for next week's release. Let me know if you have any more trouble.
>>3026
I presume that when I added that parser, they didn't offer namespaced tags? Perhaps I just missed it. Anyway, thank you for this report–I will update the entry for next week's release.
85aad4 No.3042
If you have a list of images, select one, right click a tag and add a sibling. Now this tag will show in the selection tag list no matter which image in the list you select. Refreshing the page doesn't fix it.
This might happen when you do other things as well because I've been seeing wrong tags on images since I started using Hydrus (20 versions ago). If you go to manage file tags dialog it shows the right tags.
85aad4 No.3054
>>3020
This is now fixed!
>>3042
Thank you for this report. I will make sure to tell the selection tags control to refresh itself when siblings or parents change. For now, it needs a full F5 page refresh to fix.
85aad4 No.3058
>>3054
>>3055
Righteous. Thanks for all your work.
85aad4 No.3069
I hate to say this, but there are more thumbnail problems now, this time for GIFs with transparency.
First, the obvious part: none of them show transparency, because they're JPEGs. If that wasn't intentional, then it can probably be fixed just by switching them to PNGs.
That aside, there's some bizarre artifacting on animated GIF thumbs. Pic related is a particularly egregious example, and I have no clue what's causing it. It's doubly odd considering that the non-transparent areas scale just as nicely as any other image. Switching to PNG thumbs might solve this problem, but that's purely a hopeful guess on my part.
Finally, not a thumbnail problem, but another rendering problem: all animated GIFs with transparency render on top of white, not the media viewer background color. Since some of those images also have thumbs that matte onto white, it can be impossible to tell whether they're transparent without opening them externally.
85aad4 No.3084
File: 1467484342905.png (49.71 KB, 620x1123, 620:1123, two steps forward, one bac….png)
>>3069
Thank you–I messed up my new 'save thumbnail to png' logic and missed transparent gifs. These will all regen on next week's update. Let me know if any others break for you.
I had a closer look at rendering animated transparency, but unfortunately OpenCV, which I use to fetch gif frames, only gives me RGB, and doesn't seem to have a 'give me alpha as well' option. It is mostly used for camera processing (it actually gives me BGR rather than RGB, which I assume is something to do with cameras), and only supports gif by chance, so I don't blame it.
My PIL gif renderer, which you can try by going file->options->media->disable OpenCV for gifs does transparency great for frame 0 (I use it to generate thumbnails) but then falls flat after that. I think its inadequacy is a mixture of PIL's bad palette handling and my own misunderstandings of how to properly detect and recover from that. I've patched several shortfalls, but transparency remains a pain.
I think the transparent gif problem will have to wait for a library updates for now.
85aad4 No.3086
>>3084
After playing around with the source and taking a trip to GIF hell, I see what you mean. It's truly miserable.
Still, having transparency in the thumbnail is a great help, so thanks for the fix.
85aad4 No.3097
I seem to get this error pretty often where an image will fail to import, usually from folders but this time it was during a booru tag download.
Not sure what to make of the note/error though…
85aad4 No.3099
>pyi_rth_twisted returned -1
Happens on startup with v212. Any ideas?
85aad4 No.3101
>>3002
Oh Jesus, I just realized what the Danbooru thing did. It downloads the resized. It doesn't download full images. This means all my danbooru subscriptions are fucked _again_. This is a pretty big problem, too, because it makes the danbooru downloader utterly useless. However, it made ugoiras actually download properly! Because the webm versions of ugoira images are the sample versions. Welp.
85aad4 No.3109
>>3099
Turns out it was because my firewall blocked the program's requests
Here's the crash.log
Traceback (most recent call last):
File "C:\Hydrus Network\client.pyw", line 16, in <module>
from include import HydrusConstants as HC
ImportError: No module named include
85aad4 No.3115
>>3097
If you right-click that and say 'copy notes', it should put it on your clipboard. Can you post it here or email it to me?
>>3099
>>3109
This seems to be happening more often, recently. What brand of firewall/anti-virus are you using, and where did you install hydrus to (e.g. C:\Hydrus Network)?
>>3101
This is a pain. I think one of the other boorus also started doing this, pushing the fullsize image off to a custom link. I think I'll have to prioritise the downloader engine rewrite, as my current parser isn't clever enough to deal with branching 'if this html object exists, pursue it, otherwise fall back to x'). I can't see one, but do you know if danbooru offer a standard 'original image' link anywhere on their pages? They offer 'data-file-url' attribute on a 'section' tag, but again, my parser can't do attrs yet.
85aad4 No.3116
>>3115
I think this is what you're looking for. They seem to have changed the naming scheme for original files and include char/artist/copyright tags in the filename.
How… bizzare.
85aad4 No.3121
>>3115
I'm using Windows 10 Firewall Control
It was installed to M:\Hydrus Network v212
85aad4 No.3122
>>3115
>>3097
That's just it, when I tried to copy it to clipboard it didn't copy anything at all (hence the screenshot). Even stranger is when I attempted to redownload the file, it went through fine.
I just thought it was odd because I know this isn't the first time I've seen that error, but it is the first time I got it via a download, and one that worked on a second try no less.
85aad4 No.3143
There's something a little strange going on with keyboard shortcuts in custom filters on Linux after the last release
More to the point, the second and only the second keyboard input after the image window gains focus gets eaten. This seems to be repeatable whenever the window loses and gains focus again, but may be limited to the default arrow keys bound to [previous/next image]
85aad4 No.3146
>>3097
>>3115
>>3122
Got another Traceback call error, this time importing from a folder.
Traceback (most recent call last):
File "include\ClientImporting.py", line 690, in _WorkOnFiles
( status, hash ) = HydrusGlobals.client_controller.WriteSynchronous( 'import_file', path, import_file_options = self._import_file_options )
File "include\HydrusController.py", line 324, in WriteSynchronous
return self._Write( action, HC.LOW_PRIORITY, True, *args, **kwargs )
File "include\HydrusController.py", line 115, in _Write
result = self._db.Write( action, priority, synchronous, *args, **kwargs )
File "include\HydrusDB.py", line 685, in Write
if synchronous: return job.GetResult()
File "include\HydrusData.py", line 1846, in GetResult
raise HydrusExceptions.DBException( text, caller_traceback, db_traceback )
DBException: (u'image file is truncated (29 bytes not processed)', 'Stack Trace (most recent call last):\r\n\r\n File "threading.py", line 774, in bootstrap\n\r\n File "threading.py", line 801, in bootstrap_inner\n\r\n File "threading.py", line 754, in run\n\r\n File "include\\ClientImporting.py", line 766, in _THREADWork\n self._WorkOnFiles( page_key )\n\r\n File "include\\ClientImporting.py", line 690, in _WorkOnFiles\n ( status, hash ) = HydrusGlobals.client_controller.WriteSynchronous( \'import_file\', path, import_file_options = self._import_file_options )\n\r\n File "include\\HydrusController.py", line 324, in WriteSynchronous\n return self._Write( action, HC.LOW_PRIORITY, True, *args, kwargs )\n\r\n File "include\\HydrusController.py", line 115, in _Write\n result = self._db.Write( action, priority, synchronous, *args, kwargs )\n\r\n File "include\\HydrusDB.py", line 685, in Write\n if synchronous: return job.GetResult()\n\r\n File "include\\HydrusData.py", line 1842, in GetResult\n trace_list = traceback.format_stack()\n', 'Traceback (most recent call last):\n\r\n File "include\\HydrusDB.py", line 463, in _ProcessJob\n elif job_type in ( \'write\' ): result = self._Write( action, *args, kwargs )\n\r\n File "include\\ClientDB.py", line 8463, in _Write\n elif action == \'import_file\': result = self._ImportFile( *args, kwargs )\n\r\n File "include\\ClientDB.py", line 4904, in _ImportFile\n thumbnail = HydrusFileHandling.GenerateThumbnail( dest_path )\n\r\n File "include\\HydrusFileHandling.py", line 73, in GenerateThumbnail\n SaveThumbnailToStream( pil_image, dimensions, f )\n\r\n File "include\\HydrusFileHandling.py", line 52, in SaveThumbnailToStream\n HydrusImageHandling.EfficientlyThumbnailPILImage( pil_image, dimensions )\n\r\n File "include\\HydrusImageHandling.py", line 86, in EfficientlyThumbnailPILImage\n pil_image.thumbnail( ( target_x, target_y ), PILImage.ANTIALIAS )\n\r\n File "site-packages\\PIL\\Image.py", line 1798, in thumbnail\n\r\n File "site-packages\\PIL\\Image.py", line 1538, in resize\n\r\n File "site-packages\\PIL\\ImageFile.py", line 218, in load\n\r\nIOError: image file is truncated (29 bytes not processed)\n')
Atleast this time it managed to copy…
85aad4 No.3147
>>3143
Another one: the edit tag window can only be closed by pressing escape if you made an entry, otherwise escape does nothing.
85aad4 No.3149
Got a small bug when deleting multiple files; the one I right clicked on was a gif, so I think the error is cause it was trying to show playback in the preview window
WindowsError
[Error 32] The process cannot access the file because it is being used by another process: u'C:\\Hydrus Network\\db\\client_files\\d3\\d307f0af5aa891827078bbb44c3679510bf29303d7eb7f9ce2ee33b4b9ae95e8.gif'
Traceback (most recent call last):
File "include\HydrusPaths.py", line 179, in DeletePath
os.remove( path )
WindowsError: [Error 32] The process cannot access the file because it is being used by another process: u'C:\\Hydrus Network\\db\\client_files\\d3\\d307f0af5aa891827078bbb44c3679510bf29303d7eb7f9ce2ee33b4b9ae95e8.gif'
The file deleted fine, despite the error message though
85aad4 No.3151
It apears that Hydrus is unable to import videos that have a negitive start time.
For example I have a file that ffmpeg gives:Duration: 00:03:00.01, start: -0.007000, bitrate: 639 kb/s
Hydrus will fail to import this file and gives a traceroute to line 174 in "include\\HydrusVideoHandling.py"
I believe the error is from this piece of code: if 'start:' in line:
m = re.search( '(start\\: )' + '[0-9]\\.[0-9]*', line )
(I tried to fix it myself, but I didn't realize that editing the python files does nothing.)
In any case, I think changing the regex to include "-?" should fix this bug'(start\\: )' + '-?[0-9]\\.[0-9]*'
85aad4 No.3157
File: 1468350170338.jpg (2.4 MB, 1394x3197, 1394:3197, 864bfdf1a9884cc831006410cf….jpg)
>>3116
Thanks, yeah, unfortunately my parser can only fetch the image url from an img tag with an id attribute or an a tag with a fixed text content (like 'Original Image'). As the size isn't fixed, I can't yet identify that tag.
I hope to write a more flexible parser and gui to run it as I continue to work on the suggested tags control (to better fetch tags from IQDB or other internet sources). When it is done, I should be able to fold it into the existing gallery downloaders.
>>3122
That's odd that you couldn't copy. Can you copy any other information in the program, like thumbnail right-click->share->copy->something?
I expect to write in better error reporting and 'retry failed downloads x times' options to the next rewrite of the downloader engine. Since it went through the second time, I expect the server threw up a 502 or whatever, but my code isn't yet clever enough to just wait a bit and try again.
>>3143
Thank you for this report. I feared something like this would happen for Linux as I had to jimmie some key event handling to get the new manage tags frame to work. I've put it on my to-do. I'll try to figure out a cleverer solution.
>>3146
Can you post that image here, or email it to me?
My image library isn't perfect, so images with broken data don't always go through. The usual fix is to load it in Gimp/Photoshop and then save it again, as those programs can usually heal broken sections enough that they'll import into hydrus ok.
>>3147
Thank you!
>>3149
That's interesting that it deleted ok in the end. Was this deleting from the trash, i.e. a 'permanent' physical delete?
I'll have another look at my full delete code, see if I can get a better defocus event order to fix this bug.
>>3151
Thank you for this report and fix! Can you post the file here, or email it to me, so I can have it in my 'unusual files' folder?
I didn't write this bit of code myself, and my knowledge of this stuff is fuzzy. Do you know what a positive/negative start time actually means? Is it basically an instruction to the media player for audio sync or something? I think hydrus always assumes and renders using a start time of 0, so maybe I don't even need/want to subtract start time from total duration. I have had a persistent problem with some files getting a 1-off frame count–perhaps this is related?
85aad4 No.3160
>>3157
Looking around the internet, it seems the negative start time isn’t all that uncommon. I’ve also notices that all webms encoded using libopus on a recent ffmpeg build (N-80955-g5939878 is the one I tested) have the same “-0.007000” start time. For example, here’s a random one I made for demonstration and relevant ffprobe output:
Metadata:
title : The Planets: Jupiter
encoder : Lavf57.41.100
Duration: 00:07:45.97, start: -0.007000, bitrate: 105 kb/s
Stream #0:0: Video: vp8, yuv420p, 400x400, SAR 1:1 DAR 1:1,
Stream #0:1: Audio: opus, 48000 Hz, stereo, fltp (default)
About the start time thing, I'm not sure what its intentional purpose is, but I’m getting a feeling that it is used for things like audio crossfades and black screens before videos. I believe a media player will attempt to start playing the media at the specified start time, so a duration of 11 and a start time of 1 will probably show up as a runtime of 10 in a media player and a duration 15 and a start time of -5 will probably show up as 20. This time stamp is different to the one used for audio sync; using ffmpegs filter “-itsoffset” can actual change the start to positive. I’ll see if I can post an example in another post.
About the one off errors, the code in that same file calculates the number of frames by multiplying the fps times the duration and rounding up (probably the issue). If it is really critical to get the frame count correct and time isn’t that much of an issue, you could try decoding the video with ffmpeg and getting the frame count that way. Something like ffmpeg -i %file% -f null NUL
you’ll need to change the NUL output to the OS dependent one, but it will get you accurate frame counts on every file, even damaged and truncated ones.
85aad4 No.3161
>>3160
audio/video offset file made using the -itsoffset. Not how its start is positiveMetadata:
title : The Planets: Jupiter
encoder : Lavf57.41.100
Duration: 01:59:59.99, start: 0.014000, bitrate: 6 kb/s
Stream #0:0: Video: vp8, yuv420p, 400x400, SAR 1:1 DAR 1:1
Stream #0:1: Audio: opus, 48000 Hz, stereo, fltp (default)
85aad4 No.3162
>>3157
>Can you copy any other information in the program, like thumbnail right-click->share->copy->something?
Yep, all the time. The other times I've gotten a failed import error it also refuses to copy, but only for that error (that I've seen anyway)
>My image library isn't perfect, so images with broken data don't always go through. The usual fix is to load it in Gimp/Photoshop and then save it again, as those programs can usually heal broken sections enough that they'll import into hydrus ok.
Is there any particular way I should go about it? Png to png probably doesn't matter, but if I'm resaving a jpeg I wouldn't want the quality to be killed…and exporting as png would bloat the file size in the case of larger images.
Anyway, the image in question is here: https://yande.re/post/show/111486
8ch won't upload it, just says
>http: Corrupt JPEG data: premature end of data segment `/tmp/phpKmZb3q' @ warning/jpeg.c/JPEGWarningHandler/352.
about 5 times. Still loads into iqdb fine though. Ironic, huh?
>That's interesting that it deleted ok in the end. Was this deleting from the trash, i.e. a 'permanent' physical delete?
I thought so too. I was actually in an import page and had marked it for the trash, before selecting to permanently delete, so yeah from the trash (i'd presume)
Not a big bug since it went through, but I figured you'd want to know nonetheless
85aad4 No.3163
>>3162
I'd like to point out that the original version of the image is a PNG. However, yande.re created both a sample and a larger JPEG version, for three version of the file in total.
The fact that Hydrus was trying to download the JPEG version instead of the original seems to be the real problem here. The corrupt image is probably a result of the automatic conversion process on yande.re being buggy; if the Hydrus parser grabbed the actual original image instead, that wouldn't be a problem.
85aad4 No.3164
One little annoyance about the local booru - I went with manually forwarding ports on my router, as the upnp mapping only worked most of the time, and Hydrus doesn't quite seem to understand what's going on.
It correctly sees the port being forwarded to the local adress, but still throws an exception because it could not add its upnp mapping on top. So every once in a while I get this:
Exception
Problem while trying to add UPnP mapping:
upnpc : miniupnpc library test client. (c) 2005-2013 Thomas Bernard
Go to http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
for more information.
List of UPNP devices found on the network :
desc: http://192.168.0.1:39080/rootDesc.xml
st: urn:schemas-upnp-org:device:InternetGatewayDevice:1
Found valid IGD : http://192.168.0.1:39080/ctl/IPConn
Local LAN ip address : 192.168.0.10
ExternalIPAddress = x.x.x.x
AddPortMapping(45866, 45866, 192.168.0.10) failed with code -3 (UnknownError)
InternalIP:Port = 192.168.0.10:45866
external x.x.x.x:45866 TCP is redirected to internal 192.168.0.10:45866 (duration=0)
Traceback (most recent call last):
File "/home/xxx/pictures/Hydrus Source/include/HydrusThreading.py", line 218, in run
self._callable( self._controller )
File "/home/xxx/pictures/Hydrus Source/include/ClientDaemons.py", line 407, in DAEMONUPnP
HydrusNATPunch.AddUPnPMapping( local_ip, internal_port, external_port, protocol, description, duration = duration )
File "/home/xxx/pictures/Hydrus Source/include/HydrusNATPunch.py", line 84, in AddUPnPMapping
raise Exception( 'Problem while trying to add UPnP mapping:' + os.linesep * 2 + HydrusData.ToUnicode( output ) )
Exception: Problem while trying to add UPnP mapping:
upnpc : miniupnpc library test client. (c) 2005-2013 Thomas Bernard
Go to http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
for more information.
List of UPNP devices found on the network :
desc: http://192.168.0.1:39080/rootDesc.xml
st: urn:schemas-upnp-org:device:InternetGatewayDevice:1
Found valid IGD : http://192.168.0.1:39080/ctl/IPConn
Local LAN ip address : 192.168.0.10
ExternalIPAddress = x.x.x.x
AddPortMapping(45866, 45866, 192.168.0.10) failed with code -3 (UnknownError)
InternalIP:Port = 192.168.0.10:45866
external x.x.x.x:45866 TCP is redirected to internal 192.168.0.10:45866 (duration=0)
The booru works fine, but it might not be necessary to throw an error at all in this case, considering the ports are already configured correctly.
85aad4 No.3165
After I add som tag siblings, nothing happens even if I refresh the page. I need to close the page and create it again for any changes to show up. Is this intended?
85aad4 No.3173
>>3162
>>3163
Are you sure the png is the original? I pulled it manually with the booru tag parser >>1914 so the problem isn't with hydrus.
I just assumed the png version was a conversion they had done since they didn't call it the "original"
85aad4 No.3176
>>3173
Why in the world would someone save a vector trace as a JPEG, and why would yande.re then create a PNG version of an image that's already artifacted?
It's hard to see with the naked eye, but I checked the difference between the two versions, and the JPEG has artifacts while the PNG does not, indicating that the former was created from the latter and not the other way around.
85aad4 No.3177
>>3157
So, wait, hang on, does that mean the danbooru downloader will be useless for the near future? That… really sucks.
Also, two more things:
1. Let's say I use a regular downloader to download some artist's images form Gelbooru. Now I've got a whole bunch of tagged images. I commit these tags to the public repo.
Now, after a week, I decide to make a subscription for that artist. After the subscription is done running, you get something like you see in image attached. See how it says (1) +1? It's not that big of a problem when you only select one image, but if you select more, and one of them has that problem, you won't notice that one of the images doesn't have that tag. And hydrus will think that both images have that tag. When you doubleclick that tag it'll ask if you want to remove the (1) or the +1, so to speak. So to make sure both images have the tag, you have to first remove the +1, and then add it back again. It's confusing when you're trying to deal with duplicates and images with minor changes (when is THAT getting off the backburner…). If I recall correctly, this is a recent change. Some time ago, it'd only show new tags with the +1.
2. In the subscriptions list, some time ago, when I wanted to find, say, wokada, I'd type in w-o-k, and it'd bring me there. Now, if I do the same thing, It'll just bring me to the first subscription that starts with a K. This is a recent thing too, it seems. That entire menu needs a complete overhaul anyway. When you have about 200 subscriptions running, you start to want stuff like being able to sort subscriptions by site, last grabbed image, last archived grabbed image, amount of failed files, and the feature of not crashing hydrus and losing all your progress when you view too many of them.
Not trying to be rude or ungrateful, but I hope a decent number of people is actually using IPFS in their everyday hydrus usage, considering how much time you put into it.
85aad4 No.3182
>>3177
>So, wait, hang on, does that mean the danbooru downloader will be useless for the near future? That… really sucks.
Yep. What's even worse is how gelbooru and company end up with reposts of danbooru's recompressed crap, so if you have subscriptions to both you'll end up with four copies of the same damn artwork, all subtly different. And make that eight copies if another booru you're subscribed to reposts all those versions and recompresses them again.
I'm thinking it's time to put the new website parser up on the priority list. IIRC hydrus_dev has frozen work on the downloaders until he can start the big rewrite, and the scrapers are starting to get stale enough to really become a hassle.
85aad4 No.3184
>>3182
Sounds like the downloader needs to use the perceptual hash to check for duplicates.
85aad4 No.3195
Just encountered a bug where Hydrus sort of hijacked all the ram in my system.
I picked up a glitched webm that plays but freezes up if you try to skip around, it imports fine though. I opened it in the media viewer and tried to skip but it locked up. I accidentally closed the media viewer window and quickly tried to re-open it but hydrus became non responsive. Massive slow down ensued, popped open taskmanager and saw Hydrus using 5+ GB out of 6 of my ram. Thankfully it force closed, though my system is still running slightly slow.
http://gelbooru.com/index.php?page=post&s=view&id=3209179
Here's the webm if you want to test it or something. Warning though, it's futa.
85aad4 No.3202
I managed to crash Hydrus in a way that probably doesn't affect a lot of people, but I'll mention it anyway. I use 3rd party software(WizMouse) to be able to scroll inactive windows under the cursor, because for whatever reason Windows still doesn't support it natively. So if I in media viewer first right click and then scroll to the next picture and close the right click menu, Hydrus will crash.
Also a bug that I think started to happen with 214. All videos freeze for half a second twice at the end. First a few frames before the last frame and then on the last frame. If exported, the frames after the first freeze are missing.
85aad4 No.3203
>>3202
Scratch the second one. I think it might be just on my end. Seems to now happen on every video I have, weird.
85aad4 No.3246
ubuntu 16.04 tried to start the client got this:
2016/07/23 21:49:25: hydrus client started
2016/07/23 21:49:25: booting controller…
(client:21681): Gtk-WARNING **: GModule (/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so) initialization check failed: GLib version too old (micro mismatch)
(client:21681): Gtk-WARNING **: Loading IM context type 'ibus' failed
2016/07/23 21:49:25: booting db…
2016/07/23 21:49:25: preparing disk cache
2016/07/23 21:49:25: preparing db caches
2016/07/23 21:49:25: booting gui…
(client:21681): Gtk-WARNING **: GModule (/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so) initialization check failed: GLib version too old (micro mismatch)
(client:21681): Gtk-WARNING **: Loading IM context type 'ibus' failed
(client:21681): Gtk-WARNING **: GModule (/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so) initialization check failed: GLib version too old (micro mismatch)
(client:21681): Gtk-WARNING **: Loading IM context type 'ibus' failed
(client:21681): Gtk-WARNING **: GModule (/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so) initialization check failed: GLib version too old (micro mismatch)
(client:21681): Gtk-WARNING **: Loading IM context type 'ibus' failed
(client:21681): Gtk-WARNING **: GModule (/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so) initialization check failed: GLib version too old (micro mismatch)
(client:21681): Gtk-WARNING **: Loading IM context type 'ibus' failed
(client:21681): Gtk-WARNING **: GModule (/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so) initialization check failed: GLib version too old (micro mismatch)
(client:21681): Gtk-WARNING **: Loading IM context type 'ibus' failed
Нарушение на разделянето(segfault) (паметта е разтоварена)
85aad4 No.3260
File: 1469397811732.jpg (1.48 MB, 2510x1559, 2510:1559, 4de1b7bab26c3189654cf8b3e5….jpg)
Sorry about the late replies here. I'm still catching up on things.
>>3160
>>3161
Thank you for this information. I'll think about doing -f null NUL to fetch more accurate frame count and duration–at the moment, when this happens my renderer just delivers the last frame twice, so while I'd like to fix it, I don't want to burn CPU when most users won't even notice. Nice to know there is a fix.
When I see how massively complicated and specific all this stuff gets, I become more and more impressed with ffmpeg being able to handle so much.
>>3162
I find jpeg quality 90 is a decent rule. On closer inspection, these broken jpegs often have a grey block/line somewhere, so you don't actually want to keep them because of the missing region. That one has a single blank line at the bottom of the jpeg that the png doesn't have. Why the yande.re resizer would produce that truncation I can't imagine.
>>3163
>>3173
>>3176
When I overhaul the downloader engine, which should happen after I'm done with suggested tags and faster duplicate search, bad download rules like this should be easily fixable.
>>3164
Some upnp devices sometimes just don't work with upnpc (mine included), I'm not sure why. I don't change anything on my end, but I randomly get 'no igd on network' type stuff.
The client checks for existing mappings in the list reported by the upnp device and only adds if what it wants is missing, but I guess the port forward isn't listed there? So it tries and gets that error.
I'll catch it and report a better error, thanks. I don't want to silence it completely, as the client will keep spamming the upnp device otherwise.
If the manual port forward is working ok for you, you can turn off the attempt to make the upnp mapping under services->manage services->local->booru.
>>3165
It isn't intended, but some controls don't have hooks on the 'new siblings' event. I improved this in v214, so the selection tags box should update immediately, I'm not sure if you were getting this in v213 or whether this persists. If you still get this, can you give me a specific example of how to recreate it?
>>3177
The (1) (+1) is a bug that is fixed in v216. I think it is database-harmless for now, as pended tags will just fold into the existing current tags once commited. Please forgive the current graphical mess.
Yeah, I'd like to give the subs manager dialog a big overhaul. Being able to mass-edit them all would be great. I expect a big improvement to be folding multiple queries into each sub, so you'll be able to set up ten or twenty artists on the same gallery with the same check period and tags and so on. This will all be easier when the downloader engine overhaul is done.
>>3182
I think I am going to do it as soon as fast dupe search is done, which will be after suggested tags control. I've already got a nice better html parser mostly done for fetching tags for suggested tags control (from iqdb or wherever), which I'll be able to fold into it.
Next time I do a 'big things to work on next' poll, I'll only take the top suggestion. Choosing the top three has taken too long.
>>3184
I'd love to do something like this when I have some good duplicate comparison-and-action ui and db stuff set up.
>>3195
Thanks for this example. As it happens, I've improved the renderer this week, including halting all background rendering as soon as the media window closes, so this sort of problem shouldn't be so bad in future.
I'll look into the webm and see why so much memory is being used.
>>3202
Thank you for this report. This menu-scroll crash is something in wx, my graphical library. It can't destroy/create windows while a menu is open. I had to specifically write a 'is menu open' check and veto on slideshow actions because of it. I'll add a check for normal scrolling actions as well. Let me know if you get anything else like this!
I've done some work on the video rendering pipeline this week. Hopefully the slowdown at the end of files should be less bad, and general rendering hitches should be reduced. Unfortunately, I don't have access to a hardware accelerated screen in wx and I'm getting rendered frames through a very ugly bridge, so there's a limit to how many literal pixels I can spam to the screen per second, but 30fps@720p seems to be doable in current code for my i5-6400.
>>3246
Thank you for this report. Does it crash at that point?
I'm no expert on Linux, but I'm on Ubuntu 14.04, so I presume the libraries I build it with are out of date for 16.04.
Do you think it would it be a good idea for me to update to 16.04? Or 15.04? I'm guessing that has a decent chance of breaking my build for anyone still on 14.04. Is anyone still using 14.04?
85aad4 No.3271
>>3260
well i think that 16.04 is better for me but i dont know what will break on your computer.And yes it crashed
85aad4 No.3275
>>3260
Just had a search in Linux using ((and) three different namespaces) produce this error after counting off the ~7000 files that fit the criteria:
Traceback (most recent call last):
File "/home/xxx/pictures/Hydrus Source/include/ClientGUIManagement.py", line 2839, in ShowQuery
panel.Sort( self._page_key, self._sort_by.GetChoice() )
File "/home/xxx/pictures/Hydrus Source/include/ClientGUIMedia.py", line 2920, in Sort
MediaPanel.Sort( self, page_key, sort_by )
File "/home/xxx/pictures/Hydrus Source/include/ClientGUIMedia.py", line 1279, in Sort
if page_key == self._page_key: ClientMedia.ListeningMediaList.Sort( self, sort_by )
File "/home/xxx/pictures/Hydrus Source/include/ClientMedia.py", line 783, in Sort
self._sorted_media.sort( sort_function )
File "/home/xxx/pictures/Hydrus Source/include/ClientMedia.py", line 1558, in sort
self._sorted_list.sort( key = f )
File "/home/xxx/pictures/Hydrus Source/include/ClientMedia.py", line 758, in <lambda>
sort_function = lambda x: namespace_sort_function( sort_by_data, x )
File "/home/xxx/pictures/Hydrus Source/include/ClientMedia.py", line 755, in namespace_sort_function
return [ x_tags_manager.GetComparableNamespaceSlice( ( namespace, ), collapse_siblings = True ) for namespace in namespaces ]
File "/home/xxx/pictures/Hydrus Source/include/ClientMedia.py", line 1627, in GetComparableNamespaceSlice
tags = [ tag.split( ':', 1 )[1] for tag in tags ]
IndexError: list index out of range
No files show up as a result, and it seems like the sorting choice is to blame, at least in part. If I switch away from series-creator-title-volume-chapter-page to something less complex like newest-first or size, the search goes through fine
With the more complex sorting rule I can also limit the search to ten files and no error shows up, but anything past fifty will not get results.
What likely will make this a pain to debug is that not all search combinations of namespaced tags produce the error either, even using the series-creator-etc. rule, in fact this is the only one I found that would result in a range error
85aad4 No.3276
>>3275
Not sure why I quoted there, my bad
85aad4 No.3277
>>3276
Now I remember, that was supposed to be a two-part post so as not to spam the thread. Oi
>>3260
>The client checks for existing mappings in the list reported by the upnp device and only adds if what it wants is missing, but I guess the port forward isn't listed there?
Strangely enough, the forward is showing up fine in the hydrus internal local upnp list, but it keeps trying still. Thanks for the pointer towards disabling the behaviour, though!
Was that added recently? I could have sworn I checked for a setting like this already
85aad4 No.3292
File: 1469558830578.jpg (128.09 KB, 700x855, 140:171, e09e9f055dac3d91aa9a45c4c2….jpg)
>>3271
I'll give it a go next week, for v217. Please let me know how you get on with it!
>>3275
Thank you for this report. Both sorting and collecting were applying their filters before any siblings were collapsed, so they were filtering incorrectly whenever a sibling pair changed namespace (like character:argonia->species:argonian). In your case I think you have a sibling that goes from a namespace to unnamespaced, so the bit that breaks up the tag based on the colon character was not finding one and throwing an exception. I think I have fixed it for tomorrow's release, but let me know if you have any more trouble.
>>3277
I think the upnp option has been in since I added the service, but I can't remember.
That's odd that it shows in the mappings llist–my own do as well, so I figured yours were not. I will check that code again, as I thought it was detecting that properly.
85aad4 No.3307
Think I've encountered some sort of bug with system:limit. I've had it set to 500, but I upped it to 800 since I was doing a big import and wasn't sure how that would be effected. Now no matter what I set it to, it only loads 300 images for any search.
85aad4 No.3313
got this error when uploading some years old files, multiple subfolders, possible duplicate images in the subfolders.
UnicodeEncodeError
'ascii' codec can't encode characters in position 112-137: ordinal not in range(128)
Traceback (most recent call last):
File "include\HydrusThreading.py", line 274, in run
callable( *args, **kwargs )
File "include\ClientGUIDialogs.py", line 2094, in THREADParseImportablePaths
mime = HydrusFileHandling.GetMime( path )
File "include\HydrusFileHandling.py", line 211, in GetMime
if HydrusVideoHandling.HasVideoStream( path ):
File "include\HydrusVideoHandling.py", line 93, in HasVideoStream
info = Hydrusffmpeg_parse_infos( path )
File "include\HydrusVideoHandling.py", line 129, in Hydrusffmpeg_parse_infos
proc = subprocess.Popen( cmd, bufsize=10**5, stdout=subprocess.PIPE, stderr=subprocess.PIPE, startupinfo = HydrusData.GetSubprocessStartupInfo() )
File "subprocess.py", line 710, in __init__
File "subprocess.py", line 958, in _execute_child
UnicodeEncodeError: 'ascii' codec can't encode characters in position 112-137: ordinal not in range(128)
85aad4 No.3318
Cache error! Lokking for "2\xa5j\…."way too long
while running the gallery downloader + active subscription
Exception
Cache error! Looking for "2\xa5j\xfd\xef\xe1\x86\xc8O\x07@\xfdA@\xea=\x8dr\xd8'at\xf9k\x14J\xd9\x82X\xec@\xb7", but it was missing.
File "include\ClientGUIMedia.py", line 2165, in EventPaint
self._DrawCanvasPage( page_index, bmp )
File "include\ClientGUIMedia.py", line 1442, in _DrawCanvasPage
dc.DrawBitmap( thumbnail.GetBmp(), x, y )
File "include\ClientGUIMedia.py", line 3068, in GetBmp
thumbnail_hydrus_bmp = HydrusGlobals.client_controller.GetCache( 'thumbnail' ).GetThumbnail( self )
File "include\ClientCaches.py", line 1717, in GetThumbnail
return self._data_cache.GetData( hash )
File "include\ClientCaches.py", line 1111, in GetData
raise Exception( 'Cache error! Looking for ' + HydrusData.ToUnicode( key ) + ', but it was missing.' )
85aad4 No.3320
Pinning on IPFS 4.3 is broken.
ValueError
Extra data: line 2 column 1 - line 3 column 1 (char 91 - 223)
Traceback (most recent call last):
File "include\HydrusThreading.py", line 283, in run
callable( *args, **kwargs )
File "include\ClientGUI.py", line 2187, in _THREADUploadPending
service.PinFile( hash, mime )
File "include\ClientData.py", line 2230, in PinFile
j = response.json()
File "site-packages\requests\models.py", line 800, in json
File "json\__init__.py", line 339, in loads
File "json\decoder.py", line 367, in decode
ValueError: Extra data: line 2 column 1 - line 3 column 1 (char 91 - 223)
85aad4 No.3321
Cant unpin files that were unpinned outside of hydrus.
NetworkException
{"Message":"not pinned","Code":0}
Traceback (most recent call last):
File "include\HydrusThreading.py", line 283, in run
callable( *args, **kwargs )
File "include\ClientGUI.py", line 2193, in _THREADUploadPending
service.UnpinFile( hash, multihash )
File "include\ClientData.py", line 2262, in UnpinFile
ClientNetworking.RequestsGet( url )
File "include\ClientNetworking.py", line 117, in RequestsGet
RequestsCheckResponse( response )
File "include\ClientNetworking.py", line 177, in RequestsCheckResponse
raise eclass( error_text )
NetworkException: {"Message":"not pinned","Code":0}
85aad4 No.3327
File: 1469812344083.jpg (344.75 KB, 1280x709, 1280:709, f2efebd5b70b1a0837f72d3817….jpg)
>>3307
I'm afraid I can't reproduce this.
Did you set a forced system limit of 300 in options->speed and memory? That's all I can think of that might cause this.
>>3313
Thank you for this report. I have a good idea what's going on here, but can't reproduce it. Did any of these files have unicode characters (unusual chars like フ ブ ネ) in their full path? Or is your client installed to a path with unicode?
>>3318
Thank you for this report. I will see if I can fix it this week.
>>3320
>>3321
Thank you for this report. I will look into it this week.
85aad4 No.3359
>>2876
It's me again. I put off resetting processing cache until now for personal reasons, but now that I tried… it gives me the database image malformed error. The same thing. Welp.
85aad4 No.3364
File: 1470165743913.jpg (566.62 KB, 1431x1878, 477:626, 41c4ac55c44e6707f7018fd500….jpg)
>>3164
>>3277
>>3292
I had a look at this, and I think it could happen if the upnp internal ip is different to what your computer thinks its local ip is. In the manage upnp dialog in the hydrus client, are your port forwards listed as something like 'my-computer' or '196.168.0.110'? Or does it have any ipv6 addresses, like 'fe80:0:0:0:200:f8ff:fe21:67cf'? Do you think there could be any reason why your computer might report a different IP to what your router thinks its IP is (e.g. you are on two different networks and my get_local_ip call is accidentally querying your bluetooth network or something)?
>>3320
>>3321
I had a look at these, and while I added a catch for the 'not pinned' exception, that first error looks like a problem with IPFS not delivering proper json. I tried updating to 0.4.3 to test it, but the migration from 0.4.2 failed–I noticed it is rc1, so maybe it just isn't ready for prime time yet? 0.4.2 seems to work ok still.
>>3359
Since a complete reprocess didn't seem to work, I don't think the problem was a random blip in a single hard drive write. I suspect there is some problem between the way sqlite wants to talk to your hard drive and what your hard drive is willing to do. These sorts of consistent 'malformed' errors can come up if you try to run a db over a network, for instance, because the network connection can't provide exclusive access and proper write syncs and so on. Another user had similar problems when their hard drive was set to 'dirty' by Windows. It could also mean that your hard drive has a hardware fault that chkdsk can't pick up for whatever reason. What sort of max read/write speed do you get on the drive? If it ever drops to 200KB/s or something for any length of time, that can be a good indicator of this stuff.
My suggestion is to copy your client to another computer, if you have one, and try to fix the client again. Maybe a clone will do it. Or, if it is complaining about the same type of index as before, try to recreate it with my previous DROP/CREATE SQL, or if it is a new one, let me know the name and I'll try to come up with some SQL to regenerate it. If it is a more integral table, then you may have to reprocess all over again. If the fixed client works ok on the new machine, I think that means your original hard drive has a serious fault somewhere and you should make sure you back everything up on it and plan to replace it asap and so on.
If the error comes up again on another machine, the problem is more likely to be in software.
Post last edited at
85aad4 No.3376
>>3364
>>3364
Would putting hydrus on an external hdd work as well? I back hydrus up to an external, so I just updated my backup and tried running hydrus from there. Same thing. Still showing image malformed errors in the public tag repo. And I still don't even know if this has any actual effect.
85aad4 No.3388
the guy with ubuntu 16.04 here again.This time:
$ ./client
Traceback (most recent call last):
File "<string>", line 11, in <module>
File "/usr/local/lib/python2.7/dist-packages/PyInstaller-2.1.1dev_-py2.7.egg/PyInstaller/loader/pyi_importers.py", line 276, in load_module
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/pkg_resources", line 69, in <module>
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/pkg_resources.extern", line 60, in load_module
ImportError: The 'packaging.version' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution.
85aad4 No.3392
>>3364
Looks like my upnp quirk was user error after all.
While the entry was standard ipv4:port and I have no other networks like bluetooth or wireless on here, I think I may have misread the port on that upnp entry.
It's possible that entry was a very old one from a time before I switched to a different port on the same IP, think +/-1.
After removing said entry and my manual forwards I had Hydrus try to set up forwarding by itself again, and it worked fine
85aad4 No.3414
I’ve been trying to update the Derpibooru settings for the Hydrus downloader since I noticed that it does not correctly get the tags for images. I have run into a few stumbling blocks, however, which has resulted in me trying every different combination of options I can and ending up with an error each time. I’m not sure where I’m going wrong to get the error I am, but hopefully it can be resolved.
This bug report is actually both a bug report and a minor feature request in order to get Derpibooru fully supported.
Here’s the steps I took:
Starting off we’re using the Derpibooru .yaml file that Hydrus Admin posted back in May of 2016 here: https://8ch.net/hydrus/res/2231.html#2724
```Step 1: Changed the URL to be the actual search URL for Derpibooru as the tags URL is only for one tag or initial page searching.``` (I know that for a one tag search, and the initial page of a search the url is different, but Derpibooru will use the below url for the second page, and it works for single tag/initial page searching as well)
https://derpibooru.org/search/index?page=%index%&q=%tags%
```Step 2: Tried to change the search tag separator to the one Derpibooru uses – FAILED```
Derpibooru uses a , (comma) character to separate search tags. Since Hydrus only has a drop down with limited choices I attempted to manually input the comma character into the .yaml file and import it.
Modify the. yaml _search_separator line to be: ,
Modify the .yaml _search_separator line to be %2C (which seems to be the character code the Derpibooru uses in its search URL)
Both attempts produced the error:
Traceback (most recent call last):
File "include\ClientGUIDialogsManage.py", line 550, in Import
thing = yaml.safe_load( file )
File "yaml\__init__.py", line 93, in safe_load
File "yaml\__init__.py", line 71, in load
File "yaml\constructor.py", line 37, in get_single_data
File "yaml\composer.py", line 36, in get_single_node
File "yaml\composer.py", line 55, in compose_document
File "yaml\composer.py", line 84, in compose_node
File "yaml\composer.py", line 133, in compose_mapping_node
File "yaml\composer.py", line 64, in compose_node
File "yaml\parser.py", line 98, in check_event
File "yaml\parser.py", line 449, in parse_block_mapping_value
File "yaml\scanner.py", line 116, in check_token
File "yaml\scanner.py", line 257, in fetch_more_tokens
ScannerError: while scanning for the next token
found character '%' that cannot start any token
in "<string>", line 6, column 20:
_search_separator: %2C
^
But that is to be expected when attempting to force Hydrus to recognize a character it’s not expecting. Thus, Derpibooru support is limited to one tag searches until Hydrus receives an update. If Hydrus could allow for either the , (comma) or inputting of a custom search tag separator character we could get multi tag searching working.
That’s the feature request, now onto the bug report:
```Step 3: Since step 2 was a bust I moved onto trying to get at least one tag searching parsing/working correctly. To do that we need to add the correct tags for Hydrus to scrape/parse the information.```
From an updated Tag Parser Script’s code (available here: https://8ch.net/hydrus/res/1914.html#q3235) we know that there 4 tag classes that are important for Hydrus to know (the last 4 are specific to a user’s login session):
Tag (which is the generic tags, Hydrus can get this data no problem)
tag-ns-artist (which needs to convert the data to be creator:[tag] instead of artist:[tag])
tag-ns-oc (the tag for an original character, needs to convert the data to be character:[tag] instead of oc:[tag] )
tag-system (the rating of the image such a safe or explicit, needs to parse as rating:[tag]
The last three are tags that Hydrus both does not get just using the tag line and throws an error if you try to add them. I have tried just about every combination I can think of to get Hydrus to properly parse those last three tag classes (as other Booru’s have similar looking classes and work fine) but I always get an error at the importing stage of a gallery download.
85aad4 No.3415
>>3414
Continued from the first post
Step 4: Once you save that and attempt to run a gallery download, it will correctly grab the links for the one tag search you perform, but once it attempts to import the tags it throws an error.
For testing purposes, ‘get tags even if file is already in db’ is checked off and all options under import options – tags → local tags are checked off.
The error is:
cannot concatenate 'str' and 'NoneType' objects… (Copy note to see full error)
Traceback (most recent call last):
File "include\ClientImporting.py", line 208, in _WorkOnFiles
tags = gallery.GetFileAndTags( temp_path, url, report_hooks = [ self._file_download_hook ] )
File "include\ClientDownloading.py", line 1000, in GetFileAndTags
( file_url, tags ) = self._GetFileURLAndTags( url, report_hooks = report_hooks )
File "include\ClientDownloading.py", line 988, in _GetFileURLAndTags
return self._ParseImagePage( html, url )
File "include\ClientDownloading.py", line 975, in _ParseImagePage
else: tags.append( namespace + ':' + link.string )
TypeError: cannot concatenate 'str' and 'NoneType' objects
I am at a loss for why it’s throwing that error or how to resolve it. It looks like it’s unable to properly either find or add the tag classes above, or get stuck in the conversion process.
You can reproduce this bug by the following:
Download my current attempt at an updated .yaml from: http://s000.tinyupload.com/index.php?file_id=04535577895490049274 (which currently only has the artist class for testing)
If you don’t want to download, you can get the code I’m using here: http://pastebin.com/KpAbkSH8
Run a gallery download for the tag artist:johnyho (an artist with only 22 safe/sfw images for testing purposes)
Upon importing the images it downloads, it will fail and give that error message in the log for the gallery downloader.
If you remove tag-ns-artist from the tag section under manage boorus and just have ‘tag :’ it will import images without error and grab the basic (green colored on Derpi) tags but fail to include the other necessary tags.
Some informational URLs and information:
The image download text in the .yaml is set to ‘DLS’ to grab the short download link rather than the one with full tags, one could easily change this to ‘Download’ and it would be the same thing.
The link Hydrus should be parsing is: https://derpibooru.org/search/index?page=1&q=artist%3Ajohnyho
A two tag search link would look like: https://derpibooru.org/search/index?page=1&q=artist%3Ajohnyho%2Csafe
A two tag search link that has spaces in the tag name looks like:
https://derpibooru.org/search/index?page=1&q=rainbow+dash%2Ctwilight+sparkle
A safe/sfw image link that has the tag classes:
https://derpibooru.org/1218431
85aad4 No.3421
85aad4 No.3429
>>3376
Yeah, that's probably a good test. Unfortunately, unless there is a problem with your OS in general in how it accesses its hard drives, it looks like your db itself has the problem. This is good news in that your hard drive probably isn't broken, but also bad because we still don't know what's doing it.
I now recommend you open sqlite3.exe and try running the call that is failing. If you are still getting analyze fails then it would be:
.open client.mappings.db
ANALYZE [name of mappings index];
.exit
If the call that fails in the client works in sqlite3.exe, then there is a problem in software, like something to do with how the sqlite dll is being loaded by the client. If sqlite3 also fails on the exact same call, then your db has a flaw. And since reprocessing (i.e.deleteing and completely recreating the affected tables) didn't fix it, it is likely the problem is in a more critical place, like the master table that describes all the other tables.
It may be that trying to fix the current db is just too difficult to do, so I think we might be looking at creating a fresh db and trying to export/import everything.
>>3392
Great, I'm glad we got it sorted out.
>>3414
>>3415
Thank you for this comprehensive report.
I have decided to not spend any more significant time on adding or writing patches for specific sites, and rather I will completely overhaul the downloader engine once I am done with suggested tags and faster dupe search. I plan for the new system to be massively more flexible and user-editable, and I think every one of the issues you found with the derpibooru booru should be fixable in it.
The str/Nonetype concatenation problem is a good example of what's creaky about the current system–the way it gets a tag is it looks for html tags with the class 'tag-ns-artist', and then tries to get the child string of that tag. This original prototype works great on simple stuff. Most boorus do it like:
<a class='tag-type-artist'>
artistname
</a>
Sometimes there's a (+) or something, and if I remember right, there are some hardcoded patches for some of these to get around them. Unfortunately, here's what derpibooru gives:
<span class="dropdown tag tag-ns-artist" data-tag-id="208808" data-tag-name="artist:red4567" data-tag-name-in-namespace="red4567" data-tag-namespace="artist" data-tag-short-description="" data-tag-slug="artist-colon-red4567">
<a href="/tags/artist-colon-red4567">
artist:red4567
</a>
(157)
<span>
<a>
<span class="tag-span-unwatched">
+
</span>
<span class="tag-span-watched">
-
</span>
<span class="tag-span-spoilered" title="Spoilered">
S
</span>
<span class="tag-span-hidden" title="Hidden">
H
</span>
</a>
</span>
</span>
When my current parser tries to get the text from the parent "span" that matches the classname, it doesn't find anything so simple (it has an "a" child, a " (157)" bit of text, and a "span" child) and so it returns None. The only way to parse the bit we want from that is to have a more flexible html parser that can pick nth children of matching tags and so on, which I have mostly already written and hope to roll out first for the suggested tags control IQDB service. It'll have better gui to go with it, and I'd like to have testing with live html in that gui as well. There's unfortunately a lot more work to do as well, mostly behind the scenes data stuff.
So, please hang on a bit longer. I'd like to roll out the ability for you to fix and maintain and better share the derpibooru downloader yourself, so please keep a record of these problems you found. Your feedback on the gui and where the new system fails would also be very helpful.
85aad4 No.3433
Error when starting up client:
2016/08/07 13:44:16: A serious error occured while trying to start the program. Its traceback will be shown next. It should have also been written to client.log.
2016/08/07 13:44:16: Traceback (most recent call last):
2016/08/07 13:44:16: File "include\ClientController.py", line 1050, in THREADBootEverything
2016/08/07 13:44:16: self.InitModel()
2016/08/07 13:44:16: File "include\ClientController.py", line 498, in InitModel
2016/08/07 13:44:16: HydrusController.HydrusController.InitModel( self )
2016/08/07 13:44:16: File "include\HydrusController.py", line 184, in InitModel
2016/08/07 13:44:16: self._db = self._InitDB()
2016/08/07 13:44:16: File "include\ClientController.py", line 60, in _InitDB
2016/08/07 13:44:16: return ClientDB.DB( self, HC.DB_DIR, 'client', no_wal = self._no_wal )
2016/08/07 13:44:16: File "include\HydrusDB.py", line 199, in init
2016/08/07 13:44:16: self._InitDB()
2016/08/07 13:44:16: File "include\HydrusDB.py", line 337, in _InitDB
2016/08/07 13:44:16: self._InitDBCursor()
2016/08/07 13:44:16: File "include\HydrusDB.py", line 372, in _InitDBCursor
2016/08/07 13:44:16: self._AttachExternalDatabases()
2016/08/07 13:44:16: File "include\HydrusDB.py", line 284, in _AttachExternalDatabases
2016/08/07 13:44:16: self._c.execute( 'ATTACH ? AS ' + name + ';', ( db_path, ) )
2016/08/07 13:44:16: OperationalError: disk I/O error
2016/08/07 13:45:38: shutting down controller…
2016/08/07 13:45:38: hydrus client shut down
85aad4 No.3437
>>3429
Thanks for replying, I'm linking everything I'm hearing about the new downloading system and can't wait to give it a go.
More flexibility is just what I'd need to get Derpibooru working.
" I'd like to roll out the ability for you to fix and maintain and better share the derpibooru downloader yourself"
I'm especially excited to see what comes from this sharing feature. Maybe something like the PTR where users can submit their configs to a server? Maybe with the option for users to either report a non-working configs or some kind of voting system?
85aad4 No.3446
>>3421
oh it is working thanks
85aad4 No.3448
tried to import >>2651 by replacing db folder got this :2016/08/09 21:34:09: A serious error occured while trying to start the program. Its traceback will be shown next. It should have also been written to client.log.
2016/08/09 21:34:09: Traceback (most recent call last):
2016/08/09 21:34:09: File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientController", line 1053, in THREADBootEverything
2016/08/09 21:34:09: File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientController", line 501, in InitModel
2016/08/09 21:34:09: File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusController", line 201, in InitModel
2016/08/09 21:34:09: File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientController", line 60, in _InitDB
2016/08/09 21:34:09: File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusDB", line 240, in init
2016/08/09 21:34:09: Exception: Updating the client db to version 216 caused this error:
Traceback (most recent call last):
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusDB", line 221, in init
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientDB", line 8020, in _UpdateDB
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/shutil", line 292, in move
Error: <unprintable Error object>
85aad4 No.3473
File: 1471041117091.jpg (1.35 MB, 1381x1757, 1381:1757, 075d476a36e642c8d6c53be1be….jpg)
>>3433
This could be a serious error. Is this a new client, or an existing one with lots of files and tags? Have you ever run hydrus on this hard drive before? Has this hard drive had hardware or driver problems before^ Is this hard drive plugged into your computer, or is it on a network samba share or something?
If you go to install_dir/db, what client.*.db files are there? How large are they, roughly?
>>3437
The new gallery downloaders will export to json, and I've got a plan to create a neat png wrapper so they'll be sharable on imageboards and wherever else. Something like a black rectangle with some custom 'this is my derpibooru v1.2' text on top, and then a slim bit of json static beneath that the client will be able to unwrap and decode.
>>3448
Was the client installation ever ran before you copied the bare ptr db in, maybe by using the 'restore db backup' command? I've had a couple reports similar to this recently when users ran v216 and then copied a <v216 db on top. <v216 has fewer files than >=v216, so a straight copy doesn't fully overwrite, causing conflicts.
If this is so for you, try clearing out the db dir completely and then copying the bare ptr db in manually and trying again.
85aad4 No.3486
>>3473
I was able to fix the problem with a chkdsk. There was an error on the .db file. Everything seems to be working properly now.
85aad4 No.3521
after updating to 219, getting this when when selecting a collection - seems innocuous, perhaps a little more slowdown than usual.
KeyError
0
File "site-packages\wx-3.0-msw\wx\_core.py", line 16766, in <lambda>
File "include\HydrusController.py", line 242, in ProcessPubSub
try: self._pubsub.Process()
File "include\HydrusPubSub.py", line 127, in Process
callable( *args, **kwargs )
File "include\ClientGUICanvas.py", line 1898, in FocusChanged
if page_key == self._page_key: self.SetMedia( media )
File "include\ClientGUICanvas.py", line 1460, in SetMedia
elif self._GetShowAction( media ) == CC.MEDIA_VIEWER_DO_NOT_SHOW:
File "include\ClientGUICanvas.py", line 1014, in _GetShowAction
return self._new_options.GetPreviewShowAction( mime )
File "include\ClientData.py", line 812, in GetPreviewShowAction
( media_show_action, preview_show_action, zoom_in_to_fit, exact_zooms_only, zoom_in_quality, zoom_out_quality ) = self._dictionary[ 'media_view' ][ mime ]
85aad4 No.3524
When trying to download http://i.4cdn.org/a/1471552203830.webm I get this:
MimeException: Filetype is not permitted!… (Copy note to see full error)
Traceback (most recent call last):
File "/hydrus/include/ClientImporting.py", line 2626, in _WorkOnFiles
( status, hash ) = HydrusGlobals.client_controller.WriteSynchronous( 'import_file', temp_path, import_file_options = self._import_file_options, url = file_url )
File "/hydrus/include/HydrusController.py", line 341, in WriteSynchronous
return self._Write( action, HC.LOW_PRIORITY, True, *args, **kwargs )
File "/hydrus/include/HydrusController.py", line 139, in _Write
result = self._db.Write( action, priority, synchronous, *args, **kwargs )
File "/hydrus/include/HydrusDB.py", line 685, in Write
if synchronous: return job.GetResult()
File "/hydrus/include/HydrusData.py", line 1844, in GetResult
raise self._result
DBException: MimeException: Filetype is not permitted!
Database Traceback (most recent call last):
File "/hydrus/include/HydrusDB.py", line 463, in _ProcessJob
elif job_type in ( 'write' ): result = self._Write( action, *args, **kwargs )
File "/hydrus/include/ClientDB.py", line 8727, in _Write
elif action == 'import_file': result = self._ImportFile( *args, **kwargs )
File "/hydrus/include/ClientDB.py", line 5011, in _ImportFile
( size, mime, width, height, duration, num_frames, num_words ) = HydrusFileHandling.GetFileInfo( dest_path )
File "/hydrus/include/HydrusFileHandling.py", line 155, in GetFileInfo
if mime not in HC.ALLOWED_MIMES: raise HydrusExceptions.MimeException( 'Filetype is not permitted!' )
MimeException: Filetype is not permitted!
85aad4 No.3545
>>3521
Thank you for this report. I am sorry for the inconvenience–it was something stupid that I missed. I have fixed it for v220. Please let me know if it gives you any more trouble.
>>3524
Thank you for this report and file. When FFMPEG parses that webm, it reads a video start time of 957499.731s, which is about 11 days after the file begins! My ffmpeg output parser assumes this value will typically be something like 0.000 or 0.017, so it was failing to parse and throwing an exception. I've fixed it for v220, and made sure to ignore such unusual start times (if I accept that given value, the file imports with -22 million frames, jej).
I suspect the file is basically borked in some way or another, and may not ultimately be something you want to keep. I load/saved it through ffmpeg and it produced the attached file, which has a valid header and should import to v219 ok.
85aad4 No.3554
Not sure if I should post this in the suggestions thread instead, but there's a sort of annoying behaviour with the import folders - if a file fails being imported, it's ignored forever and the program will never attempt to import it again. This is troublesome for example if you download images directly into a folder that hydrus monitors and the program happens to check the folder right as the file is still in download. I've had several cases of webm files ignored and forgotten even though they were perfectly fine. The only way to fix this behavior currently is to manually go to the log and for each file select "try again".
tl;dr a checkbox to allow the program to recheck failed files inside monitored folders would be great.
85aad4 No.3555
>>3554
Also doubleposting because I'm a moron and forgot:
With the latest version, almost every time I close the program I get this traceback in the terminal (I run the program from source, on linux):
http://pastebin.com/m4QX4ipN
It doesn't affect the program's behaviour as far as I can see, but it still fills the terminal with garbage so I wanted to make sure it isn't a problem with my machine.
I noticed that every time it happens, I also get these: http://pastebin.com/i2P0Tfu9 which cause the program to be completely gray with no panels save for the menu bar and the tab names. It's a problem with how the program handles the size of the various panels I believe, because opening a new tab, dragging the panels in this tab (which do appear unlike for the other tabs) and then closing and reopening the program "fixes" it by making the other tabs' contents visible again. It's very annoying and I' m sorry that i cannot offer a better way to reproduce it, I'll make sure to post screenshots when it happens again. I'm pretty sure it has something to do with how the program saves the width/height of the preview/tag panel on the left on exit.
85aad4 No.3561
>>3429
Sorry for the late reply, but… uh… That doesn't look right.
85aad4 No.3568
File: 1471791687248.png (36.48 KB, 1900x1050, 38:21, dc3c13b2ec318e55b5e1e746ed….png)
>>3555
Here's a screenshot of the issue, i managed to reproduce it somehow. Only the gtk errors show up in the terminal.
85aad4 No.3570
>>3545
This is what The Human Centipede 3 should have been.
85aad4 No.3577
File: 1471813151990.jpg (3.04 MB, 1800x1298, 900:649, 5b73cf5e01936b2d6ad8b139df….jpg)
>>3554
Rather than spammily retry fails, I've written a 'already in use by another process' test to all hdd file imports. In v220, any files currently being downloaded should be excluded from any import attempts. Please let me know if this works better for you.
>>3555
Thank you for this report. I've seen the same notebook event stuff just recently as well. I've turned off some debug suppress stuff I had on, rewritten some old focus hacks, and fixed a bunch of this. The notebook event logspam seems to be gone as is some of the gtk-critical stuff. I've made a job to revisit this and try to pin down exactly what is causing the last warnings and where. It usually isn't very important, but it can lead to slow memory leaks and Linux and OS X like to report it all to the terminal.
I'm not sure if I have accidentally fixed the sizer issue as in your screenshot at >>3568 . Please let me know if it still happens in v220.
>>3561
That's odd. Are you sure the latest version of your client is complaining about a '5' index? Your service ids may have changed since we last looked. You can see your current indices from the sqlite terminal by going:
SELECT name FROM sqlite_master WHERE type = "index";
It might be you have a bunch of '5' indices but that one is missing (which would suggest sqlite can't even read it) or your problem service id may have moved up and they'll all be '7' or something now. In the latter case, you might want to go through the bottom of your client.log for the new bad index name or just run your client and force an analyze under database->maintenance to repeat the error.
Alternately, you can just do the whole db just by going:
ANALYZE;
I'm fairly confident that'll run through all your indices.
85aad4 No.3589
>>3577
sqlite> .open client.mappings.db
sqlite> select name from sqlite_master where type="index";
current_mappings_2_tag_id_index
current_mappings_2_hash_id_index
deleted_mappings_2_hash_id_index
pending_mappings_2_tag_id_index
pending_mappings_2_hash_id_index
petitioned_mappings_2_hash_id_index
current_mappings_5_hash_id_index
deleted_mappings_5_hash_id_index
pending_mappings_5_tag_id_index
pending_mappings_5_hash_id_index
petitioned_mappings_5_hash_id_index
sqlite>
Seems like it's gone. Note that the client.log file doesn't tell me anything, just that the database image is malformed.
85aad4 No.3603
Not an actual bug, more an informal performance/stability report to help you gather info.
Right now I have 64 tabs open, finished downloading, and checking about once an hour or so each, and I have 7 tabs downloading currently.
Memory runs around 850MB, CPU usage fluctuates between 20% and 80% of a dual-core 3GHz, usually 50-60%, program is starting to have short freezes and (Not Responding) more and more. I didn't notice any issues at all before I got up above 50 tabs, so it seems to be pretty stable. It's never crashed so far.
85aad4 No.3607
When you use folder monitoring with automatic tag applying, and the program finds a file you already have in the database, that file will have those tags applied to it. This shouldn't happen, or at least the user should have a say in it.
85aad4 No.3622
So, I shut my Computer down while the client was doing maintenance work, more precisely vacuuming the db.
Now the client starts infinitely saying "booting db". I guess I messed up my db.
Thankfully, as you advised, I have a Backup. Just wanted to let you know, it could be frustrating to people that don't back up. Hella frustrating.
85aad4 No.3623
>>3622
Wait what?
I've had it starting for like 3 hours now, and just as I posted this, I saw Hydrus had started. Crazy.
My bad tho, should've been more patient.
Lesson: If you think your db broke, give it some time
85aad4 No.3633
File: 1472076776507.jpg (100.71 KB, 1400x935, 280:187, 485e2888915952948a8be6c1ae….jpg)
>>3589
That is very strange. The client uses that list to figure out what to analyze, which suggests either:
The sqlite_master table is corrupt, and the client is reading it different to sqlite3.exe.
-or-
The index is on a different database for some reason, and the client is trying to analyze it in the wrong location.
To test the second part, you can try doing that same 'select name from sqlite_master…' query on the other three .db files. To save yourself going through long lists, you could try something like this:
.open client.db
SELECT * FROM sqlite_master WHERE name = "current_mappings_tag_id_index";
If the index is somewhere else, you can destroy it by going:
DROP INDEX current_mappings_tag_id_index;
And then go back into client.mappings.db and recreate it with:
CREATE INDEX IF NOT EXISTS current_mappings_5_tag_id_index ON current_mappings_5 ( tag_id );
If it looks like the sqlite_master is corrupt, you could try a new clone as described in 'help my db is broke.txt'. I can't remember if we have already tried this.
>>3603
This should be a bit better in the release I just put out today. Pngs with transparency were sometimes taking a very long time to import.
Unfortunately, file imports are nonetheless still relatively CPU and HDD heavy. If lots happen in parallel, it will slow down gui responsivity. If you still find it bad in v220, you can try artificially slowing down downloading file imports by going file->options->downloading and increasing the 'polite wait' time. Or you can just run one or two tabs at once. What happens if you pause all tabs? Is your idle CPU 0.1%, or significantly more?
If anything is particularly and reliably slow (like the large transparent pngs before), you might also want to run some profiles as described here:
http://hydrusnetwork.github.io/hydrus/help/reducing_lag.html
>>3607
I'll make a note to add a checkbox for this, thank you.
>>3622
>>3623
I'm sorry for the inconvenience. I'd like to improve whatever ui feedback went wrong here.
When you started the client, was the old client, which was doing the vacuum, closed, or was it still doing work? It is possible the new client missed the fact that the old one was running and was unable to get a lock on the db so it just waited until the vacuum was finished, and for some reason the vacuum took ages.
And was the vacuum running when the old client was open and idle, and then you shut it down while it was running, or did the vacuum begin on shutdown maintenance, on the closing splash screen?
Do you remember which file it was vacuuming? Was it client.mappings.db? Do you remember vacuums taking a very long time before? Are you running the client off an hdd or an ssd? Is the hard drive a bit old and slow, or on a USB 2.0 connection, or could other heavy programs like a game have been accessing the same drive at the same time?
Since it might be that vacuums are a bit slow for you, or at least in some other way borked, you can turn them off under file->options->maintenance and processing and click 'do not automatically vacuum'. It's no big deal if a vacuum doesn't happen for a few weeks or months.
85aad4 No.3635
>>3633
Let me just finish importing this fuckton of Tumblr subscriptions, then I'll check what sort of resources it's using, then pause everything and check the system usage again. All of my tabs are downloads, I'll import stuff once I get this on an external.
85aad4 No.3646
>>3577
>I'm not sure if I have accidentally fixed the sizer issue as in your screenshot at >>3568 . Please let me know if it still happens in v220.
Nope, it still happens. The gtk errors that show up in the terminal are still the exact same as the ones I posted in http://pastebin.com/i2P0Tfu9
85aad4 No.3647
>>3633
Yeah, the index is nowhere else to be found. I tried cloning client.mappings.db, and it seems to have gone right, but it seems it got rid of tags I had pending and the current session I had. Whoops. Not a huge deal, but it'll take me a bit to deal with it. There seems to be quite a discrepancy between the db sizes, the new cloned one is 800mb and the old is 2.7gb… I'll see how this goes.
85aad4 No.3648
When using this URL https://www.youtube.com/watch?v=_eEMDfUwS3o I get:
Exception
Could not fetch video info from youtube!
File "/hydrus/include/ClientGUI.py", line 2444, in EventMenu
elif command == 'start_youtube_download': self._StartYoutubeDownload()
File "/hydrus/include/ClientGUI.py", line 1907, in _StartYoutubeDownload
info = ClientDownloading.GetYoutubeFormats( url )
File "/hydrus/include/ClientDownloading.py", line 211, in GetYoutubeFormats
raise Exception( 'Could not fetch video info from youtube!' + os.linesep + HydrusData.ToUnicode( e ) )
'HydrusLogger' object has no attribute 'isatty'
85aad4 No.3654
>>3647
Right, status report. Analysis returns clean. Most files are missing most of their tags - I suppose they cleanup only kept the ones I had added on top of the repo.So most images have no artist and character on them, which means I can't even really use hydrus until it re-synchronizes everything. Well, at least I can probably add more subscriptions and work with that. I reset the public tag repo. See you in five years once it all re-synchronizes.
I guess I could've saved us both like a month of this if I had cloned the right database. Oh well.
85aad4 No.3658
Had dozens of these two errors show up. They were all after subscriptions, but I don't know if they're related, I didn't see when they popped up.
http://pastebin.com/86XNckyP
85aad4 No.3660
Not sure if this should be a feature request or a but, but I deleted the load->"last session" session. Is it possible to give this session a special property that makes it undeletable, and also to always have it on the top or bottom of the session->load list?
85aad4 No.3688
So this is something serious that I have encountered. It's been around for the last couple of versions, and at first I decided to wait and see if it disappeared with time but it seems this is not the case.
I'm on Arch Linux, and basically, the program every once in a while completely freezes the system until it crashes, and the terminal returns this error:
The program 'client.pyw' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
(Details: serial 11956 error_code 11 request_code 53 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the –sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Basically every time it happens it becomes impossible to use the system, and if I have songs playing in the background they'll start looping because all the resources are dedicated to hydrus, which ultimately crashes because it's not enough.
Forcing hydrus to limit itself and not go past a certain treshold of resources maybe could help. However I tried to limit it with the cpulimit tool, by forcing it to stay under 50%, but the bug still happened along with the complete freeze of the system. I can't really check htop for every time it happens because the moment it starts is the moment everything stops working, and by the time htop refreshes, Hydrus has already crashed.
Any way I can produce better logs?
85aad4 No.3689
>>3688
I also have to add, it happens basically 99% of the times that hydrus is updating a pixiv subscription and downloading a thread at the same time. Not sure if it happens in other cases as well since I have no way to check while it crashes.
85aad4 No.3690
>>3689
>>3688
Well fuck I finally managed to reproduce the cause, incidentally immediately after I wrote the second post.
Basically the program freezes everything if it's downloading from pixiv and a thread (again, not sure if it happens in only one of these cases but it does happen when both are active), but ONLY if it's minimized. As soon as it started slowing down everything I put it back on top and the system went back to normal before hydrus could crash. I reproduced this behavior four times in a row so I guess I nailed it.
If you need more help in reproducing it, I am using Arch Linux with Openbox as my only window manager (no desktop managers), and not sure if it matters at all but I use tint2 to manage the tasks and minimize/maximize them.
85aad4 No.3691
>>3690
>>3688
>>3689
>>3690
Excuse my fourth post in a row, but I kept digging and turns out when I minimize the program it doesn't actually minimize - for some reason it just gets pulled to the top left of the screen. In fact when I minimize it I can still see the progress bar for the pixiv importer sticking out of the top left corner for a couple of seconds. It's really weird, I've never seen something like that in any other program.
85aad4 No.3710
When trying to update the client past v.200, I am running into an error, see the screenshot.
client.log: http://pastebin.com/gcAyL1Xb
Is there anything I can do to resolve this?
85aad4 No.3740
>>3658
I figured the first of the errors happens when dismissing one of the subscription boxes and there are subscriptions in the box queue that haven't found any new images.
85aad4 No.3809
In file > options > colours, when double clicking the "default namespace:tag" entry in the namespace list I get this traceback:
TypeError
cannot concatenate 'str' and 'NoneType' objects
File "hydrus/include/ClientGUICommon.py", line 2938, in EventMouseRightClick
selection_string = '"' + term + '"'
85aad4 No.3836
>>3646
Thank you for the update. I'm not sure what is causing this. Some Windows users are getting similar random layout initialisation problems. I am going to keep thinking about this. Let me know if you get any more specific error text.
>>3648
This should be fixed in today's release, although I think it was an error in error reporting, so let me know if you get anything new!
>>3647
>>3654
With that drop in size, I think something important was corrupted, like a page bitmap or something. Re-sync is the right idea, but if anything like it happens again, I think you should start completely from scratch with an entirely new client and db. Let me know if that happens, and I can help you export/import all your stuff.
>>3658
>>3740
Thank you for this report. I will look into it.
>>3660
Damn, I didn't realise that was listed in the delete menu. Thanks, I'll remove it. If you haven't been able to boot since, I improved some of that code this week. You should just get a blank page in v221 and 'last session' will be re-saved on a clean exit.
>>3688
>>3689
>>3690
>>3691
I'm very sorry you are having this problem. Thank you for the thorough report.
I'm guessing that I'm sending a 'draw this new thumbnail' event to the thumbnail canvas and that's failing and for some reason reattempting in a 100% CPU loop or something because the minimise isn't being registered somewhere. Here's some questions, if you don't mind:
Python-level tracebacks will be written to the bottom of install_dir/db/client.log–does that have anything interesting in it? Are any popup windows (the errors and other messages in the bottom right corner) open when the crash happens? When you do have some, do they influence your minimise behaviour (you can produce a few on demand by temporarily running help->debug->db profile mode and then running a regluar search). Do those popups have unusual shadow drawing in your OS? When you run a normal search, do the thumbnail fade in smoothly or very juddery? What happens if you run a search and then immediately minimise–do you get the CPU spike again, and does it eventually clear up? Does the problem occur if you run a normal hard drive import page while minimised?
>>3710
I am confident this is fixable. Around v200 there were a lot of big changes to the db, and some unexpected update situations and regimes have popped up problems like yours.
First of all, please make sure you have a backup so if something goes wrong from here, we can get back to this position. If you don't have space for everything, just backup the client…db files in install_dir/db.
Which version of the client are you updating with? (e.g. v201)
Was the <=v200 db copied into it, or was it copied bare onto the existing <=v200 installation?
Was the new client ever previously booted?
If you have tried and failed to update to v201 several times, was the error message the same as that the first time? It'll be above the others in install_dir/db/client.log.
What are the rough sizes of the client…db files in install_dir/db?
If you are updating with v201 or v202 or so, please try jumping up to today's v221–there was some bad update code that I have since retroactively improved in later releases which might be affecting you.
If that isn't it and you have very small client.master.db and client.mappings.db files, then I think stubs of those files have been somehow created out of order, so try renaming them to .old or moving them somewhere safe (delete client.caches.db as well, if you have it) and then try the update step again. v200->v201 is supposed to create those files, but your error suggests there is stuff already in there.
Let me know how you get on regardless!
>>3809
Thank you for this report. I will make sure to fix this for v222.
85aad4 No.3842
>>3836
This is the full log before hydrus times out as in >>3688
2016/09/01 12:38:10: hydrus client started
2016/09/01 12:38:13: booting controller…
2016/09/01 12:38:13: booting db…
2016/09/01 12:38:13: preparing disk cache
2016/09/01 12:38:16: preparing db caches
2016/09/01 12:38:16: booting gui…
2016/09/01 12:39:51: Error when processing http://i.4cdn.org/a/1472694777640.webm!
2016/09/01 12:39:51: Traceback (most recent call last):
File "/hydrus/include/ClientImporting.py", line 2659, in _WorkOnFiles
HydrusGlobals.client_controller.DoHTTP( HC.GET, file_url, report_hooks = report_hooks, temp_path = temp_path )
File "/hydrus/include/ClientController.py", line 379, in DoHTTP
def DoHTTP( self, *args, kwargs ): return self._http.Request( *args, kwargs )
File "/hydrus/include/ClientNetworking.py", line 300, in Request
( response, size_of_response, response_headers, cookies ) = self._DoRequest( method, location, path, query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path )
File "/hydrus/include/ClientNetworking.py", line 249, in _DoRequest
( parsed_response, redirect_info, size_of_response, response_headers, cookies ) = connection.Request( method, path_and_query, request_headers, body, report_hooks = report_hooks, temp_path = temp_path )
File "/hydrus/include/ClientNetworking.py", line 641, in Request
size_of_response = self._WriteResponseToPath( response, temp_path, report_hooks )
File "/hydrus/include/ClientNetworking.py", line 585, in _WriteResponseToPath
for block in HydrusPaths.ReadFileLikeAsBlocks( response ):
File "/hydrus/include/HydrusPaths.py", line 489, in ReadFileLikeAsBlocks
next_block = f.read( HC.READ_BLOCK_SIZE )
File "/usr/lib/python2.7/httplib.py", line 612, in read
s = self.fp.read(amt)
File "/usr/lib/python2.7/socket.py", line 384, in read
data = self._sock.recv(left)
timeout: timed out
Then I get the X Window System error, which is not reported in the log.
No popup windows because hydrus has to be minimized for the crash to happen. And it works fine if I search for the entire archive and immediately minimize.
85aad4 No.3844
Downloaded v221 and the latest (July) db from the PTR db thread, after copying in the db I get the following:
2016/09/01 15:56:36: hydrus client started
2016/09/01 15:56:36: booting controller…
2016/09/01 15:56:36: booting db…
2016/09/01 15:56:38: updating db to v215
2016/09/01 15:56:38: updated db to v215
2016/09/01 15:56:41: updating db to v216
2016/09/01 15:56:41: updated db to v216
2016/09/01 15:56:44: updating db to v217
2016/09/01 15:56:44: updated db to v217
2016/09/01 15:56:46: updating db to v218
2016/09/01 15:56:46: updated db to v218
2016/09/01 15:56:48: updating db to v219
2016/09/01 15:56:48: updated db to v219
2016/09/01 15:56:50: updating db to v220
2016/09/01 15:56:50: updated db to v220
2016/09/01 15:56:53: updating db to v221
2016/09/01 15:56:53: updated db to v221
2016/09/01 15:56:53: Traceback (most recent call last):
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusDB", line 569, in MainLoop
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientDB", line 5153, in _InitCaches
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientDB", line 3801, in _GetJSONDump
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusSerialisable", line 62, in CreateFromSerialisableTuple
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusSerialisable", line 109, in InitialiseFromSerialisableInfo
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientData", line 638, in _UpdateSerialisableInfo
KeyError: 'media_view'
2016/09/01 15:56:53: A serious error occured while trying to start the program. Its traceback will be shown next. It should have also been written to client.log.
2016/09/01 15:57:54: hydrus client started
2016/09/01 15:57:55: booting controller…
2016/09/01 15:57:55: booting db…
2016/09/01 15:57:55: Traceback (most recent call last):
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusDB", line 569, in MainLoop
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientDB", line 5153, in _InitCaches
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientDB", line 3801, in _GetJSONDump
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusSerialisable", line 62, in CreateFromSerialisableTuple
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.HydrusSerialisable", line 109, in InitialiseFromSerialisableInfo
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientData", line 638, in _UpdateSerialisableInfo
KeyError: 'media_view'
2016/09/01 15:57:55: A serious error occured while trying to start the program. Its traceback will be shown next. It should have also been written to client.log.
85aad4 No.3877
>>3842
Thanks. Perhaps the attempt to create the 'an error happened' popup message is causing a problem while the program is minimised. As it happens, this week I A) changed the way some low-level error popup stuff happens and B) properly catch that timeout error so it won't make a popup anyway.
Please let me know if you still get this in v222, as I might have fixed it by accident.
>>3844
Thank you for this report. This is fixed in v222. Unfortunately, there is no easy quick fix, so please wait until then and let me know if you still have any problems.
85aad4 No.3878
>>3844
Oh, actually, since you updated from the bare PTR, if you still have that v214 around, update it to v220 first, and then v221. That should work.
85aad4 No.3883
I'm not sure why, but if I have the client in focus while it imports files for even a moment, it triggers a memory leak that will lock up my computer within maybe 10 minutes if I don't stop it. Sometimes when I close it in this state it'll keep eating memory even with the window gone, so I have make sure to process kill it if that's the case.
Once the client starts/resumes importing I immediately have to switch to my browser and check it in task manager periodically to make sure it's fine. Seems like if I'm fast enough I can tab to it and pause the importing process which prevents the leak.
Also it loves to keep my system at 100% CPU usage while importing.
85aad4 No.3885
>>3836
>>3710
Hi, thank you very much for helping me with this!
>first of all, please make sure you have a backup
I have a full backup of everything hydrus. I can mess with this as much as necessary.
>Which version of the client are you updating with?
I have tried with several different versions. Latest I tried was v221, with the same result.
>Was the <=v200 db copied into it, or was it copied bare onto the existing <=v200 installation?
The new client was copied over the existing v200 installation (windows binary, extract only version).
>Was the new client ever previously booted?
No. My usual method for updating is to just extract the new client over the old one.
>If you have tried and failed to update to v201 several times, was the error message the same as that the first time?
The message is always the same.
>What are the rough sizes of the client…db files in install_dir/db?
client.db - ~4MB
client.mappings.db - ~2MB
client.master.db - ~500KB
client.caches.db - ~400KB
I have tried some things with the .db files.
Deleting the client.caches.db does not seem to have an effect on the 200->201 update.
Deleting the client.mappings.db (even though I assume that the ~2MB size suggests that it has relevant contents) will cause the 200->201 update to succeed, but then the 201-202 update will fail.
If I delete the mappings and master file, the update process will create 4KB stub files.
85aad4 No.3895
when I try to "clear deleted record" (review services -> local tags -> advanced service-wide operation) I get this popup:
PyAssertionError
C++ assertion "HasClientObjectData()" failed at ../src/common/ctrlsub.cpp(191) in GetClientObject(): this window doesn't have object client data
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientGUIDialogs", line 552, in EventGo
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientGUICommon", line 1531, in GetChoice
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/wx._core", line 12922, in GetClientData
85aad4 No.3896
>>3877
>Please let me know if you still get this in v222, as I might have fixed it by accident.
Unfortunately no, it still happens. This time it didn't even show any python error in the log nor in the terminal, only the usual X error that I posted in >>3688
85aad4 No.3901
Whenever I minimize the window and then maximize it, a grey box appears over the hydrus window. It stays in the same place when I resize the window and doesn't go away until I close out of hydrus.
This just started happening with version 222.
85aad4 No.3906
I was asked to make a profile with regards to tags taking a long, long time to apply, so, uh, I made one.
http://pastebin.com/5VWkx7pR
50 seconds. By the way, I'm the guy who had trouble with that one db index.If that has anything to do with it.
85aad4 No.3909
Not sure if bug or feature.
After getting latest version and syncing with tag and file server, now when I go to tag something, even under local tags (yes, I double-checked), one of the tags I've been using autofills as a synonym of the word and when I try to select it rather than its synonym it shows:
>word_I_typed (will display as the_synonym)
Why is it displaying as the synonym? Does connecting to a tag db make synonyms map to the primary word chosen by that tag db, even when you're doing local tags and not hydrus_dev tag repo tags? Is there a way to turn it off?
85aad4 No.3919
>>3883
Which OS are you using?
Please try importing a file while 'db profile mode' is active, as described here:
http://hydrusnetwork.github.io/hydrus/help/reducing_lag.html
And email me/pastebin the profile. Try doing one without the client in focus and then another with the delay for a few seconds, so I can look for differences.
>>3885
Your update routine seems 100% ok, so it is less clear what is going wrong here. I'm glad v200->v201 could go through–what is the error on trying to do v201->202?
I could walk you through some more ideas, but since your db is a manageable size, if you don't mind sharing, you could just zip those db files up and email them to me (or password them in a zip, then email me the pass or whatever), and I'll figure it out on my end and send a fixed db back. I'm ok if you don't want to.
If you would rather fix it yourself, what's the earliest version you have backed up? v199? Does that have all four .db files, or just say client.db and client.mappings.db?
I also looked at the update code again. I think mappings should have already existed by v199, but master and caches are created. You might try deleting master and caches and trying v200->v201 again.
>>3895
Thank you for this report. I assume you do not sync with any tag repositories, right? This should be fixed for v223–let me know if it gives you any more trouble.
>>3895
I'm sorry this is still causing a problem. I've added some more popup options for v223–please try the one for 'hide the popup window while the main gui has no focus' and see if that changes anything.
>>3901
I apologise–in attempting to fix some Linux and OS X popup stuff, I managed to trigger a weird bug in Windows to cause this. It is fixed in v223. The fix right now is to either wait for a new popup message to trigger the system to resize itself properly or restart the client. I don't think it happens if a popup message is still being displayed, so you could create a couple by temporarily turning on help->debug->db profile mode and running a search and then not dismissing the profile popups.
Please let me know if v223 gives you any more popup trouble.
>>3906
Thank you for this profile. Unfortunately, the way the profiling works doesn't give the exact lines that are taking so long for you. However when I test it on my own systems, the same section tends to complete in a handful of milliseconds. I suspect this problem may be more laggy disk access than an inefficient query.
Approximately how large are your client.*.db files in install_dir/db?
What do you have the 'disk cache' options set to under options->speed and memory?
How fast is tagging if you previously run help->debug->load whole db into disk cache first? Does that debug operation complete ok, or does it error at all? Does it take a very long time to complete?
Is the hard drive hydrus is installed to old at all? Do you regularly run a defragger on it?
>>3909
Yeah, I'm sorry, all tag siblings are shared for all tag services at the moment. I've been meaning to improve this but didn't get around to it–since you mention it, I'll try to fit it into this week.
85aad4 No.3920
>>3919
Well, uh, client_mappings is 3.5gb from the 2.7 or so that it was before the re-synchronization I had to do. client is bout 150mb, caches is about 35mb and client_master is about 500mb.
I have max disk cache init period set to 4s and disk cache maintenance to 256mb, which I believe are default presets.
loading the db into disk cache works fine, doesn't take too long. But it almost made adding tags even slower, with just ~5 tags taking more than 2 minutes to give me back control over the UI.
The HDD is in use for about 2 years, and since it's a little laptop piece of crap and my laptop runs really hot, it's kinda slow by itself and might be a bit worn out. It gets defragged every week or so. It might be interesting to note that loading the entire db made the task manager give me disk speeds of some ~18 MB/s while regular tagging doesnt even go above 1MB/s, with the latter having wildly fluctuating CPU usage values.
Also, related or not, after loading the db rightclicking on a thumbnail got me something like this:
PyAssertionError
C++ assertion "(itemid >= 0 && itemid < SHRT_MAX) || (itemid >= wxID_AUTO_LOWEST && itemid <= wxID_AUTO_HIGHEST)" failed at ..\..\src\common\menucmn.cpp(260) in wxMenuItemBase::wxMenuItemBase(): invalid itemid value
File "include\ClientGUIMedia.py", line 2648, in EventShowMenu
custom_shortcuts_menu.Append( ClientCaches.MENU_EVENT_ID_TO_ACTION_CACHE.GetTemporaryId( 'custom_filter' ), 'manage custom filters' )
File "site-packages\wx-3.0-msw\wx\_core.py", line 12007, in Append
I got around it through keyboard shortcuts and it seems to have resolved itself, though.
85aad4 No.3921
>>3920
Oh, the popup only appears when you have multiple items selected.
85aad4 No.3923
>>3885
>>3919
Problem solved!
Deleting master & caches, then updating with v.222 did the trick.
Thank you!
85aad4 No.3926
Are there any options to change the behavior of the gallery parser? I've been slowly downloading files from a tag that has 2800+ results, mostly in groups of 200 but for the last couple of weeks the gallery parser times out so I'm stuck with trying it again and hoping it'll make it all the way to the end without timing out.
85aad4 No.3936
It seems like I can't update the PTR past update 1500. I've run it a few times and it consistently gets stuck on content update 6/7, content row 100106/100214
I'm on v222, but the same thing happened in v221
85aad4 No.3963
>>3920
I'm not sure what is going on here. I've updatined my profiler to print the information we were previously missing. Please run it again in v224 and send me the new profile (it now has three sections), and we'll see exactly which line is delaying things.
I've had that id problem myself. I think it is related to long uptime (it seems to be wx running out of new ids for my menu system), although that may not be true in your case. This problem and others have convinced me to completely rewrite my menu system to use static ids.
>>3926
The current downloader engine is pretty creaky, and I generally don't recommend it for queries larger than about 1,000 files. If you can, try to split your query up into subgroups that are easier to handle.
A complete overhaul is planned for the near future, at which point I hope general parsing will be improved, and after that I'll queue up an overhaul of the networking engine to improve recovery from timeouts and other http gubbins.
>>3936
How long does it get stuck? Some particularly complicated updates that have a lot of new files and tags might lag your db on the final commit, which would look like this. In the extreme, I might expect this to possibly take up to two minutes, more on a slow computer or fragged hard drive.
If it takes longer that that, do you see it doing anything in your OS's task manager? Even 0.1MB/s disk activity means it is doing something. Hydrus typically doesn't freeze up completely, but it can hang for a long time on some big jobs.
Otherwise, could there be a hardware issue? Is your hard drive almost full, anything like that? Do you not have much memory (say less than 8GB, which might bottleneck the disk cache)?
The file could also be borked somehow, although I'd expect it to throw an error rather than hang. If you go to install_dir/db/client_updates/the_folder_with_the_big_updates, how big is your 1473070343_5.json? Mine is 4,710,760 bytes.
85aad4 No.3965
>>3963
I'm the guy that couldn't update the PTR. Finally got it to work, thanks.
What I did was move the program from its original location (an encrypted partition with +17GB available) to a HDD with +60GB free, then tried it and it worked, although it did hang for a little over 10 minutes. I guess the issue might have been hard disk space, unless it being in an encrypted partition had something to do with it.
85aad4 No.3974
>>3965
Unless there are unusual circumstances, 17GB should be completely enough. The journal file can get up to ~100MB or so on big commits, but that's typically it.
I expect the issue was latency–perhaps the particular database shape of that update for you meant 10,000 pages of the db had to be updated. If each non-contiguous page represents 20ms to seek and write, it can add up to several minutes fairly easily. And if some background defragger or other hdd-heavy program like a game kicks in, it can completely nuke it. An encrypted drive has a little additional latency as each block has to be passed through the CPU for encryption before it can be written (rather than going straight from memory to disk). If you don't have the AES instruction set in your CPU, that also makes it worse.
But it could also be something else. Hydrus generally works ok on encrypted volumes. Let me know if it happens again, or if you discover anything new.
85aad4 No.3979
>>3963
http://pastebin.com/iGK0xpgS
There ya go. Is it any more conclusive?
85aad4 No.3981
when I select "all known files" in the search, I'm able to see the autocompletion for tags (eg. "thigh" => thighhighs, thigh gap, etc). However, the system: tags are limited to the five ones in the second picture.
If I switch the "local tag" option to "all known tags", "all known files" reverts to "local files", but I'm able to see every system:x option. However, autocompletion doesn't work. No result is being displayed, and the error message in the first pic appears.
Traceback below:
DBException
AttributeError: 'Predicate' object has no attribute 'AddToCount'
File "./include/ClientGUICommon.py", line 675, in TIMEREventLag
File "./include/ClientGUICommon.py", line 760, in _UpdateList
File "./include/ClientGUICommon.py", line 1081, in _GenerateMatches
File "./include/HydrusController.py", line 266, in Read
File "./include/HydrusController.py", line 115, in _Read
File "./include/HydrusDB.py", line 660, in Read
File "./include/HydrusData.py", line 1862, in GetResult
Database Traceback (most recent call last):
File "./include/HydrusDB.py", line 468, in _ProcessJob
File "./include/ClientDB.py", line 6200, in _Read
File "./include/ClientDB.py", line 2812, in _GetAutocompletePredicates
File "./include/ClientData.py", line 323, in MergePredicates
AttributeError: 'Predicate' object has no attribute 'AddToCount'
85aad4 No.3987
Something seems to have done a number on my subscriptions in either 223 or 222,
I can't be entirely sure as they refresh only about once a week.
In short, I'm running from source on Linux x64, all of the subs are tumblr,
and automatic sync on all of them stops with
ValueError
Extra data: line 1 column 68103 - line 1 column 68104 (char 68102 - 68103)
Traceback (most recent call last):
File "/home/xxx/Hydrus Source/include/ClientImporting.py", line 2493, in Sync
self._SyncQuery( job_key )
File "/home/xxx/Hydrus Source/include/ClientImporting.py", line 2312, in _SyncQuery
( page_of_urls, definitely_no_more_pages ) = gallery.GetPage( self._query, page_index )
File "/home/xxx/Hydrus Source/include/ClientDownloading.py", line 759, in GetPage
( page_of_urls, definitely_no_more_pages ) = self._ParseGalleryPage( data, gallery_url )
File "/home/xxx/Hydrus Source/include/ClientDownloading.py", line 1770, in _ParseGalleryPage
json_object = json.loads( processed_raw_json )
File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 367, in decode
raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 1 column 68103 - line 1 column 68104 (char 68102 - 68103)
The only variable that changes from subscription to subscription seems to be the two column and char numbers.
85aad4 No.3989
>>3987
Additionally, and possibly unrelated, I can no longer select or open any gifs without the client freezing and ramping up cpu usage. The only way out of this state is killing the process
Enabling/disabling OpenCV seems to make no difference, and scrolling through gifs in the media viewer (by opening some other file first) does not result in hydrus hanging up
The thumbnails load fine, and I don't even have the media preview window enabled, so I'm at a loss as to what may be causing that one
85aad4 No.3996
>>3989
I get the same thing, also on Arch
I tried strace'ing hydrus while it was hanging to see if i'd get anything useful and it looks like it's hanging trying to wake up a thread (it spams "futex(0xwhateveraddr, FUTEX_WAKE_PRIVATE, 1)", which returns 1 most of the time)
85aad4 No.4006
I added a thread watcher to get some images from an 8chan thread
Since it was a thread with a specific topic, I could already add some tags as the images were downloaded, but when I went to add those tags, the client would just warn me that "'list' does not have the 'add' method"
In addition, trying to do that again would break the popup message, showing only a grey rectangle where the popup should be (though I can still dismiss it with right click)
85aad4 No.4014
This happens.
(That's the "imported * files" message, if you can't tell)
85aad4 No.4015
If I view an image that's larger than my screen, and pan to the bottom of it, then press the zoom_switch button (which fits the image to my screen) it will appear half-way outside my screen. I would expect this button to reset the panning value so that the image appears in the center of the screen.
85aad4 No.4016
>>4014
I also get this problem and it affects every pop up after the import
85aad4 No.4042
>>3996
>>3989
Same thing still happening on v225, right now the only way to keep the client from freezing is filtering out all search results for gif mimetype
85aad4 No.4043
>>3660
>>3836
Upon restarting the client, "last session" is not recreated. I deleted it a while ago, and it has not reappeared.
85aad4 No.4153
My pixiv subscriptions don't seem to be working at all now? I'm not really sure whats happening
85aad4 No.4154
I apologise for the late replies here.
>>3979
I'm afraid not. I added a third section to the v224 profiler, called 'callees'–can you look back at your log or run another profile and send me the whole thing?
>>3981
Thank you for this report. The AddToCounts issue should be fixed in the latest release.
The 'all known files' search domain uses different search logic, so some system predicates are unfortunately either impossible to apply or work so slow they shouldn't be used. I removed support for 'all known files'/'all known tags' when I introduced the autocomplete tag cache, which would have similarly needed to maintain a huge and complicated db table to support that.
You can fiddle this stuff a bit by swapping file domains with an existing search, but the client's behaviour in this case is undefined. Let me know if you discover anything that doesn't work or shouldn't but does.
>>3987
This should be fixed in the latest release! Tumblr changed their API just slightly, which broke my parser.
>>3989
>>3996
>>4042
Someone else has reported this, and it has stumped me. By his report of which thumbnail selection logic works and which breaks, I think it is something to do with my 'focus_changed' pubsub (and presumably Arch's window manager), which tells the preview window to show the media. I've had a close look but can't figure out why gifs/webms cause a problem when static images are fine–the open externally button doesn't care at all about mime. I've tinkered with some zoom calc code that might have been doing it through some means I don't understand, so this might be magically fixed in v226.
To make sure it is focus_changed, I've added a 'no focus changed' check option to the help->debug menu for v226. Please try it and select a gif and let me know if you still get the problem. While it is on, the preview window will not update.
>>4006
Thank you for this report. This should be fixed in the latest release, v225.
>>4014
>>4016
Thank you for this report. I've had another go at popup layout and I think this specific problem is fixed in tomorrow's v226 release. Let me know if you still see it or anything else.
>>4015
Thanks for this point. I agree, so I've set it to do that in tomorrow's v226 release. Let me know if it doesn't work how you expect.
>>4043
Thank you for mentioning this. I forgot that 'last session' will only be saved if it is the default session, which you can't pick because it is missing! Starting in tomorrow's v226 release, it will always be saved on client exit. Let me know if it still gives you trouble.
>>4153
Do you get any errors, or are they just failing silently? If you go to a broken pixiv sub in the manage subscription dialog and click the 'url cache status' icon button, what does the url list look like? Are the ones at the bottom all failed, or are there no new ones? If you go to install_dir/db/client.log and search for your sub name, are there any detailed errors written there?
I just tried the regular pixiv downloader, and it was working for me for both tags and artist_id. Does the normal downloader work for you?
85aad4 No.4163
>>4154
The parser works fine for tumblr again, and the 'no focus changed' debug mode fixed the strange .gif freeze problem for me.
What's even stranger about this whole thing is the fact that I am running the client without a preview window to begin with.
For what it's worth, I'm running Hydrus from source on x64 Arch with i3 on proprietary Nvidia drivers. Who knows, maybe there's some overlap with the other two guys who had the same thing happen.
Either way, though, thanks for the quick fix
85aad4 No.4174
There are two "sha512" hash options in the new edit script dialog. I'm guessing the first one is in reality sha256?
85aad4 No.4177
>>4154
Exception
Too many redirects!
Traceback (most recent call last):
File "include\ClientImporting.py", line 2493, in Sync
self._SyncQuery( job_key )
File "include\ClientImporting.py", line 2312, in _SyncQuery
( page_of_urls, definitely_no_more_pages ) = gallery.GetPage( self._query, page_index )
File "include\ClientDownloading.py", line 757, in GetPage
data = self._FetchData( gallery_url )
File "include\ClientDownloading.py", line 727, in _FetchData
return HydrusGlobals.client_controller.DoHTTP( HC.GET, url, request_headers = request_headers, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientController.py", line 385, in DoHTTP
def DoHTTP( self, *args, **kwargs ): return self._http.Request( *args, **kwargs )
File "include\ClientNetworking.py", line 301, in Request
( response, size_of_response, response_headers, cookies ) = self._DoRequest( method, location, path, query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientNetworking.py", line 267, in _DoRequest
return self._DoRequest( new_method, new_location, new_path, new_query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path, num_redirects_permitted = num_redirects_permitted - 1 )
File "include\ClientNetworking.py", line 267, in _DoRequest
return self._DoRequest( new_method, new_location, new_path, new_query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path, num_redirects_permitted = num_redirects_permitted - 1 )
File "include\ClientNetworking.py", line 267, in _DoRequest
return self._DoRequest( new_method, new_location, new_path, new_query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path, num_redirects_permitted = num_redirects_permitted - 1 )
File "include\ClientNetworking.py", line 267, in _DoRequest
return self._DoRequest( new_method, new_location, new_path, new_query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path, num_redirects_permitted = num_redirects_permitted - 1 )
File "include\ClientNetworking.py", line 259, in _DoRequest
if num_redirects_permitted == 0: raise Exception( 'Too many redirects!' )
Exception: Too many redirects!
If i create a new subscription i get this, but otherwise it just says "Error occured, next attempt in XX time"
85aad4 No.4178
Something weird is happening in the manage tags dialog when you paste tags in with auto-replace entered siblings turned off.
This input
series:touhou
creator:red (girllove)
character:reisen udongein inaba
1girl
animal ears
assault rifle
bad id
bunny ears
dual wielding
gun
handgun
highres
long hair
looking at viewer
necktie
pink eyes
purple hair
red eyes
red necktie
rifle
shell casing
solo
weapon
rating:safe
Gets this behavior, with strange duplication
1girl (+1) (will display as 1 female)
animal ears (+1)
assault rifle (+1)
bad id (+1)
bunny ears (+1)
character:reisen udongein inaba (+1)
creator:red (girllove) (+1)
dual wielding (+1)
firearm (+1)
gun (+1) (will display as firearm)
handgun (+1)
highres (+1) (will display as medium:high resolution)
long hair (+1)
looking at viewer (+1)
necktie (+1)
pink eyes (+1)
purple hair (+1)
rating:safe (+1)
red eyes (+1)
red necktie (+1)
rifle (+1)
series:touhou (+1)
shell casing (+1)
solo (+1)
weapon (+1)
The firearm (+1) tag alone shouldn't be appearing, as it should be showing only in the will display as in another tag, but it still is. This happens with highres and medium:high resolution occasionally too. I haven't tested other files yet. Using latest version, v226.
85aad4 No.4179
Tumblr subscriptions are competely broken, pages of errors on open and even the ones which worked before no longer do.
85aad4 No.4189
I have noticed when you're viewing images in the fullscreen media viewer mode, that when you're moving to the next/previous image, before the new image has loaded there is a white square there instead of the image. I have set the media viewer background color to black so this means there is a white flash every time I move to the next image which is obviously very annoying, particularly if you're in a dark room, it makes my eyes hurt. Please change the color to the same as the media viewer background color?
85aad4 No.4207
>>4154
http://pastebin.com/DBD3EVDn
Think that's that. I had a subscription running as well and it spammed the log with long-ass entries.
85aad4 No.4216
>>4163
Thanks, this is interesting. I hadn't realised your preview window was hidden (the gui option is cosmetic–the preview window still exists). I've now made the focus_changed debug fix permanent for your case. It is just possible this was part of the problem. I'll be interested to see what the other people with this problem experience–like you say, maybe they had hidden preview windows as well. Let me know if this comes up again.
>>4174
Shit, thanks. That would have been a pain if it had hung around.
>>4177
What's the site and the query?
>>4178
Thank you for this report. I'll make sure to fix this for next week.
>>4179
Can you give me an example tumblr blog that breaks for you?
I recently fixed the tumblr parser, so if you are using a version that is older than a couple of versions, please try updating.
>>4189
Thank you for this report. Unfortunately, I am not sure I can fix this at the moment. The media viewer transitions between media in an ugly way, which means the OS flashes a frame or two of an 'empty' window before the real media gets blitted in. I have a plan to rewrite the way the windows are handled to fix this, but I don't think I can change the colour immediately.
I removed all 'white' from the program a while ago, and I draw the 'media background' colour as quickly as possible, so I believe that white or light grey you are seeing is probably a system default colour. If your OS colours are bright at the moment, you might have luck switching them to 'night mode' or whatever similar option you have.
>>4207
Thank you for this update. It narrows the problem down to two or three lines, but I can't figure out what on earth is taking so long. The section that takes 25 seconds for you, I can't make take longer than 2ms. The code isn't too complicated, so I have to assume that some particular circumstance of your computer/client is causing the delay.
I am going to think about this a bit and come up with a better test.
85aad4 No.4218
>>4216
sorry >>4177 was a follow up to >>4153
85aad4 No.4221
>>4216
I went and copied hydrus to an external drive and tried it out on another computer, and it still took forever to do the content update. There's this hunch at the back of my mind that it's somehow related to the current mappings 5 index problem I had. Well, it's index 9 now, apparently. I had considered just nuking this database, but I have so many subscriptions made that it'd be equivalent of losing about 2 years worth of stuff in subscriptions and deleted files.
85aad4 No.4225
>>4216
I went ahead and tried running the client with the preview window ON and the focus_changed debug option OFF on the same version as before >>4163
You are on to something there, with previews visible I get no freezes at all.
85aad4 No.4229
>>4178
This is actually a parents issue–handgun has the parent 'firearm', so it was being automatically added as it would for a manually entered tag. I have added a checkbox to control this behaviour for tomorrow's release.
>>4218
Thanks for the update. Unfortunately, pivix is working ok for me. Can you give me an example tag or artist_id that breaks for you, or is it everything?
>>4221
It absolutely could be that. Maybe SQLite is having to navigate some half-broken index or something. If another computer and drive are ok, that suggests the db is not happy.
It might be a good idea to start again, but don't worry–if you decide to do it, I can walk you through transferring any info like subs. You are comfortable with the sql console now, so you can write down all the info you want to keep, and I'll give you some SQL that will dump it to a file you can then load into a fresh db or something.
>>4225
Thanks, that is very helpful! I guess a hidden 0x0 window is being created or something and Arch is sperging out. Might just be that this is fixed. Let me know if anything like it comes back.
85aad4 No.4232
>>4229
my pixiv error is everything, maybe I need to look at my whole connection, i dont seem to be blocked from pixiv i can use it fine directly
85aad4 No.4233
>>4229
I think the only two most important things for me to carry over is all the subscription data and deleted items hashes. The first one would be a loss of over 2 years of work and the latter would surely bring me a lot of trouble later on. I don't keep many local tags but I use them to keep some notes, so that might be useful to keep that around too. That's pretty much it, I think. Settings aren't saved to the same db, right?
85aad4 No.4240
>>4229
followup >>4232 a basic uninstall did nothing , any idea what i could use to test my connection to pixiv in the way that hydrus does?
85aad4 No.4243
I got this error (which, sorry, was not written to client.log) trying to launch the client just now. I suspect it's because the drive is flagged as 'dirty', because I had to force shut down the machine earlier for an unrelated reason, and there isn't actually anything wrong. This happened to me once quite a while ago, too. Is there no way for sqlite to deal with the dirty bit? Do I really have to run chkdsk or whatever to make Windows happy?
85aad4 No.4248
>Importing a bunch of images
>Power goes out for a couple hours
>Turn it back on
>Start a new import working in the same folder
>73 images come up missing
I'm guessing they were mid-transit when the power went out. It's not Hydrus' fault, of course.
I'm hoping there's a way I can recover the files, but I'm doubtful. I had importing set to delete the original file, but also to archive immediately. Is there anything I can do, or are they lost for good?
85aad4 No.4249
HELP I accidentally closed hydrus while it was syncing with the remote tag db
command traceback:
~/.local/share/hydrus/db » hydrus-client
WARNING:root:pafy: youtube-dl not found; falling back to internal backend. This is not as well maintained as the youtube-dl backend. To hide this message, set the environmental variable PAFY_BACKEND to "internal".
2016/10/14 19:58:46: hydrus client started
(client.pyw:6046): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
(client.pyw:6046): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
07:58:46 PM: Debug: Failed to connect to session manager: SESSION_MANAGER environment variable not defined
2016/10/14 19:58:46: booting controller...
2016/10/14 19:58:46: booting db...
2016/10/14 19:58:46: preparing disk cache
2016/10/14 19:58:50: preparing db caches
2016/10/14 19:58:51: A serious error occured while trying to start the program. Its traceback will be shown next. It should have also been written to client.log.
2016/10/14 19:58:51: Traceback (most recent call last):
2016/10/14 19:58:51: File "./include/ClientController.py", line 1087, in THREADBootEverything
2016/10/14 19:58:51: File "./include/ClientController.py", line 526, in InitModel
2016/10/14 19:58:51: File "./include/ClientCaches.py", line 2303, in __init__
2016/10/14 19:58:51: File "./include/ClientCaches.py", line 2324, in _RefreshSiblings
2016/10/14 19:58:51: File "./include/HydrusController.py", line 266, in Read
2016/10/14 19:58:51: File "./include/HydrusController.py", line 115, in _Read
2016/10/14 19:58:51: File "./include/HydrusDB.py", line 660, in Read
2016/10/14 19:58:51: File "./include/HydrusData.py", line 1880, in GetResult
2016/10/14 19:58:51: DBException: DataMissing: Tag error in database
Database Traceback (most recent call last):
File "./include/HydrusDB.py", line 468, in _ProcessJob
File "./include/ClientDB.py", line 6335, in _Read
File "./include/ClientDB.py", line 4946, in _GetTagSiblings
File "./include/HydrusData.py", line 39, in BuildKeyToSetDict
File "./include/ClientDB.py", line 4946, in <genexpr>
File "./include/ClientDB.py", line 4198, in _GetNamespaceTag
DataMissing: Tag error in database
Segmentation fault (core dumped)
client.log:
2016/10/14 12:57:11: hydrus client started
2016/10/14 12:57:11: booting controller...
2016/10/14 12:57:11: booting db...
2016/10/14 12:57:11: preparing disk cache
2016/10/14 12:57:16: preparing db caches
2016/10/14 12:57:16: A serious error occured while trying to start the program. Its traceback will be shown next. It should have also been written to client.log.
2016/10/14 12:57:43: hydrus client started
2016/10/14 12:57:43: booting controller...
2016/10/14 12:57:43: booting db...
2016/10/14 12:57:43: preparing disk cache
2016/10/14 12:57:47: preparing db caches
2016/10/14 12:57:47: A serious error occured while trying to start the program. Its traceback will be shown next. It should have also been written to client.log.
2016/10/14 19:58:02: hydrus client started
2016/10/14 19:58:04: booting controller...
2016/10/14 19:58:05: booting db...
2016/10/14 19:58:05: preparing disk cache
2016/10/14 19:58:10: preparing db caches
2016/10/14 19:58:12: A serious error occured while trying to start the program. Its traceback will be shown next. It should have also been written to client.log.
2016/10/14 19:58:46: hydrus client started
2016/10/14 19:58:46: booting controller...
2016/10/14 19:58:46: booting db...
2016/10/14 19:58:46: preparing disk cache
2016/10/14 19:58:50: preparing db caches
2016/10/14 19:58:51: A serious error occured while trying to start the program. Its traceback will be shown next. It should have also been written to client.log.
85aad4 No.4253
>>4232
>>4240
I am not sure. Do you get the same error if you just download from a normal pixiv gallery page in hydrus? (i.e. under F9->download->gallery->pixiv)
I have expanded the 'too many redirects' error message for v228. Please try it again in that and let me know the new location and redirect info it prints to the log.
>>4233
I think this is all doable. If and when you want to do it, please send me a mail or start a separate thread so we can go back and forth and there's no chance I'll miss anything.
>>4243
Thank you for this report and for the note about the missing error. I've updated my error printing code for next week, so I hope that won't happen again.
I only have very high-level access to SQLite, so I don't think I can set any option flags to ignore a dirty disk, even if they exist. This is typically what I work with:
https://docs.python.org/2/library/sqlite3.html
https://sqlite.org/pragma.html
There's probably a way to compile your own sqlite dll from source, but I imagine that's more than you want to do! For now, I guess you'll have to run chkdsk.
>>4248
I am not sure. If you have hydrus set to send deleted files to the recycle bin (file->options->files and trash), then I think the deleted files will have been sent there. There's just the slightest chance they'll be in your temp folder as well. Mine is:
C:\users\me\AppData\Local\Temp
They'll be named like 'hydrusrzzpg5', all starting 'hydrus'. Line up the file modified times if you need to. You should be able to move them to desktop or wherever and then reimport them straight up without renaming them.
Still you look like you lost quite a few files there, and I'm not totally sure how they all, along with their thumbnails, would have been borked at the same time. There's a bunch of hard drive locking and flushing stuff going on during imports, so I would only expect one or two to break at a time. I would expect Windows to commit a file copy before deleting the original files' pages, for instance (unless the source was a different drive than the destination, maybe?). I'm no expert on the mechanics of how python and the OS precisely do this stuff. Maybe they were all in a write buffer just went the power went out–it is a USB or network drive, by any chance? Something that might have that extra layer of latency?
In any case, if you haven't, please look into running chkdsk to make sure everything is still ok, as those missing files might be something more serious.
If you do find those files in a recycle bin or wherever, hydrus might not 'reimport' them properly, as it'll think it already has them. Try running database->maintenance->check file integrity->quick to clear out the invalid entries without having to wade through spammy error popups.
>>4249
I am sorry you are having this problem. It is strange, as it shouldn't typically be possible for this sort of thing to occur because of force-quitting the program. The db is 'atomic', which means it is never in an invalid state–it is more likely the hard drive will make an incorrect write than a power-off will occur at a time that will malform the db.
Perhaps you hit such an unlucky moment, or your OS sperged out on program exit and desynced the db and journal files, or something more complicated occured. This is obviously a bad error. If you have a backup, I recommend you roll back.
If you don't, then we'll have to try to fix the db manually. It may take several steps. If you would like to try this, please send me an email or start a new thread so we can have a back and forth in which I won't accidentally miss anything.
85aad4 No.4256
>>4253
did you mean 227 or is there a way to test newer versions i didn't see?
85aad4 No.4264
I have a possible bug, when I try clicking on the "all known tags" or "local tags" buttons on a page I get
PyAssertionError
C++ assertion "(itemid >= 0 && itemid < SHRT_MAX) || (itemid >= wxID_AUTO_LOWEST && itemid <= wxID_AUTO_HIGHEST)" failed at ..\..\src\common\menucmn.cpp(260) in wxMenuItemBase::wxMenuItemBase(): invalid itemid value
File "include\ClientGUIACDropdown.py", line 666, in EventTagButton
for service in services: menu.Append( ClientCaches.MENU_EVENT_ID_TO_ACTION_CACHE.GetTemporaryId( 'change_tag_service', service.GetServiceKey() ), service.GetName() )
File "site-packages\wx-3.0-msw\wx\_core.py", line 12007, in Append
I get a similar one when I try clicking on the "local files" or other ones
PyAssertionError
C++ assertion "(itemid >= 0 && itemid < SHRT_MAX) || (itemid >= wxID_AUTO_LOWEST && itemid <= wxID_AUTO_HIGHEST)" failed at ..\..\src\common\menucmn.cpp(260) in wxMenuItemBase::wxMenuItemBase(): invalid itemid value
File "include\ClientGUIACDropdown.py", line 625, in EventFileButton
for service in services: menu.Append( ClientCaches.MENU_EVENT_ID_TO_ACTION_CACHE.GetTemporaryId( 'change_file_service', service.GetServiceKey() ), service.GetName() )
File "site-packages\wx-3.0-msw\wx\_core.py", line 12007, in Append
It seems like it's telling me that I can't change what tags or files a page searches from once I open one, if that's the case then it shouldn't pop up with an error message like that right?
85aad4 No.4270
Been getting this error for a while now:
PyAssertionError
C++ assertion "m_menuDepth > 0" failed at ..\..\src\msw\toplevel.cpp(1544) in wxTopLevelWindowMSW::DoSendMenuOpenCloseEvent(): No open menus?
File "include\ClientGUIMedia.py", line 2838, in EventShowMenu
HydrusGlobals.client_controller.PopupMenu( self, menu )
File "include\ClientController.py", line 738, in PopupMenu
window.PopupMenu( menu )
File "site-packages\wx-3.0-msw\wx\_core.py", line 11144, in PopupMenu
I think it's related to me having switched to two monitors.
85aad4 No.4287
>>4253
>>4256
Exception
Too many redirects!
Traceback (most recent call last):
File "include\ClientImporting.py", line 2483, in Sync
self._SyncQuery( job_key )
File "include\ClientImporting.py", line 2302, in _SyncQuery
( page_of_urls, definitely_no_more_pages ) = gallery.GetPage( self._query, page_index )
File "include\ClientDownloading.py", line 757, in GetPage
data = self._FetchData( gallery_url )
File "include\ClientDownloading.py", line 727, in _FetchData
return HydrusGlobals.client_controller.DoHTTP( HC.GET, url, request_headers = request_headers, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientController.py", line 385, in DoHTTP
def DoHTTP( self, *args, **kwargs ): return self._http.Request( *args, **kwargs )
File "include\ClientNetworking.py", line 310, in Request
( response, size_of_response, response_headers, cookies ) = self._DoRequest( method, location, path, query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientNetworking.py", line 276, in _DoRequest
return self._DoRequest( new_method, new_location, new_path, new_query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path, num_redirects_permitted = num_redirects_permitted - 1 )
File "include\ClientNetworking.py", line 276, in _DoRequest
return self._DoRequest( new_method, new_location, new_path, new_query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path, num_redirects_permitted = num_redirects_permitted - 1 )
File "include\ClientNetworking.py", line 276, in _DoRequest
return self._DoRequest( new_method, new_location, new_path, new_query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path, num_redirects_permitted = num_redirects_permitted - 1 )
File "include\ClientNetworking.py", line 276, in _DoRequest
return self._DoRequest( new_method, new_location, new_path, new_query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path, num_redirects_permitted = num_redirects_permitted - 1 )
File "include\ClientNetworking.py", line 267, in _DoRequest
raise Exception( message )
Exception: Too many redirects!
Location was: ('http', 'www.pixiv.net', None) and path and query was /whitecube/.
Redirect info was: (0, 'http://www.pixiv.net/whitecube/')
Location was: ('http', 'www.pixiv.net', None) and path and query was /whitecube/.
Redirect info was: (0, 'http://www.pixiv.net/whitecube/')
This is mine from 228 ver for my pixiv error
85aad4 No.4288
>launching client/server on Linux Mint 17 via terminal
>this happens
help
85aad4 No.4290
Is it just me, or is drag-and-drop importing broken? Noticed it was missing in v227, on Win10, though the last version I had updated to was 220 or thereabouts.
85aad4 No.4291
>>4288
Change permissions for the file or directory to give your user permissions.
Or log in as root.
Or sudo.
85aad4 No.4296
>>4256
>>4287
Thank you for this update. I don't know much about pixiv, but 'whitecube' seems to have been some beta way of looking at media or something that now redirects back to regular pages? Maybe the interface is only for some users? What happens if you go to http://www.pixiv.net/whitecube/ in your logged-in browser?
When I do it in Firefox, I get a 302 and sent back to http://www.pixiv.net/.
But when I do it in hydrus, I get 301 sent to http://www.pixiv.net/?return_to=%2Fwhitecube%2F, which gives 200. When I put that return_to query into Firefox, I get 302'ed back to '/whitecube/' and then back to '/'.
Seems there is some redirect woo woo going on here, with pixiv giving different redirects based on some combination browser identifier, hydrus not obeying cookie storage requests, and username permissions.
For now, I have improved the nature of the error and added a catch for circular redirects. Let me know about your browser ability to access 'whitecube', and if you know how, please pastebin the html source of the /whitecube/ page and an example artist's gallery page.
>>4264
Thank you for this report. This is a known issue, and I have a plan to fix it. An id-generating function is running out of new ids. Please reboot the client to fix for now, and let me know if you discover anything (like some combination of menu actions) that hastens the problem. I can't reliably reproduce it on my end.
>>4270
Are you right-clicking on a thumbnail when this happens? How often does it happen?
>>4290
It works for me on Win10. Are you running the client as admin, or do you have any other unusual permissions issues? Sometimes Windows dumps out of DnD events if the source window has a different user elevation than the destination.
85aad4 No.4298
>>4296
>Sometimes Windows dumps out of DnD events
Should have known it was Windows messing with me again. Sorry, and thanks for the explanation, I got it all squared away.
85aad4 No.4306
>>4296
>>4287
Going to whitecube just redirects me straight to the home page in chrome, FFox, and IE, speaking to a japanese friend whitecube was apparently disabled about 3 months ago for most users
85aad4 No.4337
When I try to use version 217 I get this error:
Traceback (most recent call last):
File "<string>", line 11, in <module>
File "/usr/local/lib/python2.7/dist-packages/PyInstaller-2.1.1dev_-py2.7.egg/PyInstaller/loader/pyi_importers.py", line 276, in load_module
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/pkg_resources", line 69, in <module>
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/pkg_resources.extern", line 60, in load_module
ImportError: The 'packaging.version' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution.
How do I solve this?
85aad4 No.4340
>>4337
I think that was when I updated my Linux dev environment, which switched up my build. Some packages are missing for some distros. Try jumping up to 218 or 219–I fix that problem in a subsequent release.
85aad4 No.4346
I updated to version 229 and when i try to import a 8chan thread using the thread watcher i get this error
Traceback (most recent call last):
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientImporting", line 2664, in _WorkOnFiles
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientController", line 385, in DoHTTP
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientNetworking", line 324, in Request
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientNetworking", line 235, in _DoRequest
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientNetworking", line 307, in _GetConnection
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientNetworking", line 387, in __init__
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientNetworking", line 646, in _RefreshConnection
NetworkException: Could not connect to media.8ch.net:
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
85aad4 No.4387
In the fullscreen viewer mode, when you view a webm that's the same size as your screen (1920x1080 in my case), Hydrus thinks it's bigger than the screen and will resize it. If you have "only permit half and double zooms" enabled that means it will display at 50% size.
This doesn't seem to happen when viewing images. I assume it's the progress bar for animations on the bottom that's the problem. Perhaps it could draw over the webm in these cases.
85aad4 No.4399
>>4346
Thank you for this report.. Which platform are you on, and which version of your OS are you running? I seem to remember this being a problem on OS X, but I think we fixed it by updating my ssl library. If you are running from source on Linux or something, perhaps the fix for you is the same?
>>4387
Thank you for this report. That's an interesting case, and I'm not sure the solution. I like the idea of moving the scanbar up, but overlapping windows in wx is more of a pain that you would expect. I'll write it down and have a think about it.
Maybe I can have an option to put the scanbar on the inside bottom edge of the animation frame and only show it when the mouse nears it.
85aad4 No.4401
>>4400
Manjaro 16.10 to be more specific
85aad4 No.4403
>>4340
Thanks that did the trick!
85aad4 No.4407
>>4400
>>4401
Thanks. I just tested it from source and my built exe, which is made in Ubuntu 16.04, and the thread watcher was ok.
Are you using my built release, running from source, or using the Arch package, or something else? I'm not sure which version of openssl your client is using, but previous instances of that error have been because the library being loaded was out of date.
If I open up a terminal on my Linux machine and type:
openssl version
I get 'OpenSSL 1.0.2g 1 Mar 2016'. What do you get?
Might there be any other reason hydrus isn't allowed to do ssl on your machine? Some special firewall or something?
What happens if you open up an 'url download' page and put in an https url on a different domain, like 'https://google.com'? It'll fail, but is the failure because of the ssl or does the download go through ok and it only fail because it is an unimportable html page? This will tell us if openssl is the problem, or just 8chan.
Since this has come up a couple of times, I'll make a note to add some version info for critical libraries to the about window to make it easier to diagnose this stuff.
85aad4 No.4412
>>4407
Im using the built release
My openssl version is "OpenSSL 1.0.2j 26 Sep 2016"
I have no special network configuration that deals with ssl
And i tried to do the uri download of google on the https side, ssl error, http just got me the unimportable html error that you talked about
85aad4 No.4414
In the manage tags window, the box where you type tags, the Home and End keys don't work. Sometimes I write a tag but forget the namespace and instinctively press Home to jump to the beginning of the text but it doesn't work. Add, please? Just a small thing but it would be helpful.
85aad4 No.4435
It occurred to me that I probably should have put this >>4420 here and not there. Basically if I doubleclick an image I can't use any of those menus.
85aad4 No.4440
Still having the issue where searching is painfully slow and appears to be 'fixed' at 256 per ~second when generating results.
85aad4 No.4444
>>4440
try "database > maintenance > analyze" press "full"
It really sped up one of my databases after it became painfully slow
85aad4 No.4448
>>4435
Not hydrus_dev here but, two things.
1. It might help to mention which distro and/or window/desktop manager you are using. (I see in the other thread you mentioned linux mint, so I guess you did)
2. Hydrus is bad about linux windowing in general, hydrus_dev has attempted to fix a lot of this sort of behavior on linux but since they don't use it and because of the variety of different environments on linux as well as how poorly most of them handle floating windows it has been quite the issue.
I personally suggest using a different workflow within hydrus (F3 opens tags and F4 opens ratings by the way) or using a different window/desktop manager altogether.
85aad4 No.4450
>>4448
Thanks for your reply! I use Mint 18 with Cinnamon, my window manager is Muffin. I already used F3 but did not know about F4, thanks for that. I'll look into using a different window manager.
85aad4 No.4485
>>4412
I'm afraid I'm not sure what is going on here, then. If you haven't seen yet, linux v231 was a mess because of an update my end to Ubuntu 16.10. I've since fixed that and updated a bunch of other stuff, so perhaps a library that is broken for you will be fixed in v232. I don't really know, though–I'm not an expert in this stuff.
Either way, let me know what your v232 help->about window says about which openssl version your client thinks it has, just in case that offers any clues.
>>4414
For the moment, I intercept Home/End in the textbox and send them to dropdown menu, to scroll it, like the Up and Down arrow keys. Ctrl+Left/Right should still work though.
>>4435
>>4448
>>4450
Thank you for this report. I once had similar on Ubuntu, but I fixed it with some event juggling. I'll have another look at the code, see if there is some screen coordinate translation I still might be missing or something.
When the window disappears, does it ever pop up or flicker in another corner of the screen?
85aad4 No.4489
>>4485
>When the window disappears, does it ever pop up or flicker in another corner of the screen?
No, it only flickers once. Then it will not flicker again. Only one of the corners will flicker at all, that depends on where I move my mouse first. If I close the picture and open it again, I will get another flicker.
85aad4 No.4535
I'm getting a problem with my database which causes my client to not open. I fixed it temporarily by running chkdsk /F as suggested in the .txt file, but I'm getting it once again (without chkdsk returning any problems).
The error: http://pastebin.com/a8HzBmHW
85aad4 No.4540
>>4535
I just opened it today and it worked..
Something here is fucky.
85aad4 No.4543
>>4535
This is an odd error. It seems the db is connecting fine, but then the later disk cache population is having an access problem, which suggests that the first part of client.db (the bit needed to boot the first part of the client) is fine, but some other area is corrupted or one of the auxiliary db files has an access issue. The disk cache read is very simple, there are no complex permissions requirements, just read access. It is strange that that would fail but the more stringent initial db connection would work.
For each client.*.db file, please right-click on it and hit properties. Then, under the security tab, make sure you are still a user and that you have at least read and write access. It is possible that chkdsk somehow reset the file's privileges amidst a recovery.
If you seem to have access, try making a copy of your four db files somewhere. If the copy goes through ok, try putting your copies into a fresh extract of the client (you can skip copying client_files and client_updates folders to the new install if they are large–them being missing will give different errors, but nothing important for our purposes).
If that still breaks, what happens if you try to run a fresh extract of the client on its own, as if you were creating a new client? Does it create its db files and boot?
If a fresh client works ok and you have a backup of your db, does it still run? If so, I would roll back to it.
Let me know how you get on.
85aad4 No.4544
>>4540
Ah! I had this thread up waiting for me all day, so it only caught up when I posted.
Yeah, it sounds like your hard drive is unreliable. I would say stop doing anything on it right now and make sure everything important on it is backed up. You can keep using it after that if you want, but I think it is probably time to replace it.
85aad4 No.4554
I had Hydrus in an encrypted FAT partition, and roughly a week ago I had a small issue with the tag repo not updating. After searching around I think I found the issue: this kind of encryption apparently doesn't allow for files bigger than 4GB, and my 'client.mappings' file was nearing that size. So I relocated everything to a new NTFS partition and that seemed to solve the problem. Everything seemed to be working okay so I gave it no more importance.
But recently I've noticed there's a small bunch of files (roughly ~100) that show up as having no tags. Oddly, if I search for any of the tags those files used to have, the search will still return those files. What's more, "system:untagged" also returns a bunch of files with tags that otherwise seem perfectly normal.
I'm guessing I screwed over the 'client.mappings' file, but the tags are still linked somehow in the database or the cache or something. Could there be a way to retrieve them?
85aad4 No.4601
I hope this isn't a duplicate report and sorry if I'm not thorough enough, but when downloading threads from oxwugzccvk3dk6tj.onion (I have not tested any other sites) on any board within 10 seconds hydrus freezes. I can't even exit without kill -9. Top shows ffmpeg running as a subprocess when this happens and status becomes T (stopped.) Oddly enough, neither the parental python2 process or ffmpeg seem to actually take up many resources. I'm running hydrus with: firejail torify hydrus-client. Proxy settings within hydrus itself are default. Removing firejail makes no difference other than the terminal signal from the "not responding" window actually shutting it down. I have not tested removing torify.
85aad4 No.4602
>>4601
s/terminal/terminate/
85aad4 No.4622
>>4554
Thank you for this report. I am not sure what is happening here. Searches and result building use the same main mappings table–there's no cache layer between them–so there shouldn't be a discrepancy, even if rows somehow disappear. Furthermore, sqlite is usually good about hard drive errors, so on getting the FAT file limit error, I expect it just rolled back to the last valid state.
Is it possible in some of these cases that a tag sibling is replacing a tag in a way you aren't expecting?
When you run these searches, are you searching on the 'all known tags' tag domain, or a specific service?
Are these missing or otherwise unusual tags all on my tag repo, or could they be on your 'local tags' service as well?
Do you have any tag censorship set up?
Since you did have a problem, it is probably worth running:
database->maintenance->check database integrity
database->maintenance->regen autocomplete cache
If you can't explain the problem in another way, try pinning down a specific example tag that gives incorrect results and report back the counts:
What's the expected autocomplete count when you type it in?
How many results actually appear when you run the search?
Roughly how many of those files are missing the tag?
And if you like, post a couple of the problem images here or email them to me, and I'll check whether they seem to have tags on my end and if anything else seems odd.
>>4601
>>4602
Thank you for this report. I'm afraid I don't have much experience with Tor–I assume that onion address is 8chan? How does that work in hydrus? Do you paste in the normal 8chan url and some proxy at the OS level deals with all the Tor stuff? If you ever browse with Tor off, does it work? Or, if you download the first file in the thread through your browser and then import to hydrus off your hard disk, does it work then? Can you give an example thread that causes the problem? It may be that there's a borked webm that is typing up ffmpeg, and connection doesn't have anything to do with it.
Do you know if Tor does any unusual CPU/GPU stuff? Is it possible that it calls your graphics card's OpenCL, somehow tying up ffmpeg?
85aad4 No.4627
I moved my hydrus folder from `C:\~\Lewds + Tags` to `F:\Hydrus`
And now I'm getting the following window on startup and it can't find any of my files.
85aad4 No.4628
>>4627
I forgot to mention that I tried running the database from a different client first (in the `C:\Hydrus Network\` folder) using the -d flag, which caused a similar error to appear. Then my regular client started popping up with this.
Summary:
All was well
-> Moved from C:\ to F:\
-> Opened with fresh client using -d flag on C:\
-> Lots of errors about missing thumbnails and files could not be loaded
-> Opened old client
-> Window appears and all my files are "missing"
db folder still is 25GB+
85aad4 No.4629
>>4628
>>4627
Also, it was the fresh client that upgraded the database from ~v227 to 233
Not sure if that's relevant
85aad4 No.4630
>>4629
>>4628
>>4627
Sorry for the spam, but I fixed my problem.
Looks like the process I went through screwed up my client_files_locations table in client.db (I'm going to assume it was the upgrade from a fresh client). I edited those to be the proper relative path, and my Hydrus is working again!
Thanks for the helpful files included in the db folder.
85aad4 No.4632
>>4622
Thank you for your time.
I don't think tag siblings are involved in this, and I have no tag censorship set up.
I've tried running these searches in both 'local tags' and 'all known tags', and both seem to return files with missing tags.
From what I've seen, files that lost their local tags also lost all their tags from the public repository.
Checking database integrity returns 100 errors (is this an intended ceiling or do I happen to have exactly 100 errors?).
Regenerating the autocomplete cache did seem to have a bit of a positive effect, as now I can search for tags that didn't return any results before (even though autocomplete suggested they should).
As an example, let's say I search for tag 'foo'. Autocomplete suggests it should return 149 results, but the search actually returns 171 files, 8 of which have no tags. All of these 171 files are files I've tagged as 'foo' in the past.
Alternatively, I might search for tag 'bar', which autocomplete suggests should return 45 results, but actually returns nothing. I might still find these files if I search for any of the other tags they have.
Another oddity I've noticed is the file recount in the 'system:everything' predicate. If I'm in 'local files' it counts around 9k files, which is roughly the amount of files I expect to have, but if I change to 'all known files' it counts nearly a million files. The trash is empty.
A month or two ago, before all this happened, I did a very simple 'advanced content update' to dump a couple of tags from the public repository to my local tags ("copy specific tag's mappings from public tag repository to local tags"). Now, if I browse around the 'all files' category (adding a system:limit to avoid crashing), most of those files show the hydrus icon and have local tags corresponding to those I dumped from the public repository. The public tags for most of these files are intact, although some are missing. From what I can tell, 'all files' is trying to show me every single file in the tag repository that had any of those tags I dumped, whether I actually have those files in my db or not.
85aad4 No.4641
I've downloaded the linux version and I'm getting this error:
ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
File "<string>", line 20, in <module>
File "/usr/local/lib/python2.7/dist-packages/PyInstaller-2.1.1dev_-py2.7.egg/PyInstaller/loader/pyi_importers.py", line 276, in load_module
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientController", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/PyInstaller-2.1.1dev_-py2.7.egg/PyInstaller/loader/pyi_importers.py", line 276, in load_module
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientCaches", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/PyInstaller-2.1.1dev_-py2.7.egg/PyInstaller/loader/pyi_importers.py", line 276, in load_module
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientDefaults", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/PyInstaller-2.1.1dev_-py2.7.egg/PyInstaller/loader/pyi_importers.py", line 276, in load_module
File "/home/hydrus/Desktop/hydrus/build/client/out00-PYZ.pyz/include.ClientConstants", line 2, in <module>
File "/usr/local/lib/python2.7/dist-packages/PyInstaller-2.1.1dev_-py2.7.egg/PyInstaller/loader/pyi_importers.py", line 420, in load_module
ImportError: numpy.core.multiarray failed to import
It happens when I try to start the client
Mostly I'm confused about why it is looking inside the Desktop folder for whatever it is looking for
I have nothing there and the only thing I did was extracting the archive
85aad4 No.4642
>>4641
Also I noticed just now the Desktop folder is in /home/hydrus, which doesn't even exists
Am I doing something wrong?
85aad4 No.4646
This is happening as of 234 version when importing files.
TypeError
AddPaths() takes exactly 2 arguments (1 given)
File "include\ClientGUICommon.py", line 201, in EventButton
self._callable()
85aad4 No.4647
>>4296
any plans to fix pixiv?
85aad4 No.4653
>>4646
Can confirm this, import doesnt work (at least on Linux)
85aad4 No.4660
>>4627
>>4628
>>4629
>>4630
I am glad you figured this out. The external db stuff is a mess at the moment, and I think there was some path change stuff in that v227-233 gap–I want to add some nice gui to support migrations in the near future that will handle all the different path scenarios correctly, so people don't have to muck around like you did.
Let me know if anything new goes wrong with your db here.
>>4632
This is a shame–it looks like sql did have some kind of problem, either with the FAT limit or some blip beforehand. DB integrity problems suggest db corruption. This likely explains the unusualness. It could be your indices have different data, and the search vs the result gathering use different indices.
It looks like sqlite puts a 100 default limit on the integrity check. Did any of the damaged rows get written to your log file? Can you post them here?
I'm not at my dev machine now, but I will check into this more and get back to you.
The 'all known files' stuff includes all the files you don't have but nonetheless know about due to the public tag repository. Tags exist in hydrus for files whether you have them or not, including if you have just deleted them. Seeing the 'remote' files with the 'unknown' hydrus thumbnail is normal. In the same way, Copying tags from the ptr to 'local tags' would add those tags for all known files, not just ones you have, but typically this does not matter because you'll mostly be searching in the 'local files' domain, where the excess tags from remote files will be excluded in autocomplete counts and so on.
>>4641
>>4642
Thank you for this report. That's my desktop (I'm user 'hydrus'), where the frozen release was built on my machine. The way PyInstaller bundles a python script into something executable is a bit screwy–it isn't talking about your desktop, but instead reporting debug lines from mine.
In your hydrus extract directory, do you have numpy.core.multiarray.so? I think it should be 1,582,232 bytes.
If you have it and it seems good and has read permission, which flavour of Linux are you using? I build on Ubuntu 16.10.
>>4646
>>4653
Thank you for this report. I will fix it for next week. I apologise for the inconvenience. Drag-and-drop files onto the dialog should work for now.
>>4647
I'm not sure I can fix this until I improve my networking engine to make hydrus behave more like a normal browser, to avoid the circular redirects. Pixiv works ok for me, so I assume this happens for long time users or something–my pixiv account is a stub I created for hydrus, so I assume I just don't get the whitecube redirect for whatever reason. Do you have any of the improved redirect information in your log? Is the redirect caught and reported at all at the moment?
85aad4 No.4662
>>4660
I'm >>4641
The extracted directory has a boatload of libraries, including somealready bundled with the system and there is multiarray.so too
I don't remember if it has read permissions (not using it right now) but I remember the owner is me, so I'd say it has the right permissions
I'm using a highly customized Gentoo installation
When I downloaded the program I was expecting breakage, because my environment is very specific, but this particular error is very strange since it's looking for a specific folder in /home
85aad4 No.4666
>>4660
I'm >>4632
This is the log output after an integrity check:
2016/11/30 15:08:00: During a db integrity check, these errors were discovered:
2016/11/30 15:08:01: row 21 missing from index current_mappings_3_hash_id_index
2016/11/30 15:08:02: row 25 missing from index current_mappings_3_hash_id_index
2016/11/30 15:08:02: row 241 missing from index current_mappings_3_hash_id_index
2016/11/30 15:08:02: row 242 missing from index current_mappings_3_hash_id_index
2016/11/30 15:08:02: row 243 missing from index current_mappings_3_hash_id_index
2016/11/30 15:08:02: row 244 missing from index current_mappings_3_hash_id_index
2016/11/30 15:08:02: row 273 missing from index current_mappings_3_hash_id_index
2016/11/30 15:08:02: row 280 missing from index current_mappings_3_hash_id_index
…
It's a hundred lines like that, all identical except for the affected row.
Now, my knowledge of sqlite is really, really limited, but I can at the very least load up a db in SQLiteStudio. I've checked the current_mappings_3 table inside client.mappings and I don't notice any obvious oddity. I don't see anything off with the damaged rows either, although again my experience with sqlite is limited. Is there anything in particular I should be looking out for?
85aad4 No.4669
Got this error when my subscription for an artist on gelbooru did its check
Traceback (most recent call last):
File "include\ClientImporting.py", line 2483, in Sync
self._SyncQuery( job_key )
File "include\ClientImporting.py", line 2302, in _SyncQuery
( page_of_urls, definitely_no_more_pages ) = gallery.GetPage( self._query, page_index )
File "include\ClientDownloading.py", line 757, in GetPage
data = self._FetchData( gallery_url )
File "include\ClientDownloading.py", line 727, in _FetchData
return HydrusGlobals.client_controller.DoHTTP( HC.GET, url, request_headers = request_headers, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientController.py", line 386, in DoHTTP
def DoHTTP( self, *args, **kwargs ): return self._http.Request( *args, **kwargs )
File "include\ClientNetworking.py", line 347, in Request
( response, size_of_response, response_headers, cookies ) = self._DoRequest( method, location, path, query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientNetworking.py", line 273, in _DoRequest
( parsed_response, redirect_info, size_of_response, response_headers, cookies ) = connection.Request( method, path_and_query, request_headers, body, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientNetworking.py", line 873, in Request
( response, parsed_response, size_of_response ) = self._SendRequestGetResponse( method, path_and_query, request_headers, body, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientNetworking.py", line 539, in _SendRequestGetResponse
return self._SendRequestGetResponse( method, path_and_query, request_headers, body, report_hooks = report_hooks, temp_path = temp_path, attempt_number = attempt_number + 1 )
File "include\ClientNetworking.py", line 527, in _SendRequestGetResponse
( response, attempt_number ) = self._GetInitialResponse( method, path_and_query, request_headers, body, attempt_number = attempt_number )
File "include\ClientNetworking.py", line 557, in _GetInitialResponse
return ( self._connection.getresponse(), attempt_number )
File "httplib.py", line 1123, in getresponse
ResponseNotReady
85aad4 No.4673
Trying to use the import files dialog I get this:TypeError
AddFolder() takes exactly 2 arguments (1 given)
File "include\ClientGUICommon.py", line 201, in EventButton
self._callable()
I think it has to do with the fact that the last folder I imported from was deleted.
85aad4 No.4674
>>4673
It seems that drag and drop works but the add image/add folder buttons do not.
85aad4 No.4680
It seems that something's off with how new files/posts are detected for subscriptions, possibly only with those for tumblr. All of my subs just re-downloaded every single old file again as a new one, complete with download and import step, before discarding the files - presumably because they had already been in the db or been deleted before.
For a given sub with, say, 10k files, the dialogue started up with 10k/20k files done, and the n/(n*2) ratio was the new starting point for every single one of them.
Arch x64, no errors in the log or in-client
85aad4 No.4684
>>4666
If that index is the only one affected, you may be in luck.
Please make sure you have a backup of your db files somewhere and then run the sqlite3 executable in your db dir. A command window will pop up–enter this exactly:
(You should be able to copy/paste each line into the window. Hit enter after each one.)
.open client.mappings.db
drop index current_mappings_3_hash_id_index;
create index current_mappings_3_hash_id_index on current_mappings_3 ( hash_id );
.exit
This will delete and recreate the broken index. If the main table is undamaged, your problem may be completely fixed. Try another integrity check and see if you get any new rows for different indices/tables.
Let me know how you get on!
>>4669
Thank you for this report. I was reattempting a failed connection too quickly. I have improved how that specific error is handled for v235. Please let me know if you see it again in future.
>>4673
>>4674
Thank you for this report. This is my mistake. I made a typo while working on that dialog last week. It is fixed for tomorrow's release. File drag and drop still works for now (this is what I tested my changes with, and forgot to try the buttons!).
>>4680
I've been talking to a guy on twitter about this as well. I am not sure what is going on, but I suspect they are migrating some blogs to a new platform or database, which has given all the images new urls, so they appear to all be new to the subscription. Furthermore, their internal media engine is creating new files (including stripping some EXIF, looks like) from whatever original sources they have, resulting in some larger, some smaller similar-looking duplicates, so they do actually come into hydrus as new, unique files.
I don't know a good solution to this. Tumblr seem to be handing out new files and urls for some blogs. You can set the 'periodic file limit' on your tumblr subscriptions to 20 or so, which will essentially tell your sub to start anew on the first page of results, or you can delete your sub and create a new one with an initial file limit of 20 for a similar result that actually will start anew, or if your artist is also on the boorus, you may wish to switch your sub over.
Ultimately, the long term problem of merging duplicates continues. I am working on it.
85aad4 No.4687
>>4684
I suspected as much, or rather: I would no put it past them. These days social media integration beats preservation of content, and it makes me feel old like nothing else. I wish I could convince myself to switch to pure aggregator subs, but the idea of missing content because some uploaders deemed an image unimportant or low-quality has me running back to the source every time
For what it's worth, the redownload hasn't been all that troublesome for me personally. The downloader did perform just as expected and chugged through hundreds of thousands of files without a hitch, taking about half a day in the background, and any 'improved' files I could isolate easily.
Which is not to say that I am not very much looking forward to batch duplicate checking
85aad4 No.4693
>>4684
Tried that and it went pretty well. I no longer have any untagged files, and searching seems to work as intended. I still have a couple issues, though.
First, I've noticed there's a small handful of files that have hundreds of gibberish tags, and a few others that are missing a few tags. I'm guessing this is actual data corruption, so probably not much we can do here. I can manually delete/readd them.
Second, I'm getting this error when looking for certain specific tags:
KeyError: 1187318
Traceback (most recent call last):
File "include\HydrusThreading.py", line 283, in run
callable( *args, **kwargs )
File "include\ClientController.py", line 1069, in THREADDoFileQuery
more_media_results = self.Read( 'media_results_from_ids', sub_query_hash_ids )
File "include\HydrusController.py", line 253, in Read
def Read( self, action, *args, **kwargs ): return self._Read( action, *args, **kwargs )
File "include\HydrusController.py", line 91, in _Read
result = self._db.Read( action, HC.HIGH_PRIORITY, *args, **kwargs )
File "include\HydrusDB.py", line 655, in Read
return job.GetResult()
File "include\HydrusData.py", line 1922, in GetResult
raise e
DBException: KeyError: 1187318
Database Traceback (most recent call last):
File "include\HydrusDB.py", line 468, in _ProcessJob
if job_type in ( 'read', 'read_write' ): result = self._Read( action, *args, **kwargs )
File "include\ClientDB.py", line 6331, in _Read
elif action == 'media_results_from_ids': result = self._GetMediaResults( *args, **kwargs )
File "include\ClientDB.py", line 4027, in _GetMediaResults
namespace_id_tag_ids_to_tags = self._GetNamespaceIdTagIdsToNamespaceTags( seen_namespace_id_tag_ids )
File "include\ClientDB.py", line 4201, in _GetNamespaceIdTagIdsToNamespaceTags
return { ( namespace_id, tag_id ) : HydrusTags.CombineTag( namespace_ids_to_namespaces[ namespace_id ], tag_ids_to_tags[ tag_id ] ) for ( namespace_id, tag_id ) in pairs }
File "include\ClientDB.py", line 4201, in <dictcomp>
return { ( namespace_id, tag_id ) : HydrusTags.CombineTag( namespace_ids_to_namespaces[ namespace_id ], tag_ids_to_tags[ tag_id ] ) for ( namespace_id, tag_id ) in pairs }
KeyError: 1187318
Database Traceback (most recent call last):
File "include\HydrusDB.py", line 468, in _ProcessJob
if job_type in ( 'read', 'read_write' ): result = self._Read( action, *args, **kwargs )
File "include\ClientDB.py", line 6331, in _Read
elif action == 'media_results_from_ids': result = self._GetMediaResults( *args, **kwargs )
File "include\ClientDB.py", line 4027, in _GetMediaResults
namespace_id_tag_ids_to_tags = self._GetNamespaceIdTagIdsToNamespaceTags( seen_namespace_id_tag_ids )
File "include\ClientDB.py", line 4201, in _GetNamespaceIdTagIdsToNamespaceTags
return { ( namespace_id, tag_id ) : HydrusTags.CombineTag( namespace_ids_to_namespaces[ namespace_id ], tag_ids_to_tags[ tag_id ] ) for ( namespace_id, tag_id ) in pairs }
File "include\ClientDB.py", line 4201, in <dictcomp>
return { ( namespace_id, tag_id ) : HydrusTags.CombineTag( namespace_ids_to_namespaces[ namespace_id ], tag_ids_to_tags[ tag_id ] ) for ( namespace_id, tag_id ) in pairs }
KeyError: 1187318
If I narrow down the search the error goes away, so I'm guessing it's certain images that are at fault.
If I run an integrity check I get an output similar to the last one, but about the current_mappings_3_tag_id_index instead, and for different rows.
I've also tried running the code you posted again substituting every instance of 'hash_id' for 'tag_id', and then the integrity check outputs around 90 missing rows for the tag index and 10 for the hash index.
85aad4 No.4702
>>4693
Hmm, there may be some missing data then. The corruption is worrying as well. Best solution at this point, even though it is inconvenient, is probably to reset the whole thing. Go services->manage services->public tag repo and then hit 'reset processing cache on ok'. This will wipe out the whole mappings table and rebuild it from the original server update files, almost as if you had just added the service. It will take a while to fully sync, so you'll have a bit of time when you don't have any/many tags at all, but it is a lot easier than trying to pick through this manually.
85aad4 No.4710
>>4702
I finally got it to work. I think the problem was, of all things, with the table with the deleted mappings. Asking hydrus to clear all deleted records and then resetting the repo seemed to do the trick. I can look up 'system:everything' with no errors, and an integrity check returns no errors either, so I guess we can consider this issue solved.
85aad4 No.4740
Ok so, I decided to finally try this software I heard about sometime ago. Eager to finally have a tidy database of all my degeneracy and reaction pics, I downloaded the latest version 236, skimmed through the help to get started, dropped my big ass folder of pics and…. it crashed.
Okay, maybe it didn't like the drag and drop from windows explorer
>Import->folder->crashes again
Hmm…
>Import->file->single file->no crash this time
>Import->file->two files ->no crash either
Okay, maybe it doesn't like folders?
>Import->file->5 or so files->crash
Uhh…yeah.
No errors, no crash log either, I see the progress bar for a split second and then it just closes.
I am confus.
I'm on W10 64 and I'm using the zipped version.
85aad4 No.4741
>>4740
Running as admin doesn't help, tried 235, no luck.
Looks like a problem on my part, but I have no idea what it could be.
85aad4 No.4743
>>4741
Check the log files inside the db folder to see if there's something that can help.
85aad4 No.4745
>>4743
> hydrus client started
> booting controller…
> booting db…
> preparing disk cache
> preparing db caches
> booting gui…
this is all I have, repeated dozens of times.
85aad4 No.4746
>>4740
>W10
I found your problem
t. /g/
85aad4 No.4747
85aad4 No.4755
>>4740
>>4741
>>4745
I am sorry you are having trouble. It is possible you have some unusual files that one of my image libraries, OpenCV, has real trouble with. Please try going file->options->media->Load images with PIL and try importing again.
If that works, and you have any idea which of your images is causing the crash, please post it here (if 8chan can deal with it!) or wrap it up in a zip and email it to me or something. It is useful to have these examples so I can test different solutions on my end.
If it still crashes with PIL, is it always the same file causing it, or could it be a different behaviour, like importing more than one file at a time?
85aad4 No.4760
>>4755
>file->options->media->Load images with PIL
For some reason, it was already checked.
Tried turning it off, no luck.
As for the rest, it doesn't look like it's about certain pics bugging out, I tested a bunch of images and I found no clear pattern. Sometimes one or more would import correctly, then the next time the same image/s would cause a crash.
>like importing more than one file at a time
This looks like the most likely situation, though it did crash on me even with just one image once, but the next time the same pic imported correctly.
85aad4 No.4761
>>4760
Okay, okay wait. I just tried to import the newest folder I made last week and it imported everything correctly, multiple times.
The rest of my folders (and the first files I saved within) are really old. Some months old, others years old, they went through multiple copies and backups and cuts and the like. I can view them all correctly, but is it possible that something got corrupt at a lower level that Hydrus cannot handle?
I even tried moving one of the folders that did not import to another directory and it still crashed, I tried moving the files manually to another folder and it still crashed.
85aad4 No.4764
I am new to hydrus. My client has about 40 images in it. After I imported the hydrus public tag repo, now adding new pictures takes about 30 seconds per picture. How do I make it faster? I am using Linux.
85aad4 No.4767
>>4764
Try running database>maintenance>analyze>full, it should speed up your database once it's done. When I created a new db it was very slow after fully updating the PTR until I did this.
85aad4 No.4770
>>4760
>>4761
Hmm, this is odd. If you can view them in a different image viewer, then I'm not sure why hydrus would have a problem–it just tries to load them from your drive, just like any other program would. It is possible the images sit on some corrupted sector on your hard drive, and the serious I/O error on read is causing Windows to kill the process, but again, any other image viewer would presumably hit that as well. Maybe there are some files that PIL can't handle either, or some other stage of the import process that is having a similar problem.
Do you know how to run chkdsk? If so, any problems?
Do you have a really fast machine, or ssd, or anything else that might affect timing, like running some part of this operation over a network share? It might be that my thread code that does the file mime parsing work is getting critically gridlocked or launching ffmpeg too quick and Windows is panicking.
What sort of files are these? Mostly jpegs? Any bmps or old mpegs?
Are you comfortable posting any of them?
Do you have an AMD or Nvidia card? If you do, do you know if CUDA/OpenCL is enabled? If you know how (on Nvidia it is in Nvidia Control Panel->manage 3d settings), can you create a profile for hydrus's client.exe that turns off CUDA/OpenCL? Does that work?
85aad4 No.4779
>>4770
chkdsk reported no issues.
I do have an SSD but I store files on an internal hard drive. I'm not running it over a network and yes, my machine is quite fast. Not the very latest in hardware, but it holds up well.
Mostly jpgs, yes. And gifs, pngs, webms, etc.
I have an Nvidia card. And after setting the custom profile for the client, it actually worked. Huh. Thanks, man.
85aad4 No.4783
I have two bugs: The first is that my Pixiv subscription doesn't fetch albums (works with multiple images, not animated), and the second is that trying to reset the URL cache on my Pixiv subscription gives me this error:
TypeError
ResetCache() takes exactly 2 arguments (1 given)
File "/hydrus/include/ClientGUICommon.py", line 202, in EventButton
self._callable( *self._args, **self._kwargs )
I have hydrus client 236, using network version 17 on Linux.
85aad4 No.4788
>>4783
First one is normal, you'll have to wait until the downloader overhaul. Second one is fixed in 237.
85aad4 No.4793
Got some sort of webm issue; I imported 8 webms and cycled through them with the media viewer. Eventually they all stopped displaying as anything more than a black screen and refused to play, seems it locked up my system for a few minutes even after I closed Hydrus as well.
I managed to get the DB Profiler on after the initial black screens, but I'm not sure what part of the log is worth noting; it looks like it's just displaying calls rather than any actual error.
85aad4 No.4797
>>4779
We had a bluescreen(!) problem a while ago that was due to a bad Nvidia driver–might be you had the same thing. OpenCL is great but still fairly new, and I guess there are still just bad bugs floating around at that level. You might want to try turning it back on in future, after a few updates.
Let me know if you have any more problems with this.
>>4793
Can you post them here (or links to them), or email them to me, so I can try them my end?
85aad4 No.4810
Hey dev, I don't know if this is limited to linux or goes for all OSes in which hydrus is run, but it's a pretty annoying bug and I don't know if you already noticed it.
Basically, hydrus cannot understand the difference in timestamps between hours, minutes, seconds, days, etc.
This applies to the entire program. Subscription menu sorted by date of last check (pic related), ordering of files by "newest" in both local files and trash, and really any kind of thing in the software that deals with ordering dependent on time.
This causes the "sort by newest/oldest first" function to be pretty much pointless, because files end up being ordered this way:
1 day 10 hours, 1 day 11 hours, 2 minutes, 3 hours, 4 days 10 hours, 5 seconds, etc
85aad4 No.4817
>>4810
Thank you for this report. I hope to have this fixed soon.
I believe this only affects the new subscription and script management dialogs. Sorting by newest/oldest in my files or trash works ok for me, and that has always used the underlying timestamp–can you double check that that is not working for you? It should sort by import time when the file domain is 'my files' or 'all local files' and by trash time when the file domain is 'trash'.
For the recent subs and scripts, because these new objects are more complicated than what I have previously been storing in these listctrls, I had to fudge how they store their data and was then forced to set them to sort by the display string. I've been hit by this as well, I apologise for the inconvenience–I plan to update the listctrl class to store the data in a better way and get this fixed.
85aad4 No.4821
Not really sure if this is the right thread to post this in, but i've run into some problems with my linux hydrus. The window opens, but no thumbnails load in, even if i'm running a search with only one expected result. Since this problem happened directly after an update to a recent version of Hydrus, i tried to create a backup of the database i had and restore it into a new and fresh copy of hydrus, which resulted in this error. I'm kind of worried now, so whatever you could do to try and help would be great, thanks.
85aad4 No.4830
>>4821
I am very sorry you are having this serious problem.
Can you go to your new restored install and look at install_dir/db–what files do you have in there? There should be:
client.caches.db
client.db
client.mappings.db
client.master.db
Are they all there, and do their size and creation/modification timestamps all look correct, and reasonably match what you have in your backup folder?
What does your broken install look like, if you still have it?
How did you create your backup, initially? Did you use the internal 'create a database backup' tool or an external program like FreeFileSync? If you used an external program, was the client closed when you make the backup?
How did you restore this backup to the fresh copy?
Was the fresh copy run before you performed the restore?
When you updated and it lost your thumbnails, can you roughly remember which version you had before, and which recent version you were updating to? Was the distance between the two more than, say, ten versions?
85aad4 No.4834
>>4830
I used hydrus's internal "create a database backup" in the broken version of hydrus and "restore a database backup" into new and fresh copies, several times times with the same result, which makes me think it's a problem with the database at creation, not with how calibre reads it and understands it. In any case, I deleted both the fresh copies of hydrus and the database backup.
The broken install i have is at /media/patxi/Archive/Videos, and as far as i can tell nothing with the database is wrong, see the first pic. I'll try to hang up some of those logs you can see onto pastebin or somewhere, if they're of interest to you.
Here's a screenshot of why i'm trying to migrate from one version of hydrus to another, by the way.
85aad4 No.4835
Quick update, since i contribute heavily to the Public tag repo, i've found that i import the raw files into a fresh install of Hydrus, i can get the tags i've shared back, which is probably not the best way of solving this problem but at least it works, and i've not lost everything, just the tags that i didn't sync until it was too late, which is the kind of solution that would probably make you claw your eyes out.
85aad4 No.4838
>>4834
>>4835
Thank you for this update. I am not sure what is going on.
I am not sure why the existing install boots at all while a new one doesn't. All the internal backup does is copy the files, so if it works in one install it should work in another. My suspicion is that there is some hard drive stuff going on here, so physical location on disk matters or large copy operations are unreliable.
I don't know much about Linux, but if there is a chkdsk, I would recommend you run it and also make sure you have backups of everything you care about on that hard drive. Since your db may be unreliable, backing up client_files seems the most important thing atm for hydrus.
So far, every time a user has mentioned a bug like yours, it has been a hard drive fault, so I just want to make sure you are safe.
What happens if you just create a straight copy of your current install and try to run the copy? You can skip client_files if it is huge–I'm just interested if the client boots at all.
If your disk looks ok, then I have fewer ideas on what could be wrong. Your db files all look the right size, and it looks like sqlite can .open them ok.
Is that 'system:archive' screenshot of your old client? If you had pending tags before, has the pending menu also failed to load?
Does the search for 'system:archive' ever finish? Does the status bar at the bottom ever say '0 files', or does it hang on 'Loading…'? Does the 'db locked' indicator, also on the status bar, ever clear?
What happens if you search for [ system:limit=100, system:untagged ]?
And does dababase->maintenance->check db integrity give problems?
If you don't have an earlier backup of a fully functional db, starting again may indeed be the easiest solution here. I will repeat myself and say make sure your hdd is ok first.
85aad4 No.4908
Here's another bug - I'm on Arch Linux btw
Options > Files and Trash - hydrus does not delete files in the trash even if they've been in it for more than what the "number of hours" etc option says.
Also question: What does "Remove files from view when they are filtered" do?
85aad4 No.4911
>>4908
Thank you, I will look into this. I might have messed up the calculations with the new all local files changes.
The 'remove files' option automatically removes all archived/deleted files from the current view when you complete a thumbnails->filter->archive/delete filter. I have it turned on myself and find it very useful in clearing out big collections of files I want to work on in small chunks.
85aad4 No.4912
>>4911
>The 'remove files' option automatically removes all archived/deleted files from the current view when you complete a thumbnails->filter->archive/delete filter. I have it turned on myself and find it very useful in clearing out big collections of files I want to work on in small chunks.
That's awesome, I can't believe I didn't find it sooner.
85aad4 No.4914
>>4908
>>4912
Everything looks like it is working on my end, so I suspect the daemon isn't firing for you due to you not hitting idle or something.
As it isn't actually laggy, I have made the trash daemon run in the foreground and added some reporting to it. When you update to tomorrow's release, please try going help->debug->db report mode. The daemon now starts 120 seconds after client boot, so wait those two minutes and then see what it says and let me know!
You can force the daemon to run again by opening the options and changing the trash deletion rules and hitting ok.
85aad4 No.4938
On a few input boxes, Hydrus won't play nice with Linux's Dark themes, and makes white text on white background, making it pretty hard to read while typing stuff in.
Just thought you'd like to know.
85aad4 No.4947
>>4938
Thanks. I think anything that doesn't pull from the OS defaults is editable under file->options->colours. They are generally white or light blue by default. You may need to open a new page/restart the client to see the changes. Let me know if any don't work or you discover anything that can't be changed.
85aad4 No.4949
Getting an 'AttributeError' when trying to add new subscriptions. Tumblr specifically, not sure if it happens for other categories. Didn't find anything about it in this thread, apologies if this is a known problem
First time it happened, the sub was still added to the list, but subsequent subscription attempts just disappear with the same error. Linux x64 client v240 running from source
AttributeError
'tuple' object has no attribute 'GetName'
File "/home/xxx/pictures/Hydrus Source/include/ClientGUICommon.py", line 202, in EventButton
self._callable( *self._args, **self._kwargs )
File "/home/xxx/pictures/Hydrus Source/include/ClientGUIScrolledPanelsManagement.py", line 2603, in Duplicate
self._subscriptions.SetNonDupeName( dupe_subscription )
File "/home/xxx/pictures/Hydrus Source/include/ClientGUICommon.py", line 5250, in SetNonDupeName
current_names = { obj.GetName() for obj in self.GetClientData() }
File "/home/xxx/pictures/Hydrus Source/include/ClientGUICommon.py", line 5250, in <setcomp>
current_names = { obj.GetName() for obj in self.GetClientData() }
85aad4 No.4951
>>4949
Fixed in 241, thanks!
85aad4 No.4957
The Repository encountered an error it could not handle! Here is a dump of what happened, which will also be written to your client.log file. If it persists, please forward it to hydrus.admin@gmail.com:
http://pastebin.com/86HLfP2V
85aad4 No.4976
>>4949
>>4951
Sorry about this–let me know if you get any more trouble!
>>4957
Thank you for this report. I will look into this tomorrow. If I can't figure out the problem text and you don't mind, I might ask you to run some db commands on your side to get more information.
85aad4 No.4977
I don't know if it's a temporary thing, but the sankaku chan downloader is giving me a 503 service temporarily unavailable error in the gallery parser box since v241.
Meanwhile the Gelbooru downloader is working perfectly.
This happened while it's also downloading from Pixiv, if that might be related.
85aad4 No.4979
>>4977
Not just v241, I'm on 239 and its giving me errors too.
I think Artefact has wised up and decided to ban Hydrus' BrowserID
85aad4 No.4986
File: c8bf0d90481d2fd⋯.gif (Spoiler Image, 1.58 MB, 700x394, 350:197, c8bf0d90481d2fdedcbda281fe….gif)
Some gifs are appearing incredibly corrupted. I'm not sure why. Some example are here, warning, they're porn
85aad4 No.4987
>>4986
By this I mean in the client media viewer they appear corrupted, not externally.
85aad4 No.4992
File: 8cd241c8693532d⋯.gif (Spoiler Image, 791.29 KB, 499x260, 499:260, 8cd241c8693532db4872dff466….gif)
File: 83c36d5693831f1⋯.gif (Spoiler Image, 1.97 MB, 315x177, 105:59, 83c36d5693831f1991cdf083e8….gif)
>>4986
I came here to make this post. These GIFs play fine with MPC and I assume play fine for Tumblr (whence they're scraped), but are fubar in Hydrus
Most GIFs are fine but these ones (among others I deleted because I didn't want them to begin with) show up in varying degrees of fucked up, and also seemingly different flavors of fucked up.
First here are these four mildly fucked up ones of different types.
Warning, they're kind of porn and please do not bully.
85aad4 No.4993
File: 77eb8adb2b72c20⋯.gif (Spoiler Image, 1.92 MB, 371x209, 371:209, 77eb8adb2b72c20b2f5863d964….gif)
File: 97fd63d946fbb03⋯.gif (Spoiler Image, 1.48 MB, 371x209, 371:209, 97fd63d946fbb03450f89681a1….gif)
File: bde7b6f75da36ec⋯.gif (Spoiler Image, 1.87 MB, 371x209, 371:209, bde7b6f75da36ec351103aba77….gif)
>>4992
Now these here are mid-tier fucked up and all are some Star Wars porn thing or other, I actually don't know why they showed up in my inbox but they're a good example of the viewer problems.
85aad4 No.4994
>>4993
Then finally these last eight are top fukt lad.
I include them all because they seem to all have slightly different patterns of fucked up which might be useful to you.
85aad4 No.4999
I saw there was an issue a few versions back where transparent gifs weren't working properly, and it's still affecting me on build 241.
Basically it seems that the renderer is not clearing the drawing area when displaying animated gifs, causing gifs with transparency to have a "ghosting"/"stacking" effect. Tried both renderers and had the same issue.
Normal gifs playback fine, likely because every frame covers the entire drawing area.
85aad4 No.5004
Is anyone getting an error for Sankaku Channel subscriptions right now?
Exception
<html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body bgcolor="white">
<center><h1>503 Service Temporarily Unavailable</h1></center>
<hr><center>nginx</center>
</body>
</html>
Traceback (most recent call last):
File "include\ClientImporting.py", line 2521, in Sync
self._SyncQuery( job_key )
File "include\ClientImporting.py", line 2353, in _SyncQuery
( page_of_urls, definitely_no_more_pages ) = gallery.GetPage( self._query, page_index )
File "include\ClientDownloading.py", line 757, in GetPage
data = self._FetchData( gallery_url )
File "include\ClientDownloading.py", line 727, in _FetchData
return HydrusGlobals.client_controller.DoHTTP( HC.GET, url, request_headers = request_headers, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientController.py", line 389, in DoHTTP
def DoHTTP( self, *args, **kwargs ): return self._http.Request( *args, **kwargs )
File "include\ClientNetworking.py", line 347, in Request
( response, size_of_response, response_headers, cookies ) = self._DoRequest( method, location, path, query, request_headers, body, follow_redirects = follow_redirects, report_hooks = report_hooks, temp_path = temp_path, hydrus_network = hydrus_network )
File "include\ClientNetworking.py", line 273, in _DoRequest
( parsed_response, redirect_info, size_of_response, response_headers, cookies ) = connection.Request( method, path_and_query, request_headers, body, report_hooks = report_hooks, temp_path = temp_path )
File "include\ClientNetworking.py", line 936, in Request
return self._DealWithResponse( method, response, parsed_response, size_of_response )
File "include\ClientNetworking.py", line 506, in _DealWithResponse
raise Exception( parsed_response )
Exception: <html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body bgcolor="white">
<center><h1>503 Service Temporarily Unavailable</h1></center>
<hr><center>nginx</center>
</body>
</html>
I can visit the site on my browser fine. I think this has been happening for a couple of versions.
85aad4 No.5005
>>4977
>>4979
>>5004
Thanks–I've heard this from several places now.
It looks like sankaku upped their cloudflare protection, and hydrus isn't getting through 98% of the time. I'll talk about it more in my release post. There isn't an easy fix, so your sankaku subs will be automatically paused for now.
>>4986
>>4987
>>4992
>>4993
>>4994
>>4995
Thank you for these reports. I messed up my Windows build last week with the new version of cv, so these gifs are falling back to the inferior PIL renderer. I think I've fixed it for tomorrow–I will test your files again once I have a build. Assuming that goes well, please let me know if you still have any problems in v242.
>>4999
Thanks–please see the above reply and check again in v242 as a bunch of this is probably due to the cv messup. If you still have problem files, please post/link them here or email them to me.
85aad4 No.5013
>>5005
FYI the Sankaku thing also affects parsing scripts.
85aad4 No.5079
Wildcard seaching isn't working on v243 linux. Trying to search for any string with a wildcard will instead look for the nearest tag that fits and search for that instead.
Not sure if this is a bug or you're just removing wildcards for now. Can anyone check if they work on windows?
85aad4 No.5084
>>5079
Tried a wildcard search for "meme:*a*f*" right now on Arch Linux and latest hydrus version and it worked - it displayed files with meme:bogdanoff, meme:a fucking leaf and meme:that feel when no gf
85aad4 No.5085
>>5084
Huh. Maybe it's just me, then. I've tried to run a search for that exact phrase and it's resulted in searching for meme:*a*f .
85aad4 No.5087
>>5085
Try regenerate > autocomplete cache, not sure if it'll help but it can't hurt
85aad4 No.5088
I got this error for some time now and i wondered if anyone could point out how to fix this
http://pastebin.com/hDnCP7iP
i´m not sure if it is related but since i got v243
i´m getting an unreasonably high cpu usage
and the error appears
looking at the cpu usage through the process explorer the interrupt Delta goes so high that the text starts to clip
also i´d like to mention that the error is not appearing at every start the high cpu usage though is so far
85aad4 No.5105
>>5079
>>5084
>>5085
>>5087
This stuff is borked left and right at the moment, and it will continue to be unreliable as I do this current db work. When I am back to normal work, I would like to improve how this all works and add options to change its behaviour.
>>5088
I am not sure what is going on here. This means some jobs are starting and then not finishing correctly. Moreso, they seem to be starting over and over. I will look into it.
Have you recently deleted a lot of files inside the client?
Please try running the client without any daemons by going:
Go to your install directory.
Shift+right-click on it and select 'open command window here'
Then in the new window, type:
client --no_daemons
This should start the client without its background maintenance tasks. Let me know if you still get the CPU spike or the error.
85aad4 No.5158
>>5105
i regularily delete a bunch of files ~1k every few days
starting it without daemons works without the cpu spike and the error
85aad4 No.5160
>>5158
I did some work on this in v244. The way files are physically deleted and calltothread jobs are scheduled should be a bit smoother. Please let me know if you still get the CPU spike in the new version.
85aad4 No.5163
>>5160
didn´t get it so far
though it would not be the first time it was fine for a prolonged period of time.
Thanks for your continued great work ^^
85aad4 No.5243
>>3688
Was this ever resolved? I am also on Arch Linux and get the same X Window BadAlloc error.
The program 'client.pyw' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
(Details: serial 132841 error_code 11 request_code 53 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Happens very frequently by chance when doing anything: importing from a booru, browsing and often just by leaving it running. Running the db integrity check seems to kill it every time after a few minutes.
What do I need to do to get any useful debug info from this? The client log has nothing after the "booting gui…" message so that's being useless
85aad4 No.5245
>>5243
>Was this ever resolved?
Original poster here. No, it still happens to me too. It only happens when the window is minimized though, so I learned to live with it.
I think it has to do with the fact that hydrus does not really have a minimize mode, it just leaves it to the desktop manager to handle the whole thing. Are you too running Openbox with no desktop manager by any chance?
85aad4 No.5270
>>5243
>>5245
I'm going to look at this Linux minimising issue when I have time. I don't do anything special on my end when a minimise event occurs, and I assume the OS will handle all the display refresh events and so on appropriately–do you have any suggestions for what a 'minimised mode' would entail? I can add an option to catch the event and freeze/thaw the screen or whatever, if that's what you would like.
Also please try help->debug->make some popups and see if/how your minimise or error behaviour changes at all. The popup message manager has always been a problem with non-standard window managers, particularly when it hasn't had a chance to initialise yet.