[erlang-questions] PLT for R15B
Bengt Kleberg
bengt.kleberg@REDACTED
Thu Jan 5 11:51:12 CET 2012
To build a OTP PLT on a 4 G machine I do a shell loop like this:
for ( i in lib/*0/ebin ) {
dialyzer -add_to_plt -r $i
}
I have not considered the possibility that this will make me miss some
warnings. Will it?
bengt
On Thu, 2012-01-05 at 11:27 +0100, Olivier BOUDEVILLE wrote:
>
> Hi,
>
> Not exactly, the computers we use routinely have at least 8GB of RAM,
> so we hadn't noticed anything until trying to do the same with older
> laptops.
>
> I was thinking that due to the better compactness of 32-bit VMs and to
> the potential use of swap (I *suppose* it was used indeed) this could
> have worked on these computers, but even in a lean and mean context
> with as much memory freed as possible before launching Dialyzer, this
> could not do the trick.
>
> Actually we integrated some time ago an automatic PLT generation into
> our custom script to install Erlang (from sources), this is why we
> ended up generating the PLT on different kinds of computers (not
> knowing to what extent we could build once for all a PLT for a given
> Erlang version; architectures and paths may differ, possibly causing
> issues).
>
> It boils down in our case to run: $dialyzer_exec --build_plt -r
> $erlang_beam_root --output_plt $actual_plt_file
>
> and indeed it is quite long (less than two hours here, though) but
> terminates (provided there is enough RAM of course).
>
> Not sure such a PLT could be generated incrementally in a simple
> manner with the same global level of checking?
>
> Best regards,
>
> Olivier.
> ---------------------------
> Olivier Boudeville
>
> EDF R&D : 1, avenue du Général de Gaulle, 92140 Clamart, France
> Département SINETICS, groupe ASICS (I2A), bureau B-226
> Office : +33 1 47 65 59 58 / Mobile : +33 6 16 83 37 22 / Fax : +33 1
> 47 65 27 13
>
>
> bengt.kleberg@REDACTED
> Envoyé par :
> erlang-questions-bounces@REDACTED
>
> 05/01/2012 10:53
> Veuillez répondre à
> bengt.kleberg@REDACTED
>
>
>
>
> A
> undisclosed-recipients:;
> cc
> erlang-questions@REDACTED
> Objet
> Re:
> [erlang-questions] PLT for R15B
>
>
>
>
>
>
>
>
> Greetings,
>
> You mention that you no longer get memory exhaustion when building a
> PLT
> for OTP. Is this correct? When I did
>
> dialyzer -build_otp -r lib/*-0/ebin
>
> I run out of memory on a 4 GB Linux machine.
>
>
> bengt
>
> On Thu, 2012-01-05 at 10:37 +0100, Olivier BOUDEVILLE wrote:
> >
> > Hi,
> >
> > Just to report a few warnings that are output when generating the
> full
> > PLT for R15B, as it may highlight a few minor defects:
> >
> > """
> > client_server.erl:34: Call to missing or unexported function
> > ssl:seed/1
> > client_server.erl:49: Call to missing or unexported function
> > ssl:peercert/2
> > client_server.erl:66: Call to missing or unexported function
> > ssl:peercert/2
> > eunit_test.erl:302: Call to missing or unexported function
> > eunit_test:nonexisting_function/0
> > xrc.erl:124: Call to missing or unexported function
> > wxXmlResource:reload/2
> > Unknown functions:
> > asn1rt_driver_handler:load_driver/0
> > wxWindows:'Destroy'/1
> > wx_core:quit/0
> > """
> >
> > On a side note, even before R15B, on some low-end computers
> (typically
> > a 32-bit laptop with only 1GB of RAM, yet with some swap) we were
> not
> > able anymore to generate that kind of full PLT, due to memory
> > exhaustion.
> >
> > As for eunit_test:nonexisting_function/0, this does not look at all
> as
> > a defect, so it might be interesting to be able to hide those
> expected
> > warnings one way or another (dialyzer suppression files anyone?).
> >
> > Best regards,
> >
> > Olivier.
> > ---------------------------
> > Olivier Boudeville
> >
> > EDF R&D : 1, avenue du Général de Gaulle, 92140 Clamart, France
> > Département SINETICS, groupe ASICS (I2A), bureau B-226
> > Office : +33 1 47 65 59 58 / Mobile : +33 6 16 83 37 22 / Fax : +33
> 1
> > 47 65 27 13
> >
> >
> > Ce message et toutes les pièces jointes (ci-après le 'Message') sont
> > établis à l'intention exclusive des destinataires et les
> informations
> > qui y figurent sont strictement confidentielles. Toute utilisation
> de
> > ce Message non conforme à sa destination, toute diffusion ou toute
> > publication totale ou partielle, est interdite sauf autorisation
> > expresse.
> >
> > Si vous n'êtes pas le destinataire de ce Message, il vous est
> interdit
> > de le copier, de le faire suivre, de le divulguer ou d'en utiliser
> > tout ou partie. Si vous avez reçu ce Message par erreur, merci de le
> > supprimer de votre système, ainsi que toutes ses copies, et de n'en
> > garder aucune trace sur quelque support que ce soit. Nous vous
> > remercions également d'en avertir immédiatement l'expéditeur par
> > retour du message.
> >
> > Il est impossible de garantir que les communications par messagerie
> > électronique arrivent en temps utile, sont sécurisées ou dénuées de
> > toute erreur ou virus.
> > ____________________________________________________
> >
> > This message and any attachments (the 'Message') are intended solely
> > for the addressees. The information contained in this Message is
> > confidential. Any use of information contained in this Message not
> in
> > accord with its purpose, any dissemination or disclosure, either
> whole
> > or partial, is prohibited except formal approval.
> >
> > If you are not the addressee, you may not copy, forward, disclose or
> > use any part of it. If you have received this message in error,
> please
> > delete it and all copies from your system and notify the sender
> > immediately by return message.
> >
> > E-mail communication cannot be guaranteed to be timely secure, error
> > or virus-free.
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
>
>
> Ce message et toutes les pièces jointes (ci-après le 'Message') sont
> établis à l'intention exclusive des destinataires et les informations
> qui y figurent sont strictement confidentielles. Toute utilisation de
> ce Message non conforme à sa destination, toute diffusion ou toute
> publication totale ou partielle, est interdite sauf autorisation
> expresse.
>
> Si vous n'êtes pas le destinataire de ce Message, il vous est interdit
> de le copier, de le faire suivre, de le divulguer ou d'en utiliser
> tout ou partie. Si vous avez reçu ce Message par erreur, merci de le
> supprimer de votre système, ainsi que toutes ses copies, et de n'en
> garder aucune trace sur quelque support que ce soit. Nous vous
> remercions également d'en avertir immédiatement l'expéditeur par
> retour du message.
>
> Il est impossible de garantir que les communications par messagerie
> électronique arrivent en temps utile, sont sécurisées ou dénuées de
> toute erreur ou virus.
> ____________________________________________________
>
> This message and any attachments (the 'Message') are intended solely
> for the addressees. The information contained in this Message is
> confidential. Any use of information contained in this Message not in
> accord with its purpose, any dissemination or disclosure, either whole
> or partial, is prohibited except formal approval.
>
> If you are not the addressee, you may not copy, forward, disclose or
> use any part of it. If you have received this message in error, please
> delete it and all copies from your system and notify the sender
> immediately by return message.
>
> E-mail communication cannot be guaranteed to be timely secure, error
> or virus-free.
More information about the erlang-questions
mailing list