Description
Describe the bug
Hi,
I'm running Part-DB via the official Docker images published here: https://hub.docker.com/r/jbtronics/part-db1
I'm also using the built-in SQLite database, so nothing external.
The service is running within my LAN, but I'm accessing it via Tailscale, which basically assigns all my clients a CGNAT IP and they can reach out to eachother no matter where they are.
I'm having frequent proxy/timeout issues when uploading attachments, specifically images to parts and storage locations, from my phone.
Example logs from the container (I guess these are apache2 logs):
100.94.190.72 - - [06/May/2025:12:53:32 +0000] "POST /en/store_location/new HTTP/1.1" 408 488 "http://100.101.85.31:9000/en/store_location/new" "Mozilla/5.0 (Android 12; Mobile; rv:131.0) Gecko/131.0 Firefox/131.0"
- - 06/May/2025:12:53:32 +0000 "POST /index.php" 200
[Tue May 06 12:53:52.821447 2025] [proxy_fcgi:error] [pid 48:tid 66] (70007)The timeout specified has expired: [client 100.94.190.72:51478] AH01075: Error dispatching request to :9000: (reading input brigade), referer: http://100.101.85.31:9000/en/store_location/new
100.94.190.72 - - [06/May/2025:12:53:42 +0000] "POST /en/store_location/new HTTP/1.1" 408 488 "http://100.101.85.31:9000/en/store_location/new" "Mozilla/5.0 (Android 12; Mobile; rv:131.0) Gecko/131.0 Firefox/131.0"
- - 06/May/2025:12:53:42 +0000 "POST /index.php" 200
[Tue May 06 12:54:02.874113 2025] [proxy_fcgi:error] [pid 48:tid 90] (70007)The timeout specified has expired: [client 100.94.190.72:51480] AH01075: Error dispatching request to :9000: (reading input brigade), referer: http://100.101.85.31:9000/en/store_location/new
100.94.190.72 - - [06/May/2025:12:53:52 +0000] "POST /en/store_location/new HTTP/1.1" 408 488 "http://100.101.85.31:9000/en/store_location/new" "Mozilla/5.0 (Android 12; Mobile; rv:131.0) Gecko/131.0 Firefox/131.0"
- - 06/May/2025:12:53:52 +0000 "POST /index.php" 200
[Tue May 06 12:54:12.930661 2025] [proxy_fcgi:error] [pid 49:tid 89] (70007)The timeout specified has expired: [client 100.94.190.72:51482] AH01075: Error dispatching request to :9000: (reading input brigade), referer: http://100.101.85.31:9000/en/store_location/new
100.94.190.72 - - [06/May/2025:12:54:02 +0000] "POST /en/store_location/new HTTP/1.1" 408 488 "http://100.101.85.31:9000/en/store_location/new" "Mozilla/5.0 (Android 12; Mobile; rv:131.0) Gecko/131.0 Firefox/131.0"
- - 06/May/2025:12:54:02 +0000 "POST /index.php" 200
[Tue May 06 12:54:22.992995 2025] [proxy_fcgi:error] [pid 48:tid 92] (70007)The timeout specified has expired: [client 100.94.190.72:51486] AH01075: Error dispatching request to :9000: (reading input brigade), referer: http://100.101.85.31:9000/en/store_location/new
100.94.190.72 - - [06/May/2025:12:54:12 +0000] "POST /en/store_location/new HTTP/1.1" 408 488 "http://100.101.85.31:9000/en/store_location/new" "Mozilla/5.0 (Android 12; Mobile; rv:131.0) Gecko/131.0 Firefox/131.0"
- - 06/May/2025:12:54:12 +0000 "POST /index.php" 200
[Tue May 06 12:54:33.097193 2025] [proxy_fcgi:error] [pid 49:tid 61] (70007)The timeout specified has expired: [client 100.94.190.72:51490] AH01075: Error dispatching request to :9000: (reading input brigade), referer: http://100.101.85.31:9000/en/store_location/new
100.94.190.72 - - [06/May/2025:12:54:23 +0000] "POST /en/store_location/new HTTP/1.1" 408 488 "http://100.101.85.31:9000/en/store_location/new" "Mozilla/5.0 (Android 12; Mobile; rv:131.0) Gecko/131.0 Firefox/131.0"
- - 06/May/2025:12:54:23 +0000 "POST /index.php" 200
I tried increasing the proxy timeout parameters in /etc/apache2/sites-enabled/symfony.conf
by adding the following lines to the VirtualHost block:
Timeout 600
ProxyTimeout 600
But it did not solve the issue, as you can see the logs repeat every 10 seconds, so I think these changes have no effect.
When I run into this issue, the frontend "freezes" and the Save button becomes faded and gets stuck and I have to refresh the whole page and fill out the form again from scratch. It also only happens when I try to upload an image, so I guess it has to do something with file handling. But also it does not happen every time, rather around 20% percent of the tries.
First I thought it was an I/O issue on my (original) server, but I migrated to a faster one and it produces the same issue, so I do not think this is a slow I/O issue, but rather some file handling or synchronization/logic problem.
To Reproduce
Steps to reproduce the behavior
- Run Part-DB as I do, in a container with nothing external
- Upload photos/attachments to parts and storage locations
- See the frontend hang and the backend repeat proxy error logs 1 out of 5 tries approx.
Expected behavior
Attachment upload should work 100% of the time.
Screenshots
Logs are enough I think.
Server Side
- Part-DB Version: container
jbtronics/part-db1:v1.17.0
- PHP Version: what is included in the container, don't know
- Database Server: embedded SQLite
Desktop (please complete the following information):
Uploading photos from my phone, so desktop is not relevant.
Smartphone (please complete the following information):
- Device: Samsung S10e
- OS: Android 12, OneUI 4.1
- Browser: Firefox 131.0.2
Additional context
Not sure if this is a configuration issue or a core/business logic bug, any help would be appreciated.