Example demo leaks memory
hansole opened this issue · 0 comments
hansole commented
I previously reported an issue where I had problems with server to client notifications leaking memory.
(ocsigen/eliom#569)
The problem seems to be more general, or an additional issue. The demo application created following the example in oscigen-start also seems to leak.
If I run the example and the start a loop to get the start page, then it will leak memory at a quite high rate. It leaks from ca. 35 MB to 240MB with 10 000 requests.
term1: make test.opt
term2: let c=1 ; while true; do wget -o /dev/null http://localhost:8080/ ; echo $c; let c=c+1; done
term3: top -b -p $(pidof ocsigenserver.opt)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
145020 hans 20 0 871292 34852 19016 S 0,0 0,4 0:00.13 ocsigenserver.o
145020 hans 20 0 871292 34852 19016 S 0,0 0,4 0:00.13 ocsigenserver.o
...
145020 hans 20 0 1089084 238388 19312 S 25,0 2,9 0:29.67 ocsigenserver.o
145020 hans 20 0 1119940 242612 19312 S 14,6 3,0 0:30.11 ocsigenserver.o
145020 hans 20 0 1119940 242612 19312 S 0,0 3,0 0:30.11 ocsigenserver.o
145020 hans 20 0 1119940 242612 19312 S 0,3 3,0 0:30.12 ocsigenserver.o
Ubuntu 22.04.1 LTS \n \l
cohttp-lwt 4.0.0 CoHTTP implementation using the Lwt concurrency library
cohttp-lwt-unix 4.0.0 CoHTTP implementation for Unix and Windows using Lwt
conduit-lwt 4.0.2 A portable network connection establishment library using Lwt
conduit-lwt-unix 4.0.2 A network connection establishment library for Lwt_unix
eliom 10.0.0 Client/server Web framework
js_of_ocaml-lwt 4.0.0 Compiler from OCaml bytecode to JavaScript
lwt 5.6.1 Promises and event-driven I/O
lwt_log 1.1.2 Lwt logging library (deprecated)
lwt_ppx 2.1.0 PPX syntax for Lwt, providing something similar to async/await from JavaScript
lwt_react 1.2.0 Helpers for using React with Lwt
lwt_ssl 1.1.3 OpenSSL binding with concurrent I/O
ocsigen-i18n 4.0.0 I18n made easy for web sites written with eliom
ocsigen-ppx-rpc 1.0 This PPX adds a syntax for RPCs for Eliom and Ocsigen Start
ocsigen-start 6.1.0 An Eliom application skeleton ready to use to build your own application with users, (pre)registration, notifications, etc
ocsigen-toolkit 3.2.0 Reusable UI components for Eliom applications (client only, or client-server)
ocsigenserver 5.0.1 A full-featured and extensible Web server
OCaml version 4.13.1