[squeak-dev] Problems with Browse revisions in System package

David T. Lewis lewis at mail.msen.com
Sat Jun 29 22:35:12 UTC 2019


On Fri, Jun 28, 2019 at 05:20:09PM -0700, Eliot Miranda wrote:
> Hi Chris, Hi All,
> 
>     I tried browse revisions for
> SmalltalkImage>>recreateSpecialObjectsArray and this was the reply:
> 
> HTTP/1.1 414 Request-URI Too Large
> server: nginx/1.16.0
> date: Sat, 29 Jun 2019 00:18:02 GMT
> content-type: text/html
> content-length: 177
> connection: close
> 
> <html>
> <head><title>414 Request-URI Too Large</title></head>
> <body>
> <center><h1>414 Request-URI Too Large</h1></center>
> <hr><center>nginx/1.16.0</center>
> </body>
> </html>
> 
> Just an FYI. I can live without this but it is really nice to have.
> _,,,^..^,,,_
> best, Eliot

This might be a hard thing to fix. The issue is that the http request contains
a serialized version of the MCMethodDefinition for the method being checked.

In the case of SmalltalkImage>>recreateSpecialObjectsArray, the method contains
references to a lot of classes, and the serialized version of this is rather
huge (9324 bytes after serializing and encoding it for HTTP).

The result is an unreasonablly large HTTP get request, which nginx (I think) is
complaining about.

A workaround might be to tell nginx to accept unreasonably large requests (I
don't know how to do that, but I am sure it must be possible), or to find some
way to reformulate the request to use a simpler representation of the method
(possibly STON or perhaps just fileout format) rather than a full ReferenceStream
serialization.

Dave



More information about the Squeak-dev mailing list