Thanks, John, for hints!
That allowed me to find this page:
https://blog.cryptomilk.org/2011/08/04/debugging-cgit/
And I got content returned with these settings (and had to run as root
user):
CGIT_CONFIG=/etc/cgitrc \
QUERY_STRING="url=JTM/plain/doc/presentations/01_About.odp" \
/usr/lib/cgit/cgit.cgi 1>cgit.odt 2>cgit.log
cgit.log is empty and
cgit.odt is 713K file which starts with content:
X-Content-Type-Options: nosniff
Content-Security-Policy: default-src 'none'
Content-Type: application/octet-stream
Content-Length: 729281
Content-Disposition: inline; filename="01_About.odp"
Last-Modified: Sat, 17 Sep 2022 19:48:19 GMT
Expires: Sat, 17 Sep 2022 19:53:19 GMT
ETag: "7048b4feba4cd80d4d56dcb3ea4b063c93b620bd"
P�CqR3&��/mimetypeapplication/vnd.oasis.opendocument.presentationP�CqRConfigurations2/toolbar/P�CqRConfigurations2/floater/P�CqRConfigurations2/menubar/P�CqR�Configurations2/popupmenu/P�CqRConfigurations2/progressbar/P�CqR�Configurations2/statusbar�CqR'Configurations2/accelerator/current.xmlPP�CqRConfigurations2/images/Bitmaps/P�CqR�Configurations2/toolpanel�CqR
...
So, it may be problem with apache. I have quite many of modules loaded
for reverse proxy and and url and html link rewrites to shorten URL
coming from XWiki content management system.
apachectl -M
Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cache_module (shared)
cache_disk_module (shared)
cgi_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
headers_module (shared)
mime_module (shared)
mpm_prefork_module (shared)
negotiation_module (shared)
php7_module (shared)
proxy_module (shared)
proxy_connect_module (shared)
proxy_html_module (shared)
proxy_http_module (shared)
reqtimeout_module (shared)
rewrite_module (shared)
setenvif_module (shared)
socache_shmcb_module (shared)
ssl_module (shared)
status_module (shared)
xml2enc_module (shared)
Question is how I can debug it, knowing that this is production site and
that I don't have much of experience debugging apache?
Valdis
On Fri, Sep 16, 2022 at 10:55:39PM +0300, Valdis Vītoliņš wrote:
Probably it is issue on 64-bit ARM architecture, because I tested that it
works on x86_64 virtual machine.
Some time ago (because I haven't used HTTPS protocol for repositories
recently) downloading plain objects/blobs hangs up around 65kB of data.
You can test it with:
wget -O "01_About.odp" -d
"https://odo.lv/git/JTM/plain/doc/presentations/01_About.odp"
It shows:
...
Saving to: ‘01_About.odp’
01_About.odp 8%[====> ]
63,64K 13,0KB/s in 4,9s
2022-09-16 22:32:33 (13,0 KB/s) - Connection closed at byte 65169. Retrying.
...
etc.
This seems very strange (it also happens with the .../tree/... pages
showing the hexdump file content).
My guess is that this is caused by the Apache configuration rather than
anything CGit is doing itself.
Have you tested running cgit outside Apache using something like:
CGIT_CONFIG=/path/to/cgitrc \
QUERY_STRING=url=JTM/plain/doc/presentations/01_About.odb \
cgit
That should give some idea whether CGit itself is returning short data
or if the response is being truncated downstream.
Regards,
John