Not signed in (Sign In)

Not signed in

Want to take part in these discussions? Sign in if you have an account, or apply for one below

  • Sign in using OpenID

Site Tag Cloud

2-category 2-category-theory abelian-categories adjoint algebra algebraic algebraic-geometry algebraic-topology analysis analytic-geometry arithmetic arithmetic-geometry book bundles calculus categorical categories category category-theory chern-weil-theory cohesion cohesive-homotopy-type-theory cohomology colimits combinatorics complex complex-geometry computable-mathematics computer-science constructive cosmology deformation-theory descent diagrams differential differential-cohomology differential-equations differential-geometry digraphs duality elliptic-cohomology enriched fibration foundation foundations functional-analysis functor gauge-theory gebra geometric-quantization geometry graph graphs gravity grothendieck group group-theory harmonic-analysis higher higher-algebra higher-category-theory higher-differential-geometry higher-geometry higher-lie-theory higher-topos-theory homological homological-algebra homotopy homotopy-theory homotopy-type-theory index-theory integration integration-theory internal-categories k-theory lie-theory limits linear linear-algebra locale localization logic mathematics measure measure-theory modal modal-logic model model-category-theory monad monads monoidal monoidal-category-theory morphism motives motivic-cohomology nlab noncommutative noncommutative-geometry number-theory of operads operator operator-algebra order-theory pages pasting philosophy physics pro-object probability probability-theory quantization quantum quantum-field quantum-field-theory quantum-mechanics quantum-physics quantum-theory question representation representation-theory riemannian-geometry scheme schemes set set-theory sheaf simplicial space spin-geometry stable-homotopy-theory stack string string-theory superalgebra supergeometry svg symplectic-geometry synthetic-differential-geometry terminology theory topology topos topos-theory tqft type type-theory universal variational-calculus

Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.

Welcome to nForum
If you want to take part in these discussions either sign in now (if you have an account), apply for one now (if you don't).
    • CommentRowNumber1.
    • CommentAuthorMike Shulman
    • CommentTimeDec 5th 2018

    When doing a rollback of Initiality Project - Raw Syntax to version 19 (creating the new version 21) I received 500 Internal Server Error, but the rollback seems to have been successful.

    • CommentRowNumber2.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 5th 2018
    • (edited Dec 5th 2018)

    Intriguing. I cannot reproduce it (tried rolling back Sandbox and everything is fine, and tried rolling back to version 19 of the page you mention, and this worked fine as well) at the moment, and I have not found anything significant in the logs so far, though I haven’t looked extremely closely. Let me know if you can reproduce it, or if you see the same thing again at a later point.

    • CommentRowNumber3.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 5th 2018
    • (edited Dec 5th 2018)

    I do see a 500 in the logs, but it looks to me like it came from a timeout, which can happen on an edit (or rollback, which is basically just an edit as well to Instiki), though it is harmless; the edit will still go through. Could it have been a timeout in your case? When I rolled back to the same version, it did it quickly, but it is maybe possible that it could have been different the first time around.

    • CommentRowNumber4.
    • CommentAuthorAli Caglayan
    • CommentTimeDec 5th 2018

    I have seen this before too. I can’t remember what I was editing back then however.

    • CommentRowNumber5.
    • CommentAuthorMike Shulman
    • CommentTimeDec 6th 2018

    How would I tell whether it could have been a timeout? It didn’t seem to me to take noticeably longer than edits normally do (which is kinda long these days, but they always go through eventually).

    • CommentRowNumber6.
    • CommentAuthorAli Caglayan
    • CommentTimeDec 6th 2018

    I think the best solution for now is to keep what you wrote in a textfile somewhere just in case.

    • CommentRowNumber7.
    • CommentAuthoratmacen
    • CommentTimeDec 6th 2018
    I got some kind of error when I did a rollback a while back. I don’t remember if it was a 500, or what page I rolled back. I rolled back my own edit that I decided was wrong, and it gave an error, but basically worked. It left a revision on the history with no actual difference. (Maybe some interaction with the edit coalescing behavior?)
    • CommentRowNumber8.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 6th 2018
    • (edited Dec 6th 2018)

    I got some kind of error when I did a rollback a while back.

    There was an issue a little while ago with rolling back, but that was fixed a couple of months ago. Other than that, I don’t think I’ve observed any issues myself. Unless we can reproduce the issue or I see some useful log, it is difficult to debug it :-).

    How would I tell whether it could have been a timeout?

    You may see a page from Cloudflare pop up briefly before the 500 comes. The 500 comes from the fact that Cloudfare makes some unusual http request (not one of the standard ones like GET, POST, etc).

    It didn’t seem to me to take noticeably longer than edits normally do (which is kinda long these days, but they always go through eventually).

    The edit should always go through, even if one gets a timeout. Cloudflare has an absolute timeout of 100 seconds, which we cannot change. However, if this timeout occurs, it does not stop the processing of the edit, it just cuts your connection to the server.

    Regarding the length of time, this will be helped considerably once Maruku is removed. The algorithm in the new renderer is quite efficient, it passes only once through the file; its implementation can always be optimised, of course, but we should in the end be able to make it pretty fast. We could also for example cache the parsed tex rather than re-parsing with every new edit. But no time for any of that at the moment.

    • CommentRowNumber9.
    • CommentAuthorMike Shulman
    • CommentTimeDec 6th 2018

    I didn’t see a Cloudfare page, but I might have been on another tab at the time if it only popped up briefly.

  1. Yes, it would be extremely brief, you would have to be looking at the page and maybe even know what to look for! Looking at the nginx logs, though, I don’t think it was a timeout. Mysterious!

    If anybody encounters this again, please let me know (with as many details as possible).

    • CommentRowNumber11.
    • CommentAuthorMike Shulman
    • CommentTimeDec 6th 2018

    Does the server log every 500 explicitly with as many details about what happened as possible? If you know the exact time and date of the event (as here, presumably the timestamp on version 21), can you find the exact 500 event in the logs? I would hope it would be possible to configure the server to write to the logs exactly what error occurred whenever there is a 500.

    • CommentRowNumber12.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 6th 2018
    • (edited Dec 6th 2018)

    There are several logs. The nginx logs are only for HTTP requests, they do not know anything about the server itself (nginx is a reverse proxy in front of the web server). I found the 500 in the nginx logs with the URL, timestamp, request time, etc, but not, for the reason I just mentioned, with any details about the cause of the error.

    I do not see the error in the Instiki logs. It should definitely indeed be logged, yes, but it was not. It would be nice to add a logging handler which captures all exceptions; I imagine this is possible in Rails, I will look into it when I get the chance (it is certainly possible in other frameworks).

    For the APIs I have written myself, e.g. the new renderer, I log carefully, and there is no error in any of those logs, which means that the 500 came from within Instiki itself somewhere, i.e. not from any of those APIs.

    • CommentRowNumber13.
    • CommentAuthorMike Shulman
    • CommentTimeDec 6th 2018

    Interesting, thanks for the info.

    • CommentRowNumber14.
    • CommentAuthorMike Shulman
    • CommentTimeFeb 25th 2019

    Got this again rolling back flat functor.

    • CommentRowNumber15.
    • CommentAuthorRichard Williamson
    • CommentTimeFeb 25th 2019
    • (edited Feb 25th 2019)

    This time I was able to reproduce the error, and I believe that I have now found the bug and fixed it in this commit.

    It would also have been fixed in a different way if announcements were added for rollbacks; we should do that eventually I think.

    • CommentRowNumber16.
    • CommentAuthorMike Shulman
    • CommentTimeFeb 27th 2019

    Thanks!