Who likes manga?
Pages: 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16
Steve Fryatt (216) 2105 posts |
I’m not an expert on “agile”, but I thought the point was that rebuilding everything each time was a quick way to flag up if something unexpected had broken. Anyway, we’re talking about the RISC OS build system here, running on RISC OS using the DDE and some hand-crafted applications to do the magic – not a modern CI system built for the purpose…
That’s what I’m asking. |
Doug Webb (190) 1180 posts |
Our fault then for not trying it out and beta testing it at the time then:-) I agree we have limiting factors include little resource so like many I try to help test things to my limited abilities. |
Richard H (8675) 100 posts |
I do agile (it’s moderately awful, but at least it isn’t Prince-2), and yes, continuous build/integration/test is a core part of it. And an exquisite torment to setup properly. It is critical in a continuous-build environment for there to be a clear and unambiguous identifier for each iteration of the build, and this is especially important with a modular project. In a git environment, it’s common to see a commit ref in the help text somewhere, so that when it goes boom, the user can pick through the smoking remains and tell the developers what went wrong and, more importantly, which build it went wrong in. Otherwise, what’s the point?. Every time a module is built with the same version number and date, the universe kills a kitten. Please, think of the kittens. |
Colin Ferris (399) 1814 posts |
What about a CRC check on the newly generated modules with the same version number – and then compare with the last version? Then flaging a result if different. |
Rick Murray (539) 13840 posts |
I think we’re going to need more kittens. |
Sprow (202) 1158 posts |
I’ve not had enough cake yet today to look at the longer sequence, but I think you’re chasing shadows with the second sample given, they’re functionally the same:
So in summary, the stable release worked, but some of the nightly betas could be suspect. Isn’t that what the nightly betas are for? All the components that go into RISC OS have hugely complicated interdependencies, changing the central assembler macros (like
All the packaged goods have MD5 checksums, and are denoted by a -1 -2 -3 etc suffix on the download. For example FontPrint has had 3 version 1.37’s and nobody noticed, though I suspect that’s rather more to do with there being very few people stepping up and testing them like Doug does. |
David Pitt (3386) 1248 posts |
Manga 0.54 on a Titanium, OS 5.29 (26 Jan 2021) and OS 5.20 With AcornHTTP 1.04 as in the current beta HardDisc download. Choose a manga here, then press Go!
*where Address &2059C49C is at offset &0000BD88 in module 'AcornHTTP' * Or sometimes this.
Using a version of AcornHTTP 1.04 build with DDE29c, cc vsn 5.83, the manga loads but does not display.
A complete disc image built with DDE29c was installed on a USB memory stick and booted into, whereupon Manga 0.54 ran perfectly. Similary an OS5.28 HardDisc image was also good. |
Rick Murray (539) 13840 posts |
That means that the file, when received, was less than 1024 bytes in length. So it’s probably exactly correct, given they’re usually at least 10K in size.
Yes, I’ve seen that. It’s either heap overwritten or a full trap in trap handler crash. Either way, don’t use that version of AcornHTTP. |
Rick Murray (539) 13840 posts |
New version of Manga. Whee! V0.55 makes the choice of http or https be a user option. It also now alphabetically sorts the epic-big list of manga. Huge difference! It’s available from my site, the self-update gizmo, or (since now I know the borkage isn’t my fault) from Store. Manga also detects the faulty AcornHTTP module and errors out with a message if it finds it. I have included the code below (it’s a short BASIC program) in case anybody else wants to make use of this, although it appears that it’s only myself and Recce that use the fetcher. Hmm…
The message I have is This version of the AcornHTTP module is defective and WILL crash. You can download a working version (along with explanation) from http://heyrick.ddns.net/manga/ but I removed it from the above because it wouldn’t size correctly in NetSurf. |
Doug Webb (190) 1180 posts |
Hi Rick, Thanks for the update to 0.55. Trying the Beta track auto download root from 0.54 gives the following error: Error when recieveing data:File to big. So manually updated to 0.55. |
Rick Murray (539) 13840 posts |
Updates are stored in !Scrap. Is that disc full? Filled it up with manga? ;-) The command This isn’t AcornHTTP, by the way. ;-) The update fetcher uses the original socket-level HTTP fetcher that I wrote myself for the first version of Manga, and never got converted to use the URL method (if it ain’t broke…). |
Doug Webb (190) 1180 posts |
Hi Rick, 59GB free on SSD and also get same issue on my ARMBook. In the Manga.Update Scrap Directory I see a file called _update created with a Data type and then when I hit the download I get a _updatezip being created and then the error. Once I acknowledge the error the file is deleted. |
Doug Webb (190) 1180 posts |
Update _Update file contains this: object “MANGA” |
Rick Murray (539) 13840 posts |
I remember why it stayed as-was. When Manga first went SSL, I duped the code and added in the bits necessary to get SecureSockets running. When the host then updated to a modern incarnation of https, I had to ditch SecureSockets because it was too old. Indeed, the AcornHTTP module had to be patched to allow it to work with sites using SNI. Now, both fetch mechanisms go via the URL fetcher and AcornHTTP, and the user can choose whether or not to do it securely (usefully, the site doesn’t try to auto-redirect, but it may in the future). This is one of the failings of the URL fetcher – it doesn’t support redirection, and getting information out of it regarding where to redirect to is a palaver (essentially, repeat the failed command with the magic value to get headers sent back, and parse them yourself).
Standard update notification file (at /manga/update.txt). Says the version, the date, where to file the archive, where to find the list of changes, what OS it is for, and a short textual message to display. What is failing is the attempt to fetch /manga/manga_0-55.zip – I wonder why. Anybody else have this problem? Anybody else use the self-update system? That’s not a bit of code I’ve been near in a long time. |
Doug Webb (190) 1180 posts |
Hi Rick, So just to make sure nothing else in !System is causing the issue I installed a one from 18th Oct 2020 and also installed the Siune Nomine ACornHTTP/URL etc from their system update. It still fails. Tried it on my Iyonix and it errors with: Unable connect to socket (36) – Think it was this as it flashed up quickly then all subsequent requests give the same error as the ARMX6 and ARMBook. |
Doug Webb (190) 1180 posts |
update Unable to connect to socket (36) – Can not fetch file Just managed to get that on the Iyonix by reseting all the sockets and retrying again. |
Doug Webb (190) 1180 posts |
Hi Rick, Tried the Manga 0.54 to 0.55 Beta track update on a Pandaboard running 5.28 and it gave the same error. |
Rick Murray (539) 13840 posts |
Special version for you – http://heyrick.ddns.net/manga/doug4.zip It is built with fetcher debugging turned on (to DADebug as usual). If you hold Shift while it is starting up (you’ll need to keep it held for a few seconds, it builds the big menu first!) then it will defeat the version checking to always report that there’s a new version available (so you can try downloading). The thing I’m not entirely understanding is that the fetcher will already have fetched the update file, and possibly the more info file using the same method… |
Dave Higton (1515) 3526 posts |
The AcornHTTP module only supports HTTP 1.0, which I don’t think anyone has used in donkey’s years. Is there an HTTP expert in the house? Does anyone know how much HTTP 1.1 differs from 1.0? It would be nice to get 1.1 support, just before the world goes to 2.0 :-) |
Rick Murray (539) 13840 posts |
Not as much as you might think, given that it largely codifies the various extensions to HTTP 1.0.
AcornHTTP already supports Host (a lot of the internet would break without it), and it would appear to support compressed files. I’m not entirely sure what a “chunked” transfer is. The way persistent connections works is to open a connection to the server and fire off multiple requests on the same connection, whereas the older HTTP 1.0 treated each request as a new connection. I’m not sure how well this would work with AcornHTTP due to how it is designed. That said, I don’t think that it is necessarily that critical. Separate connections would work, they’d just be suboptimal.
If you’re up to baking a test build (or hacking in Zap), I’d suggest just tweaking it to be 1.1 and see what, if anything, breaks. |
David Feugey (2125) 2709 posts |
Nota: a fullscreen mode would be nice :) |
Rick Murray (539) 13840 posts |
Good luck fetching this: http://heyrick.ddns.net/manga/doug5.zip The walls are full of water from the recent heavy rains, I’m having quite a time trying to download “Into The Badlands” because streaming it is a mess of blockies. Whodathunk WiFi couldn’t cope with a damp metre thick stone wall? :-) This one has the debugging off, but still has the hold-down-shift thingy to force it to believe there’s an update. And, yes, I think I’ve found the problem. But, first… you’re not using SDFS are you? You see, because I am handling all the socket stuff myself (it’s a very early fetcher), I am looking out for the read attempt to return one of three values. Zero, to mean that the connection has closed. -1 to mean there’s an error message. Or any positive value as a number of bytes to transfer to file. Zero means connection closed and not just zero bytes available, as not having data is the error EWOULDBLOCK, in other words “if I were to do this, I’d be blocking the system until something happens”. In other words, nothing to see here, come back later. So, -1 and EWOULDBLOCK is okay, we can just ignore that (keep on reading until there is something). Any other -1 is a proper error. Now, what was happening was that I was trapping -1 and any error code other than EWOULDBLOCK and reporting it as an error, this is expected. However, due to some shonkiness in my if clause, if the reply was -1 and it was EWOULDBLOCK, it would fall through to attempt to write -1 bytes to the file. Now, it appears that SDFS might not be able to handle chunked BPUT, so FileSwitch internally would call single BPUT repeatedly. However, -1 would fail the conditionals and drop out. In other words, trying to write -1 bytes would pretty much have no effect. Which is why I never experienced the problem. Your filing system, on the other hand, does support chunked BPUT. The “Too big” error is literally the first thing the code checks for, and it’s not surprising it had an itty bitty accident given that I just told it to write -1 bytes. Or, in other words, a mere 4,294,967,296 bytes. =:-) The version linked should have this fixed. |
Doug Webb (190) 1180 posts |
Hi Rick,
Oh , sorry to hear that makes my minor leak which came through the light fitting with suitable bang and smaqoke the other week look like a walk in the park. Hope it gets sorted soon.
The main drive , SSD, is off SCSI but I have two SDFS icons on the ARMX6 and both are in use along with another SCSI based drive and CDFS. Good news 0.55c works so thanks for the fix and for the explanation and repeat after me 100 times… :-) Take care. Doug |
Rick Murray (539) 13840 posts |
Oh, it’s been like that for hundreds of years. You know how people refer to harddiscs as “spinning rust”? Well, around here that’s a more literal description.
Glad to know that bug has been nailed to the wall. |
Rick Murray (539) 13840 posts |
Version 0.56 is available from my site. Not on Store yet (as I might do more tomorrow if the weather is as miserable as today).
|
Pages: 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16