yourealwaysbe / forkyz

Forkyz Crosswords
GNU General Public License v3.0
39 stars 5 forks source link

NYT or LAT from 2022-04-03 permanently crashes Forkyz #42

Closed gkuenning closed 2 years ago

gkuenning commented 2 years ago

I downloaded the Sunday New York Times and LA Times crosswords for April 3, 2022 and imported them using "import file". When I opened one of them (I think NYT), it came up for a moment and then Forkyz crashed. Now Forkyz crashes immediately on launch (presumably because it remembers that the NYT puzzle was open).

I tried blowing away the meta-cache-db files and the forkyz_preferences.xml file, but apparently the memory of the bad file is elsewhere because neither approach helped. Nor did a reboot. So I'm now in crossword withdrawal!

I've attached a ZIP file with copies of both .ipuz files.

crashpuz.zip

yourealwaysbe commented 2 years ago

Thanks for the report. Both files work ok for me, but then I'm using an updated version. I'll release that version today (been meaning to for a while).

You might be able to stop it crashing by removing the files from your crossword storage directory.

If possible, a logcat of the crash would be helpful. It probably contains crash output identifying the line of code where things go wrong.

It's possible that the LA Times one isn't the file you meant: it loads as already completed for me.

gkuenning commented 2 years ago

I did try removing those two .ipuz files; that didn't seem to help.

I've attached what I think are the relevant logcat lines (I didn't know about logcat--it's handy!). Looks like an SQL statement builder went astray.

logcat.txt

yourealwaysbe commented 2 years ago

Perfect, thanks. Looks like that SQL statement will only work up to a hard limit of 1000 files. I didn't realise there was such a limit (and i only have ~750 crosswords in my archive). I'll have to write something a bit smarter there.

In the meantime, you can probably get away with creating a new folder for crosswords, and changing the storage location of Forkyz in the settings (or just moving some of the files from the current directory elsewhere).

(Looks like this will "sort of" solve itself in Android 12, well, at least up until 32k files. I think i'll add a limit on the SQL soon though, before version19.)

yourealwaysbe commented 2 years ago

Should be fixed in the version19 branch now. I'll leave it a day or two before release to see if anything else comes up.

gkuenning commented 1 year ago

LOL it never occurred to me that it could be something so simple. Maybe that's also why Shortyz stopped working for me and I switched to Forkyz (though I'm happier with Forkyz anyway).

I just blew away a bunch of the older crosswords; they come out faster than I can do them anyway so it's kind of silly to keep them around. That made it work. Thanks for the solution!

Silly limits. You'd think by now programmers would realize that any fixed limit is going to cause problems at some time in the future. Shame on SQlite.

Perfect, thanks. Looks like that SQL statement will only work up to a hard limit of 1000 files. I didn't realise there was such a limit (and i only have ~750 crosswords in my archive). I'll have to write something a bit smarter there.

In the meantime, you can probably get away with creating a new folder for crosswords, and changing the storage location of Forkyz in the settings (or just moving some of the files from the current directory elsewhere).

-- Reply to this email directly or view it on GitHub: https://github.com/yourealwaysbe/forkyz/issues/42#issuecomment-1088422841 You are receiving this because you authored the thread.

Message ID: @.***>

-- Geoff Kuenning @.*** http://www.cs.hmc.edu/~geoff/

A programmer who can't write readable prose is as incompetent as one who can't produce working code.