Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Example demo leaks memory #658

@hansole

Description

@hansole

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions