From ericbmerritt@REDACTED Sat Jun 2 17:23:19 2012 From: ericbmerritt@REDACTED (Eric Merritt) Date: Sat, 2 Jun 2012 10:23:19 -0500 Subject: [erlang-bugs] possible bug in package loading Message-ID: I realize that packages are not technically supported. However, I ran across a rather ugly (possible) bug that, as long as packages are in the language, should probably be resolved. The bug is this. Lets say you have a bin dir at /some/directory/structure/ebin and you have packages under this, say package foo.shell. If you accidentally set your package to some/directory/structure/ebin/foo the code loader dies saying =ERROR REPORT==== 2-Jun-2012::10:17:17 === beam/beam_load.c(1250): Error loading module shell: module name in object code is foo.shell Technically I can see why this is an issue. However, I suspect it can be handled better then it currently is. Eric From eric.pailleau@REDACTED Sun Jun 3 11:38:41 2012 From: eric.pailleau@REDACTED (PAILLEAU Eric) Date: Sun, 03 Jun 2012 11:38:41 +0200 Subject: [erlang-bugs] net_adm:ping annoying messages due to /etc/hosts content In-Reply-To: <4F8B0506.409@wanadoo.fr> References: <4F8B0506.409@wanadoo.fr> Message-ID: <4FCB30A1.2020009@wanadoo.fr> Hi, any feedback on this ? I know it is not a blocking issue, but my logs are full of these messages and I can't have access to the /etc/hosts in "real life" at my customer environment. Is any way to get rid of this whitout access to /etc/hosts ? Regards. Le 15/04/2012 19:27, PAILLEAU Eric a ?crit : > Hi, > > I don't know if it is a bug but I get very annoying SASL error messages > as below when I use net_adm:ping() : > > ---8<---------------------------------------------------- > =ERROR REPORT==== 15-Apr-2012::19:07:44 === > ** System running to use fully qualified hostnames ** > ** Hostname localhost is illegal ** > ---8<---------------------------------------------------- > > because I have in my /etc/hosts > > ---8<---------------------------------------------------- > 127.0.0.1 localhost > ---8<---------------------------------------------------- > > I understand that hostnames known by Erlang should be fully qualified > when node is starting with -name but I wonder why it cares about > shortnames and especially to localhost because : > > the strange thing is that when I change to : > ---8<---------------------------------------------------- > 127.0.0.1 mylocalhost > ---8<---------------------------------------------------- > > I do not have the messages, even if it is not fully qualified too ... > > Regards > From eric.pailleau@REDACTED Sun Jun 3 14:51:51 2012 From: eric.pailleau@REDACTED (PAILLEAU Eric) Date: Sun, 03 Jun 2012 14:51:51 +0200 Subject: [erlang-bugs] net_adm:ping annoying messages due to /etc/hosts content In-Reply-To: References: <4F8B0506.409@wanadoo.fr> <4FCB30A1.2020009@wanadoo.fr> Message-ID: <4FCB5DE7.7020706@wanadoo.fr> Le 03/06/2012 11:48, Gleb Peregud a ?crit : > On Sun, Jun 3, 2012 at 11:38 AM, PAILLEAU Eric wrote: >> Hi, >> any feedback on this ? >> >> I know it is not a blocking issue, but my logs are full of these >> messages and I can't have access to the /etc/hosts in "real life" at my >> customer environment. > > This is problematic, since usually Erlang systems are run on hosts > with full access to all parts of the system. Hence usually it is > acceptable to tune the system for running Erlang apps. You might be in > a very rare situation. rare, maybe. But I guess that many erlang nodes are not running in root privileges and the goal of using a virtual machine should to be independant of any OS constraints ... > >> Is any way to get rid of this whitout access to /etc/hosts ? > > What about running with -sname ? > I don't have this behaviour with -sname in my test environment. (this is also the strange thing because 'localhost' is not fully qualifed ...) But I suppose the use of -name is depending of the distribution between subnets in different datacenters. I can't change this without knowing what I do and without customer agreement. This could be a workaround in some case, maybe I can see at changing the event manager to ignore this kind of message at SASL level, but a bit weird... thanks for your interest. Regards From eric.pailleau@REDACTED Sun Jun 3 15:54:47 2012 From: eric.pailleau@REDACTED (PAILLEAU Eric) Date: Sun, 03 Jun 2012 15:54:47 +0200 Subject: [erlang-bugs] net_adm:ping annoying messages due to /etc/hosts content In-Reply-To: References: <4F8B0506.409@wanadoo.fr> <4FCB30A1.2020009@wanadoo.fr> <4FCB5DE7.7020706@wanadoo.fr> Message-ID: <4FCB6CA7.8030307@wanadoo.fr> > > Have you tried running all your nodes (including temporary ones) with > explicitly set name? Like this: > erl -name app@REDACTED -boot .... > Hi, sorry but I do not understand your answer upper . When using -name it is mandatory to have app@REDACTED , if not init crashes : (for example -name app ) {error_logger,{{2012,6,3},{15,48,32}},"Can't set long node name!\nPlease check your configuration\n",[]} From eric.pailleau@REDACTED Sun Jun 3 16:38:47 2012 From: eric.pailleau@REDACTED (PAILLEAU Eric) Date: Sun, 03 Jun 2012 16:38:47 +0200 Subject: [erlang-bugs] net_adm:ping annoying messages due to /etc/hosts content In-Reply-To: References: <4F8B0506.409@wanadoo.fr> <4FCB30A1.2020009@wanadoo.fr> <4FCB5DE7.7020706@wanadoo.fr> <4FCB6CA7.8030307@wanadoo.fr> Message-ID: <4FCB76F7.2000107@wanadoo.fr> > > 127.0.0.1 host.lan host > > > Why is 'localhost' is coming up at all in SASL logs? Do you start any > of your nodes as "erl -name app@REDACTED"? > Hi, it is mandatory for me because I do not have the short name in /etc/host, only the long name. i.e. 192.168.13.1 test1@REDACTED not 192.168.13.1 test1@REDACTED test1 in second case -name test1 works. You are right. No we do not use 127.0.0.1 neither localhost for a node name. I have something like 192.168.13.1 test1@REDACTED 192.168.13.2 test2@REDACTED ... and the simple fact to have in /etc/hosts : 127.0.0.1 localhost create the problem, even it is not used... It is why i suspect a bug. and, I say again that changing to : 127.0.0.1 mylocalhost solve strangely the problem ... I will try with 127.0.0.1 localhost.mydomain.priv localhost to see what happens regards From eric.pailleau@REDACTED Sun Jun 3 16:44:16 2012 From: eric.pailleau@REDACTED (PAILLEAU Eric) Date: Sun, 03 Jun 2012 16:44:16 +0200 Subject: [erlang-bugs] net_adm:ping annoying messages due to /etc/hosts content In-Reply-To: <4FCB76F7.2000107@wanadoo.fr> References: <4F8B0506.409@wanadoo.fr> <4FCB30A1.2020009@wanadoo.fr> <4FCB5DE7.7020706@wanadoo.fr> <4FCB6CA7.8030307@wanadoo.fr> <4FCB76F7.2000107@wanadoo.fr> Message-ID: <4FCB7840.1010706@wanadoo.fr> > i.e. > 192.168.13.1 test1@REDACTED > not > 192.168.13.1 test1@REDACTED test1 Sorry read : 192.168.13.1 test1@REDACTED myhost From eric.pailleau@REDACTED Sun Jun 3 17:51:09 2012 From: eric.pailleau@REDACTED (PAILLEAU Eric) Date: Sun, 03 Jun 2012 17:51:09 +0200 Subject: [erlang-bugs] net_adm:ping annoying messages due to /etc/hosts content In-Reply-To: <4FCB76F7.2000107@wanadoo.fr> References: <4F8B0506.409@wanadoo.fr> <4FCB30A1.2020009@wanadoo.fr> <4FCB5DE7.7020706@wanadoo.fr> <4FCB6CA7.8030307@wanadoo.fr> <4FCB76F7.2000107@wanadoo.fr> Message-ID: <4FCB87ED.3030000@wanadoo.fr> > > I will try with > 127.0.0.1 localhost.mydomain.priv localhost > to see what happens Hi, does not change the problem... I suppose I have to ask my customer to remove 127.0.0.1 localhost in /etc/hosts or set another name to loopback... It would be nice if somebody in the mailing list can test if the problem occurs in its own environment. May be OTP team can explain this, next week. regards. From beads.d.land@REDACTED Sun Jun 3 22:32:00 2012 From: beads.d.land@REDACTED (Beads Land-Trujillo) Date: Sun, 3 Jun 2012 16:32:00 -0400 Subject: [erlang-bugs] possible bug in package loading In-Reply-To: References: Message-ID: <00cc01cd41c7$ee444000$caccc000$@gmail.com> Hi Eric, Would be interested in some clarification as to what you're thinking might be handled "better" here? Unless I'm mistaken, this is per spec. One can argue with the elegance of the spec (I'm actually working on some hacks for using packages to get around this design), which is why I'm interested in the question. Is your contention that the compiler should generate some other sort of message when finding a module declaration that doesn't match the directory structure as mapped to a package path? - Beads http://tanglelabs.com/ -----Original Message----- From: erlang-bugs-bounces@REDACTED [mailto:erlang-bugs-bounces@REDACTED] On Behalf Of Eric Merritt Sent: Saturday, June 02, 2012 11:23 AM To: erlang-bugs@REDACTED Subject: [erlang-bugs] possible bug in package loading I realize that packages are not technically supported. However, I ran across a rather ugly (possible) bug that, as long as packages are in the language, should probably be resolved. The bug is this. Lets say you have a bin dir at /some/directory/structure/ebin and you have packages under this, say package foo.shell. If you accidentally set your package to some/directory/structure/ebin/foo the code loader dies saying =ERROR REPORT==== 2-Jun-2012::10:17:17 === beam/beam_load.c(1250): Error loading module shell: module name in object code is foo.shell Technically I can see why this is an issue. However, I suspect it can be handled better then it currently is. Eric _______________________________________________ erlang-bugs mailing list erlang-bugs@REDACTED http://erlang.org/mailman/listinfo/erlang-bugs From ericbmerritt@REDACTED Mon Jun 4 01:45:12 2012 From: ericbmerritt@REDACTED (Eric Merritt) Date: Sun, 3 Jun 2012 18:45:12 -0500 Subject: [erlang-bugs] possible bug in package loading In-Reply-To: <00cc01cd41c7$ee444000$caccc000$@gmail.com> References: <00cc01cd41c7$ee444000$caccc000$@gmail.com> Message-ID: On Sun, Jun 3, 2012 at 3:32 PM, Beads Land-Trujillo wrote: > Hi Eric, > > Would be interested in some clarification as to what you're thinking might > be handled "better" here? ?Unless I'm mistaken, this is per spec. It could be per spec. It just seams like a poor user experience. I would probably just wander up the directory chain to see if the module name matches the current structure. That said I suspect there are a couple of unintended consequences to that. > > One can argue with the elegance of the spec (I'm actually working on some > hacks for using packages to get around this design), which is why I'm > interested in the question. > > Is your contention that the compiler should generate some other sort of > message when finding a module declaration that doesn't match the directory > structure as mapped to a package path? I would say that it shouldn't actually be an error. Maybe an informational message to get folks to fix their paths but that it. The module is good and in the path after all. That said its not a big deal. I have only run across this once and it was pretty easy to figure out the issue and get it resolved. > > - Beads > > http://tanglelabs.com/ > > > -----Original Message----- > From: erlang-bugs-bounces@REDACTED [mailto:erlang-bugs-bounces@REDACTED] > On Behalf Of Eric Merritt > Sent: Saturday, June 02, 2012 11:23 AM > To: erlang-bugs@REDACTED > Subject: [erlang-bugs] possible bug in package loading > > I realize that packages are not technically supported. However, I ran across > a rather ugly (possible) bug that, as long as packages are in the language, > should probably be resolved. > > The bug is this. Lets say you have a bin dir at > /some/directory/structure/ebin and you have packages under this, say package > foo.shell. If you accidentally set your package to > some/directory/structure/ebin/foo the code loader dies saying > > =ERROR REPORT==== 2-Jun-2012::10:17:17 === > beam/beam_load.c(1250): Error loading module shell: > ?module name in object code is foo.shell > > Technically I can see why this is an issue. However, I suspect it can be > handled better then it currently is. > > Eric > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs > > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs From raimo+erlang-bugs@REDACTED Mon Jun 4 09:15:20 2012 From: raimo+erlang-bugs@REDACTED (Raimo Niskanen) Date: Mon, 4 Jun 2012 09:15:20 +0200 Subject: [erlang-bugs] net_adm:ping annoying messages due to /etc/hosts content In-Reply-To: <4F8B0506.409@wanadoo.fr> References: <4F8B0506.409@wanadoo.fr> Message-ID: <20120604071520.GA14824@erix.ericsson.se> On Sun, Apr 15, 2012 at 07:27:34PM +0200, PAILLEAU Eric wrote: > Hi, > > I don't know if it is a bug but I get very annoying SASL error messages > as below when I use net_adm:ping() : What are the arguments when starting the node? Which is the argument to net_adm:ping()? Which is your Erlang/OTP version? [erlang:system_info(system_version)] > > ---8<---------------------------------------------------- > =ERROR REPORT==== 15-Apr-2012::19:07:44 === > ** System running to use fully qualified hostnames ** > ** Hostname localhost is illegal ** > ---8<---------------------------------------------------- > > because I have in my /etc/hosts > > ---8<---------------------------------------------------- > 127.0.0.1 localhost > ---8<---------------------------------------------------- > > I understand that hostnames known by Erlang should be fully qualified > when node is starting with -name but I wonder why it cares about > shortnames and especially to localhost because : > > the strange thing is that when I change to : > ---8<---------------------------------------------------- > 127.0.0.1 mylocalhost > ---8<---------------------------------------------------- > > I do not have the messages, even if it is not fully qualified too ... > > Regards > > > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs -- / Raimo Niskanen, Erlang/OTP, Ericsson AB From eric.pailleau@REDACTED Mon Jun 4 22:23:56 2012 From: eric.pailleau@REDACTED (PAILLEAU Eric) Date: Mon, 04 Jun 2012 22:23:56 +0200 Subject: [erlang-bugs] net_adm:ping annoying messages due to /etc/hosts content In-Reply-To: <20120604071520.GA14824@erix.ericsson.se> References: <4F8B0506.409@wanadoo.fr> <20120604071520.GA14824@erix.ericsson.se> Message-ID: <4FCD195C.90901@wanadoo.fr> Hi, I finally found the problem. A colleague of mine had the "good" idea to add 'localhost'. in ~/.hosts.erlang both in test env and in customer env, mixed with FQDN hosts ... The line which cause the messages was (simplified) : lists:foreach(fun(N) -> net_adm:ping(N) end , lists:delete(node(),net_adm:world())). Message was in fact not raised by net_adm:ping/1 but by net_adm:world/0 . But what is tricky is that we do not have "127.0.0.1 localhost" in our test env. *in such case no message is raised* . As it was the lone difference between both env, I add the line in our /etc/hosts and I saw that raised the messages. It is the reason why I though it was the only problem . When removing 'localhost'. in ~/.hosts.erlang everything is OK. So localhost must be both in /etc/hosts and ~/.hosts.erlang to create the problem. Strange isn't it ? Regards From eric.pailleau@REDACTED Tue Jun 5 21:53:41 2012 From: eric.pailleau@REDACTED (PAILLEAU Eric) Date: Tue, 05 Jun 2012 21:53:41 +0200 Subject: [erlang-bugs] R15B01 : lib:progname/0 of erlc is erl... Message-ID: <4FCE63C5.80901@wanadoo.fr> Hi, sorry to monopolize the list. I'm using ~/.erlang file in order to automatize some applications start in developpement. But my applications are starting when compiling with erlc . Well, erlc evaluates ~/.erlang at start like erl . OK... I first used some plain arguments on erl start to detect erl or erlc but I forget often to add it in my command line. I wanted to do something smarter. So I wrote in my ~/.erlang file : ------------------------------------ case lib:progname() of 'erlc' -> ok ; % do nothing 'erl' -> % start my favorite apps ... end. ------------------------------------ Applications are starting anyway when compiling. This can be seen by writing in ~/.erlang file : ------------------------------------ io:fwrite("~p~n",[lib:progname()]). ------------------------------------ erlc -Wall -I include -o ebin/ src/xxxxx.erl erl The progname of erlc is erl ... --------- Erlang doc ----------------------------------------- lib:progname() -> atom() Returns the name of the script that started the current Erlang session. --------------------------------------------------------------- erlc is a binary, erl is a shell script that launch erlexec which is a binary too. So what exactly the meaning of the documentation ? Is it a bug in erlc ? Even if erlc is a wrapper of erl, I suppose it should have erlc as program name ... Regards. From bengt.kleberg@REDACTED Thu Jun 7 09:04:08 2012 From: bengt.kleberg@REDACTED (Bengt Kleberg) Date: Thu, 7 Jun 2012 09:04:08 +0200 Subject: [erlang-bugs] R15B01 : lib:progname/0 of erlc is erl... In-Reply-To: <4FCE63C5.80901@wanadoo.fr> References: <4FCE63C5.80901@wanadoo.fr> Message-ID: <1339052648.5968.18.camel@seasc1027.dyn.rnd.as.sw.ericsson.se> Greetings, The lib module is marked deprecated. This makes me wonder if you are willing to consider another less-than-production-quality solution? In that case, have you considered looking at arguments to distinguish erl vs erlc? Ex: On my system init:get_arguments/0 return both {mode,["minimal"]} and {boot,["start_clean"]} for erlc, but not erl. bengt On Tue, 2012-06-05 at 21:53 +0200, PAILLEAU Eric wrote: > Hi, > sorry to monopolize the list. > > I'm using ~/.erlang file in order to automatize some applications start > in developpement. > > But my applications are starting when compiling with erlc . > Well, erlc evaluates ~/.erlang at start like erl . OK... > > I first used some plain arguments on erl start to detect erl or erlc but > I forget often to add it in my command line. I wanted to do something > smarter. > > So I wrote in my ~/.erlang file : > ------------------------------------ > case lib:progname() of > 'erlc' -> ok ; % do nothing > 'erl' -> % start my favorite apps > ... > end. > ------------------------------------ > > Applications are starting anyway when compiling. > > This can be seen by writing in ~/.erlang file : > ------------------------------------ > io:fwrite("~p~n",[lib:progname()]). > ------------------------------------ > > erlc -Wall -I include -o ebin/ src/xxxxx.erl > erl > > The progname of erlc is erl ... > > --------- Erlang doc ----------------------------------------- > lib:progname() -> atom() > > Returns the name of the script that started the current Erlang session. > --------------------------------------------------------------- > > erlc is a binary, erl is a shell script that launch erlexec which is a > binary too. > So what exactly the meaning of the documentation ? Is it a bug in erlc ? > Even if erlc is a wrapper of erl, I suppose it should have erlc as > program name ... > > Regards. > > > > > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs From ulf@REDACTED Thu Jun 7 09:56:14 2012 From: ulf@REDACTED (Ulf Wiger) Date: Thu, 7 Jun 2012 09:56:14 +0200 Subject: [erlang-bugs] R15B01 : lib:progname/0 of erlc is erl... In-Reply-To: <1339052648.5968.18.camel@seasc1027.dyn.rnd.as.sw.ericsson.se> References: <4FCE63C5.80901@wanadoo.fr> <1339052648.5968.18.camel@seasc1027.dyn.rnd.as.sw.ericsson.se> Message-ID: In fact, this can be made a bit more predictable with the help of the environment variable ERLC_EMULATOR. (documented on the erlc man page). "ERLC_EMULATOR The command for starting the emulator. Default is erl in the same directory as the erlc program itself, or if it doesn't exist, erl in any of the directories given in the PATH environment variable." BR, Ulf W On 7 Jun 2012, at 09:04, Bengt Kleberg wrote: > Greetings, > > The lib module is marked deprecated. This makes me wonder if you are > willing to consider another less-than-production-quality solution? > > In that case, have you considered looking at arguments to distinguish > erl vs erlc? > Ex: On my system init:get_arguments/0 return both {mode,["minimal"]} and > {boot,["start_clean"]} for erlc, but not erl. > > > bengt > > On Tue, 2012-06-05 at 21:53 +0200, PAILLEAU Eric wrote: >> Hi, >> sorry to monopolize the list. >> >> I'm using ~/.erlang file in order to automatize some applications start >> in developpement. >> >> But my applications are starting when compiling with erlc . >> Well, erlc evaluates ~/.erlang at start like erl . OK... >> >> I first used some plain arguments on erl start to detect erl or erlc but >> I forget often to add it in my command line. I wanted to do something >> smarter. >> >> So I wrote in my ~/.erlang file : >> ------------------------------------ >> case lib:progname() of >> 'erlc' -> ok ; % do nothing >> 'erl' -> % start my favorite apps >> ... >> end. >> ------------------------------------ >> >> Applications are starting anyway when compiling. >> >> This can be seen by writing in ~/.erlang file : >> ------------------------------------ >> io:fwrite("~p~n",[lib:progname()]). >> ------------------------------------ >> >> erlc -Wall -I include -o ebin/ src/xxxxx.erl >> erl >> >> The progname of erlc is erl ... >> >> --------- Erlang doc ----------------------------------------- >> lib:progname() -> atom() >> >> Returns the name of the script that started the current Erlang session. >> --------------------------------------------------------------- >> >> erlc is a binary, erl is a shell script that launch erlexec which is a >> binary too. >> So what exactly the meaning of the documentation ? Is it a bug in erlc ? >> Even if erlc is a wrapper of erl, I suppose it should have erlc as >> program name ... >> >> Regards. >> >> >> >> >> _______________________________________________ >> erlang-bugs mailing list >> erlang-bugs@REDACTED >> http://erlang.org/mailman/listinfo/erlang-bugs > > > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs Ulf Wiger, Co-founder & Developer Advocate, Feuerlabs Inc. http://feuerlabs.com From eric.pailleau@REDACTED Thu Jun 7 22:32:50 2012 From: eric.pailleau@REDACTED (PAILLEAU Eric) Date: Thu, 07 Jun 2012 22:32:50 +0200 Subject: [erlang-bugs] R15B01 : lib:progname/0 of erlc is erl... In-Reply-To: <1339052648.5968.18.camel@seasc1027.dyn.rnd.as.sw.ericsson.se> References: <4FCE63C5.80901@wanadoo.fr> <1339052648.5968.18.camel@seasc1027.dyn.rnd.as.sw.ericsson.se> Message-ID: <4FD10FF2.1090101@wanadoo.fr> Le 07/06/2012 09:04, Bengt Kleberg a ?crit : > Greetings, > > The lib module is marked deprecated. This makes me wonder if you are > willing to consider another less-than-production-quality solution? > > In that case, have you considered looking at arguments to distinguish > erl vs erlc? > Ex: On my system init:get_arguments/0 return both {mode,["minimal"]} and > {boot,["start_clean"]} for erlc, but not erl. > Hi Bengt, I can not say that it is intellectually satisfying :>) but it will do the trick... Thanks . I forgot that lib was deprecated. More generally speaking, - do really need erlc to evaluate the ~/.erlang file at start ? - Is there a plan to replace the lib module functions in another module or in erts ? and so to have a simple way to know if erl or erlc is running... regards From carlsson.richard@REDACTED Fri Jun 8 13:09:33 2012 From: carlsson.richard@REDACTED (Richard Carlsson) Date: Fri, 08 Jun 2012 13:09:33 +0200 Subject: [erlang-bugs] rpc to local node ignores timeout Message-ID: <4FD1DD6D.1020407@gmail.com> This behaviour was unexpected: rpc:call(node(), timer, sleep, [infinity], 1000) should yield {badrpc,timeout} after 1 second, but instead it ignores the timeout and waits forever. This is due to an "optimization" in the rpc.erl module that uses the function local_call/3 (without timeout) if the called node is the same as the local node. /Richard From ulf@REDACTED Fri Jun 8 14:06:37 2012 From: ulf@REDACTED (Ulf Wiger) Date: Fri, 8 Jun 2012 14:06:37 +0200 Subject: [erlang-bugs] rpc to local node ignores timeout In-Reply-To: <4FD1DD6D.1020407@gmail.com> References: <4FD1DD6D.1020407@gmail.com> Message-ID: <69D093DF-A7D0-4A79-BBF7-B1F5B4934EF4@feuerlabs.com> Heh! Very nice. :) BR, Ulf On 8 Jun 2012, at 13:09, Richard Carlsson wrote: > This behaviour was unexpected: > > rpc:call(node(), timer, sleep, [infinity], 1000) > > should yield {badrpc,timeout} after 1 second, but instead it ignores the timeout and waits forever. This is due to an "optimization" in the rpc.erl module that uses the function local_call/3 (without timeout) if the called node is the same as the local node. > > /Richard > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs Ulf Wiger, Co-founder & Developer Advocate, Feuerlabs Inc. http://feuerlabs.com From matthias@REDACTED Mon Jun 11 22:33:27 2012 From: matthias@REDACTED (Matthias Radestock) Date: Mon, 11 Jun 2012 21:33:27 +0100 Subject: [erlang-bugs] stray message sent by remote closure of passive ssl sockets Message-ID: <4FD65617.6090500@rabbitmq.com> There is a bug in the handling of remote connection closure of {active,false} ssl sockets. It is present in at least R15B01 and R15B. Eshell V5.9.1 (abort with ^G) 1> ssl:start(). ok 2> {ok, S} = ssl:connect("www.google.com", 443, [{active,false}]). {ok,{sslsocket,new_ssl,<0.48.0>}} 3> ssl:send(S, <<"BANG\n\n">>). ok 4> ssl:recv(S, 0). {ok,"HTTP/1.0 400 Bad Request\r\nContent-Type: text/html; charset=UTF-8\r\nContent-Length: 925\r\nDate: Mon, 11 Jun 2012 19:19:52 GMT\r\nServer: GFE/2.0\r\n\r\n"} 5> ssl:recv(S, 0). {ok,[60,33,68,79,67,84,89,80,69,32,104,116,109,108,62,10,60, 104,116,109,108,32,108,97,110,103,61|...]} 6> ssl:recv(S, 0). {error,closed} 7> flush(). Shell got {#Ref<0.0.0.51>,{error,closed}} ok The shell process should not have received that last message. Poking around ssl_connection.erl and doing some tracing, I reckon what is happening is that handle_normal_shutdown pays no attention to #state.recv_from and instead calls alert_user with the value of #state.from, which is the gen_fsm reply destination from the handshake phase of ssl_connection:connect. So the ssl_connection sends a gen_fsm reply to the process that invoked ssl:connect, even though that process has long since moved past that point. That explains the stray message above. But why did the last ssl:recv still return {error,closed}? Because the ssl_connection process terminates normally, which is caught in sync_send_all_state_event and converted into {error,closed}. Regards, Matthias. From jebu.ittiachen@REDACTED Tue Jun 12 07:21:50 2012 From: jebu.ittiachen@REDACTED (Jebu Ittiachen) Date: Tue, 12 Jun 2012 10:51:50 +0530 Subject: [erlang-bugs] Scheduler thread spins in futex_wait and sched_yield Message-ID: Hi, I seem to have hit upon a weird bug in the Erlang scheduler. I'm running R15B01 on Linux 64bit, Erlang compiled with HiPE disabled. Erlang starts up with 4 scheduler threads and everything is ok for a while. After a period of time the CPU usage drops on the machine and things start going slow. top -H shows 2 threads of the 4 running at around 15% and the other 2 at 95%. Typically all 4 threads are more or less in the same CPU utilization figures. strace on the process shows the two sluggish threads alternating between calls to futex_wait and sched_yield while the other two are doing a lot of other stuff. Here is a sample of strace -f -p |grep 20292 sched_yield( 20292 <... sched_yield resumed> ) = 0 20292 sched_yield( 20292 <... sched_yield resumed> ) = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 futex(0x1bf2220, FUTEX_WAIT_PRIVATE, 4294967295, NULL 20292 <... futex resumed> ) = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 20292 sched_yield() = 0 My only option out of this now is to restart the node, when it again runs happily for a while before scheduler threads start dropping off. I'd be happy to provide any more dumps/info that maybe needed to get to the bottom of this. Thanks -- Jebu Ittiachen jebu.ittiachen@REDACTED -------------- next part -------------- An HTML attachment was scrubbed... URL: From raymon.cb@REDACTED Tue Jun 12 23:08:19 2012 From: raymon.cb@REDACTED (Ramon Bynum) Date: Tue, 12 Jun 2012 21:08:19 +0000 Subject: [erlang-bugs] term_to_binary/2 raises exceptions Message-ID: term_to_binary/2 with [safe] as the second argument either throws an exception, or returns the decoded term. wouldnt it be better if it return either {error, badarg} or {ok, the decoded term} ? i think it should be changed to this. btw while at it can you rename the function to dudebro? ive already written my code and it uses that name everywher. thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias@REDACTED Wed Jun 13 11:55:57 2012 From: matthias@REDACTED (Matthias Radestock) Date: Wed, 13 Jun 2012 10:55:57 +0100 Subject: [erlang-bugs] stray message sent by remote closure of passive ssl sockets In-Reply-To: <4FD85E2C.50508@erix.ericsson.se> References: <4FD65617.6090500@rabbitmq.com> <4FD85E2C.50508@erix.ericsson.se> Message-ID: <4FD863AD.4070007@rabbitmq.com> Ingela, On 13/06/12 10:32, Ingela Anderton Andin wrote: > Thank you for reporting this, the following should solve your > problem!? Indeed it should. But I am generally suspicious that 'from' remains set even after the ssl_connection has gen_fsm:reply'ed to it. That leaves the door open for other code to mistakenly send another reply. For example, I suspect that if recv_from=undefined, i.e. there is currently no pending recv, then ssl_connection will still end up sending a second gen_fsm:reply to the 'from'. Matthias. From gomoripeti@REDACTED Wed Jun 13 12:21:16 2012 From: gomoripeti@REDACTED (=?ISO-8859-1?Q?Peti_G=F6m=F6ri?=) Date: Wed, 13 Jun 2012 12:21:16 +0200 Subject: [erlang-bugs] Crash in observer TV Message-ID: Hi, In Table Viewer of observer (single table window) if I search for a term which is not found and after that I press Enter two times (why would I normally do this, the term is not found anyway) observer crashes with the below message. I am using R15B01 Is that something already know and fixed in some internal branch or should I try to come up with a fix? thanks Peter error: ** wx object server <8777.18434.0> terminating ** Last message in was {wx,420, {wx_ref,337,wxTextCtrl,[]}, [], {wxCommand,command_text_enter,"foo",0,0}} ** When Server state == {state, {wx_ref,257,wxListCtrl,[]}, {wx_ref,307,wxFrame,[]}, {wx_ref,333,wxListCtrl,[]}, {wx_ref,324,wxStatusBar,[]}, {wx_ref,332,wxBoxSizer,[]}, {search,true, {wx_ref,334,wxBoxSizer,[]}, 'Search Area', {wx_ref,337,wxTextCtrl,[]}, {wx_ref,348,wxTextCtrl,[]}, {{wx_ref,339,wxRadioButton,[]}, {wx_ref,341,wxRadioButton,[]}, {wx_ref,343,wxCheckBox,[]}}, {find,undefined,undefined,false}}, undefined,nodename@REDACTED,4, <8777.18435.0>,ets, {tab,snmpa_symbolic_store,1703986,697,96104, <7935.107.0>,snmpa_symbolic_store,protected, bag,2,none,false,false,undefined,undefined}, {attrs, {wx_ref,326,wxListItemAttr,[]}, {wx_ref,327,wxListItemAttr,[]}, {wx_ref,328,wxListItemAttr,[]}, {wx_ref,329,wxListItemAttr,[]}, {wx_ref,330,wxListItemAttr,[]}}, {false,30}} ** Reason for termination == ** {function_clause, [{wxListCtrl,refreshItem, [{wx_ref,333,wxListCtrl,[]},undefined], [{file,"gen/wxListCtrl.erl"},{line,604}]}, {observer_tv_table,handle_event,2, [{file, "observer_tv_table.erl"}, {line,323}]}, {wx_object,handle_msg,5,[{file,"wx_object.erl"},{line,394}]}, {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]} -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.virding@REDACTED Wed Jun 13 15:25:28 2012 From: robert.virding@REDACTED (Robert Virding) Date: Wed, 13 Jun 2012 14:25:28 +0100 (BST) Subject: [erlang-bugs] term_to_binary/2 raises exceptions In-Reply-To: Message-ID: It it binary_to_term/2 which takes 'safe' as an option. It should definitely *NOT* return {ok,Term} | {error,badarg} when the 'safe' option is used; it should always have the same structure for return values irrespective of options. So it either returns a term or signals a value. dude_bro would be a better name than dudebro, separating words with '_' in atoms is a common convention. It would be a quick fix for you in your code. Robert ----- Original Message ----- > term_to_binary/2 with [safe] as the second argument either throws an > exception, or returns the decoded term. wouldnt it be better if it > return either {error, badarg} or {ok, the decoded term} ? i think it > should be changed to this. btw while at it can you rename the > function to dudebro? ive already written my code and it uses that > name everywher. thanks > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs -------------- next part -------------- An HTML attachment was scrubbed... URL: From emile@REDACTED Wed Jun 13 15:33:54 2012 From: emile@REDACTED (Emile Joubert) Date: Wed, 13 Jun 2012 14:33:54 +0100 Subject: [erlang-bugs] windows 2003 64bit error Message-ID: <4FD896C2.8050708@rabbitmq.com> A user of RabbitMQ has reported a problem on the 64bit Windows of Erlang when running on Windows 2003: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2012-June/020551.html The error reads: The procedure entry point inet_pton could not be located in the dynamic link library Ws2_32.dll These commands are sufficient to trigger the problem: werl -sname testnode@%COMPUTERNAME% werl -sname foo -remsh testnode@%COMPUTERNAME% -- Emile Joubert RabbitMQ SpringSource, a division of VMware VMware From jebu.ittiachen@REDACTED Fri Jun 15 10:10:58 2012 From: jebu.ittiachen@REDACTED (Jebu Ittiachen) Date: Fri, 15 Jun 2012 13:40:58 +0530 Subject: [erlang-bugs] Scheduler thread spins in futex_wait and sched_yield In-Reply-To: References: Message-ID: Well some more findings on this. My workload is typically high and I have seen run queue sizes around 600. The schedulers always keep dropping off in descending order. First scheduler 4 and then scheduler 3. I have not seen it drop after that. Apparently the schedulers are ok but the run queue associated to that scheduler is empty, atleast that is what i could find by monitoring statistics(run_queues). Now the good thing is that I can get the scheduler to start ticking again without a restart. A spawn with scheduler set to the particular scheduler id gets things back to normal again. spawn_opt(fun() -> ok end, [{scheduler, 4}]). Spawning with scheduler 4 brings back both 3 and 4. Extending this I have been able to make sure that schedulers dont drop off just by having one long running active process tied to the last scheduler id. Now maybe this is more of a feature than a bug, if so I'm not sure its helping because once the runq goes dry I have not seen it come back online automatically, this causes a lag in the system as processes are getting cleared off by 2 instead of 4 threads. In addition I see this behaviour is also present in R14B03. -- Jebu On Tue, Jun 12, 2012 at 10:51 AM, Jebu Ittiachen wrote: > Hi, > I seem to have hit upon a weird bug in the Erlang scheduler. I'm running > R15B01 on Linux 64bit, Erlang compiled with HiPE disabled. Erlang starts up > with 4 scheduler threads and everything is ok for a while. After a period > of time the CPU usage drops on the machine and things start going slow. top > -H shows 2 threads of the 4 running at around 15% and the other 2 at 95%. > Typically all 4 threads are more or less in the same CPU utilization > figures. strace on the process shows the two sluggish threads alternating > between calls to futex_wait and sched_yield while the other two are doing a > lot of other stuff. > > Here is a sample of strace -f -p |grep > > 20292 sched_yield( > 20292 <... sched_yield resumed> ) = 0 > 20292 sched_yield( > 20292 <... sched_yield resumed> ) = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 futex(0x1bf2220, FUTEX_WAIT_PRIVATE, 4294967295, NULL ...> > 20292 <... futex resumed> ) = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > 20292 sched_yield() = 0 > > My only option out of this now is to restart the node, when it again > runs happily for a while before scheduler threads start dropping off. I'd > be happy to provide any more dumps/info that maybe needed to get to the > bottom of this. > > Thanks > -- > Jebu Ittiachen > jebu.ittiachen@REDACTED > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jebu.ittiachen@REDACTED Fri Jun 15 12:24:18 2012 From: jebu.ittiachen@REDACTED (Jebu Ittiachen) Date: Fri, 15 Jun 2012 15:54:18 +0530 Subject: [erlang-bugs] Scheduler thread spins in futex_wait and sched_yield In-Reply-To: References: Message-ID: Ah well fixing this for myself looks like this is the scheduler compaction feature kicking in and compacting the run queues. And I should be disabling it with +scl false -- Jebu On Fri, Jun 15, 2012 at 1:40 PM, Jebu Ittiachen wrote: > Well some more findings on this. > My workload is typically high and I have seen run queue sizes around 600. > > The schedulers always keep dropping off in descending order. First > scheduler 4 and then scheduler 3. I have not seen it drop after that. > Apparently the schedulers are ok but the run queue associated to that > scheduler is empty, atleast that is what i could find by monitoring > statistics(run_queues). Now the good thing is that I can get the scheduler > to start ticking again without a restart. A spawn with scheduler set to the > particular scheduler id gets things back to normal again. > spawn_opt(fun() -> ok end, [{scheduler, 4}]). > Spawning with scheduler 4 brings back both 3 and 4. > > Extending this I have been able to make sure that schedulers dont drop off > just by having one long running active process tied to the last scheduler > id. > > Now maybe this is more of a feature than a bug, if so I'm not sure its > helping because once the runq goes dry I have not seen it come back online > automatically, this causes a lag in the system as processes are getting > cleared off by 2 instead of 4 threads. In addition I see this behaviour is > also present in R14B03. > > -- > Jebu > > > On Tue, Jun 12, 2012 at 10:51 AM, Jebu Ittiachen > wrote: > >> Hi, >> I seem to have hit upon a weird bug in the Erlang scheduler. I'm >> running R15B01 on Linux 64bit, Erlang compiled with HiPE disabled. Erlang >> starts up with 4 scheduler threads and everything is ok for a while. After >> a period of time the CPU usage drops on the machine and things start going >> slow. top -H shows 2 threads of the 4 running at around 15% and the other 2 >> at 95%. Typically all 4 threads are more or less in the same CPU >> utilization figures. strace on the process shows the two sluggish threads >> alternating between calls to futex_wait and sched_yield while the other two >> are doing a lot of other stuff. >> >> Here is a sample of strace -f -p |grep >> >> 20292 sched_yield( >> 20292 <... sched_yield resumed> ) = 0 >> 20292 sched_yield( >> 20292 <... sched_yield resumed> ) = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 futex(0x1bf2220, FUTEX_WAIT_PRIVATE, 4294967295, NULL > ...> >> 20292 <... futex resumed> ) = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> 20292 sched_yield() = 0 >> >> My only option out of this now is to restart the node, when it again >> runs happily for a while before scheduler threads start dropping off. I'd >> be happy to provide any more dumps/info that maybe needed to get to the >> bottom of this. >> >> Thanks >> -- >> Jebu Ittiachen >> jebu.ittiachen@REDACTED >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From barry.hawkins@REDACTED Fri Jun 15 16:52:13 2012 From: barry.hawkins@REDACTED (Barry Hawkins) Date: Fri, 15 Jun 2012 10:52:13 -0400 Subject: [erlang-bugs] R15B01 'make install_docs' failure "escript: exception error: undefined function xmerl:export_simple/2" Message-ID: Summary: A local build and install from source for Erlang R15B01 succeeds, 'make docs' succeeds, but the subsequent 'make install-docs' fails. Release: R15B01 Operating System: Mac OS X Lion 10.7.4 Steps to Reproduce: $ curl -O http://www.erlang.org/download/otp_src_R15B01.tar.gz $ tar xzvf otp_src_R15B01.tar.gz $ cd otp_src_R15B01 Per instructions at http://www.erlang.org/doc/installation_guide/INSTALL.html#Building-a-fast-Erlang-VM-on-Mac-OS-Lioninstall MacPorts GCC 4.5. $ sudo port install gcc45 +universal Install wxWidgets 2.8.12 and FOP 1.0 from MacPorts to satisfy dependencies. $ sudo port install wxwidgets $ which wx-config /opt/local/bin/wx-config $ sudo port install fop $ which fop /opt/local/bin/fop otp_src_R15B01 barryh$ PATH=/usr/local/bin:$PATH CC=/opt/local/bin/gcc-mp-4.5 CXX=/opt/local/bin/g++-mp-4.5 ./configure --enable-m32-build --prefix=$HOME otp_src_R15B01 barryh$ make install otp_src_R15B01 barryh$ which erl /Users/barryh/bin/erl With a successful installation of the system, proceeding to install the documentation per instructions at http://www.erlang.org/doc/installation_guide/INSTALL.html#The-ErlangOTP-Documentation_How-to-Build-the-Documentation otp_src_R15B01 barryh$ export PATH=$HOME/lib/erlang/bin:$PATH otp_src_R15B01 barryh$ echo $PATH /Users/barryh/lib/erlang/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin otp_src_R15B01 barryh$ export FOP_OPTS="-Xmx8192m" otp_src_R15B01 barryh$ make docs otp_src_R15B01 barryh$ make install-docs ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript -topdir /Users/barryh/otp_src_R15B01 -outfile /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml escript: exception error: undefined function xmerl:export_simple/2 in function erl_eval:do_apply/6 (erl_eval.erl, line 572) in call from erl_eval:expr/5 (erl_eval.erl, line 367) in call from erl_eval:exprs/5 (erl_eval.erl, line 118) in call from erl_eval:local_func/5 (erl_eval.erl, line 470) in call from escript:interpret/4 (escript.erl, line 754) in call from escript:start/1 (escript.erl, line 277) in call from init:start_it/1 make[1]: *** [mod2app] Error 127 make: *** [install-docs] Error 2 Comments: After some searching, it seems a similar issue has been encountered before. In particular, there were some reports following the release of R14B02 in March 2011, with commentary confirming the behavior on Ubuntu, CentOS, and Mac OS X. Here are links to the start of the related threads, one in erlang-questions and the other in erlang-bugs: http://erlang.org/pipermail/erlang-questions/2011-March/057024.html http://erlang.org/pipermail/erlang-bugs/2011-March/002247.html I confirmed the presence of xmerl-X.X.X in the installation's lib directory: $ ls -Fla /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ total 0 drwxr-xr-x 5 barryh staff 170 Jun 14 13:18 ./ drwxr-xr-x 58 barryh staff 1972 Jun 14 13:18 ../ drwxr-xr-x 37 barryh staff 1258 Jun 14 13:18 ebin/ drwxr-xr-x 5 barryh staff 170 Jun 14 13:18 include/ drwxr-xr-x 42 barryh staff 1428 Jun 14 13:18 src/ I also confirmed that the xmerl module could be loaded in my shell using a small example from http://stackoverflow.com/questions/1227241/building-an-xmerl-document-in-erlang . > Data = {myNode,[{foo,"Foo"},{bar,"Bar"}], []}. {myNode,[{foo,"Foo"},{bar,"Bar"}],[]} > lists:flatten(xmerl:export_simple([Data], xmerl_xml)). "" > m(). Module File application /Users/barryh/lib/erlang/lib/kernel-2.15.1/ebin/application.beam ... xmerl /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl.beam xmerl_lib /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_lib.beam xmerl_xml /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_xml.beam ... I tried changing "#!/usr/bin/env escript" to "#!/Users/barryh/bin/escript" as mentioned in http://erlang.org/pipermail/erlang-questions/2011-March/057072.html, but the behavior remained the same. I also tried adding the source's bin directory to $PATH instead of the installed system's bin directory, but the behavior did not change: otp_src_R15B01 barryh$ export PATH=/Users/barryh/otp_src_R15B01/bin:$PATH otp_src_R15B01 barryh$ echo $PATH /Users/barryh/otp_src_R15B01/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin otp_src_R15B01 barryh$ make install-docs ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript -topdir /Users/barryh/otp_src_R15B01 -outfile /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml escript: exception error: undefined function xmerl:export_simple/2 in function erl_eval:do_apply/6 (erl_eval.erl, line 572) in call from erl_eval:expr/5 (erl_eval.erl, line 367) in call from erl_eval:exprs/5 (erl_eval.erl, line 118) in call from erl_eval:local_func/5 (erl_eval.erl, line 470) in call from escript:interpret/4 (escript.erl, line 754) in call from escript:start/1 (escript.erl, line 277) in call from init:start_it/1 make[1]: *** [mod2app] Error 127 make: *** [install-docs] Error 2 Thanks in advance for any insight one may be able to provide, and apologies if I have overlooked some issue. Regards, -- Barry Hawkins twitter: @barryhawkins blog: http://barryhawkins.com/blog/ linkedin: http://www.linkedin.com/in/barryhawkins -------------- next part -------------- An HTML attachment was scrubbed... URL: From lukas@REDACTED Mon Jun 18 12:24:12 2012 From: lukas@REDACTED (Lukas Larsson) Date: Mon, 18 Jun 2012 12:24:12 +0200 Subject: [erlang-bugs] R15B01 'make install_docs' failure "escript: exception error: undefined function xmerl:export_simple/2" In-Reply-To: References: Message-ID: <4FDF01CC.9080300@erlang.org> Hello, Unfortunately I cannot reproduce your error. Could you try to insert this into the beginning /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript and report back with your findings? erlang:display({rootdir,code:root_dir()}), erlang:display({paths,code:get_path()}), Lukas On 15/06/12 16:52, Barry Hawkins wrote: > Summary: A local build and install from source for Erlang R15B01 > succeeds, 'make docs' succeeds, but the subsequent 'make install-docs' > fails. > Release: R15B01 > Operating System: Mac OS X Lion 10.7.4 > > Steps to Reproduce: > $ curl -O http://www.erlang.org/download/otp_src_R15B01.tar.gz > $ tar xzvf otp_src_R15B01.tar.gz > $ cd otp_src_R15B01 > > Per instructions at > http://www.erlang.org/doc/installation_guide/INSTALL.html#Building-a-fast-Erlang-VM-on-Mac-OS-Lion > install MacPorts GCC 4.5. > > $ sudo port install gcc45 +universal > > Install wxWidgets 2.8.12 and FOP 1.0 from MacPorts to satisfy > dependencies. > > $ sudo port install wxwidgets > $ which wx-config > /opt/local/bin/wx-config > > $ sudo port install fop > $ which fop > /opt/local/bin/fop > > otp_src_R15B01 barryh$ PATH=/usr/local/bin:$PATH > CC=/opt/local/bin/gcc-mp-4.5 CXX=/opt/local/bin/g++-mp-4.5 ./configure > --enable-m32-build --prefix=$HOME > otp_src_R15B01 barryh$ make install > otp_src_R15B01 barryh$ which erl > /Users/barryh/bin/erl > > With a successful installation of the system, proceeding to install > the documentation per instructions at > http://www.erlang.org/doc/installation_guide/INSTALL.html#The-ErlangOTP-Documentation_How-to-Build-the-Documentation > > otp_src_R15B01 barryh$ export PATH=$HOME/lib/erlang/bin:$PATH > otp_src_R15B01 barryh$ echo $PATH > /Users/barryh/lib/erlang/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin > otp_src_R15B01 barryh$ export FOP_OPTS="-Xmx8192m" > otp_src_R15B01 barryh$ make docs > otp_src_R15B01 barryh$ make install-docs > ERL_TOP=/Users/barryh/otp_src_R15B01 > INSTALLROOT=/Users/barryh/lib/erlang > PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ > make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs > PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript > /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript > -topdir /Users/barryh/otp_src_R15B01 -outfile > /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml > escript: exception error: undefined function xmerl:export_simple/2 > in function erl_eval:do_apply/6 (erl_eval.erl, line 572) > in call from erl_eval:expr/5 (erl_eval.erl, line 367) > in call from erl_eval:exprs/5 (erl_eval.erl, line 118) > in call from erl_eval:local_func/5 (erl_eval.erl, line 470) > in call from escript:interpret/4 (escript.erl, line 754) > in call from escript:start/1 (escript.erl, line 277) > in call from init:start_it/1 > make[1]: *** [mod2app] Error 127 > make: *** [install-docs] Error 2 > > Comments: > After some searching, it seems a similar issue has been encountered > before. In particular, there were some reports following the release > of R14B02 in March 2011, with commentary confirming the behavior on > Ubuntu, CentOS, and Mac OS X. Here are links to the start of the > related threads, one in erlang-questions and the other in erlang-bugs: > > http://erlang.org/pipermail/erlang-questions/2011-March/057024.html > http://erlang.org/pipermail/erlang-bugs/2011-March/002247.html > > I confirmed the presence of xmerl-X.X.X in the installation's lib > directory: > > $ ls -Fla /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ > total 0 > drwxr-xr-x 5 barryh staff 170 Jun 14 13:18 ./ > drwxr-xr-x 58 barryh staff 1972 Jun 14 13:18 ../ > drwxr-xr-x 37 barryh staff 1258 Jun 14 13:18 ebin/ > drwxr-xr-x 5 barryh staff 170 Jun 14 13:18 include/ > drwxr-xr-x 42 barryh staff 1428 Jun 14 13:18 src/ > > I also confirmed that the xmerl module could be loaded in my shell > using a small example from > http://stackoverflow.com/questions/1227241/building-an-xmerl-document-in-erlang. > > > Data = {myNode,[{foo,"Foo"},{bar,"Bar"}], []}. > {myNode,[{foo,"Foo"},{bar,"Bar"}],[]} > > lists:flatten(xmerl:export_simple([Data], xmerl_xml)). > "" > > m(). > Module File > application > /Users/barryh/lib/erlang/lib/kernel-2.15.1/ebin/application.beam > ... > xmerl > /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl.beam > xmerl_lib > /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_lib.beam > xmerl_xml > /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_xml.beam > ... > > I tried changing "#!/usr/bin/env escript" to > "#!/Users/barryh/bin/escript" as mentioned in > http://erlang.org/pipermail/erlang-questions/2011-March/057072.html, > but the behavior remained the same. > > I also tried adding the source's bin directory to $PATH instead of the > installed system's bin directory, but the behavior did not change: > > otp_src_R15B01 barryh$ export PATH=/Users/barryh/otp_src_R15B01/bin:$PATH > otp_src_R15B01 barryh$ echo $PATH > /Users/barryh/otp_src_R15B01/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin > otp_src_R15B01 barryh$ make install-docs > ERL_TOP=/Users/barryh/otp_src_R15B01 > INSTALLROOT=/Users/barryh/lib/erlang > PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ > make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs > PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript > /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript > -topdir /Users/barryh/otp_src_R15B01 -outfile > /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml > escript: exception error: undefined function xmerl:export_simple/2 > in function erl_eval:do_apply/6 (erl_eval.erl, line 572) > in call from erl_eval:expr/5 (erl_eval.erl, line 367) > in call from erl_eval:exprs/5 (erl_eval.erl, line 118) > in call from erl_eval:local_func/5 (erl_eval.erl, line 470) > in call from escript:interpret/4 (escript.erl, line 754) > in call from escript:start/1 (escript.erl, line 277) > in call from init:start_it/1 > make[1]: *** [mod2app] Error 127 > make: *** [install-docs] Error 2 > > Thanks in advance for any insight one may be able to provide, and > apologies if I have overlooked some issue. > > Regards, > -- > Barry Hawkins > twitter: @barryhawkins > blog: http://barryhawkins.com/blog/ > linkedin: http://www.linkedin.com/in/barryhawkins > > > > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs -------------- next part -------------- An HTML attachment was scrubbed... URL: From pguyot@REDACTED Mon Jun 18 15:26:55 2012 From: pguyot@REDACTED (Paul Guyot) Date: Mon, 18 Jun 2012 15:26:55 +0200 Subject: [erlang-bugs] [PATCH] Zip archives disk numbering Message-ID: <028E625E-3B6E-4941-9764-40C94F69CA1A@kallisys.net> Hello, There is a bug in zip.erl: archives are wrongly created with the central directory's disk_num_start set to 1. The specification is not extremely clear about the base number of this value, however zip.erl uses 0 everywhere else for the disk number. Besides, this bug causes some incompatibility with other software that insists in reading 0 as disk_num_start or otherwise consider that the archive is multidisk. This is the case with Microsoft Office applications. For example, the following code tests for 0: http://code.google.com/p/xmind-merger/source/browse/OpenXmlManager/Internal/IO/Zip/ZipIOCentralDirectoryFileHeader.cs#204 You will find a patch against 'maint' here: git fetch git://github.com/pguyot/otp.git fix-multidisk-zip https://github.com/pguyot/otp/commit/da11eb78dac39940edf4dcfbb47b438493345598 This patch simply fixes the single buggy line. It does not include a test. Indeed, I am confused about the best way to test this fix. zip_SUITE tests in maint branch are mostly about extracting files from zip archives, and there is no comparison or binary matching of the output of zip:create/{2,3} function. If a test is required for inclusion, please let me know the best approach for designing such a test, and I will gladly provide an amended patch. Regards, Paul -- Semiocast http://semiocast.com/ +33.183627948 - 20 rue Lacaze, 75014 Paris From barry.hawkins@REDACTED Tue Jun 19 16:16:25 2012 From: barry.hawkins@REDACTED (Barry Hawkins) Date: Tue, 19 Jun 2012 10:16:25 -0400 Subject: [erlang-bugs] R15B01 'make install_docs' failure "escript: exception error: undefined function xmerl:export_simple/2" In-Reply-To: <4FDF01CC.9080300@erlang.org> References: <4FDF01CC.9080300@erlang.org> Message-ID: Lukas, Hello, and thanks for your response. Placing those two lines just after the comment blocks and just before the "main(Args) ->" line, but it results in a syntax error: otp_src_R15B01 barryh$ make install-docs ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript -topdir /Users/barryh/otp_src_R15B01 -outfile /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript:42: syntax error before: ':' escript: There were compilation errors. make[1]: *** [mod2app] Error 127 make: *** [install-docs] Error 2 Being new to Erlang, there may be some context I'm missing. Is there a particular function in which I need to embed those directives? In the meantime I have executed those two directives in the shell in the event that would be partially helpful: $ erl Erlang R15B01 (erts-5.9.1) [source] [smp:8:8] [async-threads:0] [hipe] [kernel-poll:false] Eshell V5.9.1 (abort with ^G) 1> erlang:display({rootdir,code:root_dir()}). {rootdir,"/Users/barryh/lib/erlang"} true 2> erlang:display({paths,code:get_path()}). {paths,[".","/Users/barryh/lib/erlang/lib/kernel-2.15.1/ebin","/Users/barryh/lib/erlang/lib/stdlib-1.18.1/ebin","/Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin","/Users/barryh/lib/erlang/lib/wx-0.99.2/ebin","/Users/barryh/lib/erlang/lib/webtool-0.8.9.1/ebin","/Users/barryh/lib/erlang/lib/typer-0.9.3/ebin","/Users/barryh/lib/erlang/lib/tv-2.1.4.9/ebin","/Users/barryh/lib/erlang/lib/tools-2.6.7/ebin","/Users/barryh/lib/erlang/lib/toolbar-1.4.2.2/ebin","/Users/barryh/lib/erlang/lib/test_server-3.5.1/ebin","/Users/barryh/lib/erlang/lib/syntax_tools-1.6.8/ebin","/Users/barryh/lib/erlang/lib/ssl-5.0.1/ebin","/Users/barryh/lib/erlang/lib/ssh-2.1/ebin","/Users/barryh/lib/erlang/lib/snmp-4.22/ebin","/Users/barryh/lib/erlang/lib/sasl-2.2.1/ebin","/Users/barryh/lib/erlang/lib/runtime_tools-1.8.8/ebin","/Users/barryh/lib/erlang/lib/reltool-0.6/ebin","/Users/barryh/lib/erlang/lib/public_key-0.15/ebin","/Users/barryh/lib/erlang/lib/pman-2.7.1.2/ebin","/Users/barryh/lib/erlang/lib/percept-0.8.6.1/ebin","/Users/barryh/lib/erlang/lib/parsetools-2.0.7/ebin","/Users/barryh/lib/erlang/lib/otp_mibs-1.0.7/ebin","/Users/barryh/lib/erlang/lib/os_mon-2.2.9/ebin","/Users/barryh/lib/erlang/lib/orber-3.6.24/ebin","/Users/barryh/lib/erlang/lib/odbc-2.10.12/ebin","/Users/barryh/lib/erlang/lib/observer-1.1/ebin","/Users/barryh/lib/erlang/lib/mnesia-4.7/ebin","/Users/barryh/lib/erlang/lib/megaco-3.16.0.1/ebin","/Users/barryh/lib/erlang/lib/jinterface-1.5.6","/Users/barryh/lib/erlang/lib/inviso-0.6.3/ebin","/Users/barryh/lib/erlang/lib/inets-5.9/ebin","/Users/barryh/lib/erlang/lib/ic-4.2.30/ebin","/Users/barryh/lib/erlang/lib/hipe-3.9.1/ebin","/Users/barryh/lib/erlang/lib/gs-1.5.15.1/ebin","/Users/barryh/lib/erlang/lib/eunit-2.2.2/ebin","/Users/barryh/lib/erlang/lib/et-1.4.4.1/ebin","/Users/barryh/lib/erlang/lib/erts-5.9.1/ebin","/Users/barryh/lib/erlang/lib/erl_interface-3.7.7","/Users/barryh/lib/erlang/lib/erl_docgen-0.3.1/ebin","/Users/barryh/lib/erlang/lib/eldap-1.0/ebin","/Users/barryh/lib/erlang/lib/edoc-0.7.9.1/ebin","/Users/barryh/lib/erlang/lib/diameter-1.1/ebin","/Users/barryh/lib/erlang/lib/dialyzer-2.5.1/ebin","/Users/barryh/lib/erlang/lib/debugger-3.2.8/ebin","/Users/barryh/lib/erlang/lib/crypto-2.1/ebin","/Users/barryh/lib/erlang/lib/cosTransactions-1.2.12/ebin","/Users/barryh/lib/erlang/lib/cosTime-1.1.12/ebin","/Users/barryh/lib/erlang/lib/cosProperty-1.1.15/ebin","/Users/barryh/lib/erlang/lib/cosNotification-1.1.18/ebin","/Users/barryh/lib/erlang/lib/cosFileTransfer-1.1.13/ebin","/Users/barryh/lib/erlang/lib/cosEventDomain-1.1.12/ebin","/Users/barryh/lib/erlang/lib/cosEvent-2.1.12/ebin","/Users/barryh/lib/erlang/lib/compiler-4.8.1/ebin","/Users/barryh/lib/erlang/lib/common_test-1.6.1/ebin","/Users/barryh/lib/erlang/lib/asn1-1.7/ebin","/Users/barryh/lib/erlang/lib/appmon-2.1.14.1/ebin"]} true Regards, -- Barry On Mon, Jun 18, 2012 at 6:24 AM, Lukas Larsson wrote: > Hello, > > Unfortunately I cannot reproduce your error. Could you try to insert this > into the beginning > /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript > and report back with your findings? > > erlang:display({rootdir,code:root_dir()}), > erlang:display({paths,code:get_path()}), > > Lukas > > > On 15/06/12 16:52, Barry Hawkins wrote: > > Summary: A local build and install from source for Erlang R15B01 succeeds, > 'make docs' succeeds, but the subsequent 'make install-docs' fails. > Release: R15B01 > Operating System: Mac OS X Lion 10.7.4 > > Steps to Reproduce: > $ curl -O http://www.erlang.org/download/otp_src_R15B01.tar.gz > $ tar xzvf otp_src_R15B01.tar.gz > $ cd otp_src_R15B01 > > Per instructions at > http://www.erlang.org/doc/installation_guide/INSTALL.html#Building-a-fast-Erlang-VM-on-Mac-OS-Lioninstall MacPorts GCC 4.5. > > $ sudo port install gcc45 +universal > > Install wxWidgets 2.8.12 and FOP 1.0 from MacPorts to satisfy > dependencies. > > $ sudo port install wxwidgets > $ which wx-config > /opt/local/bin/wx-config > > $ sudo port install fop > $ which fop > /opt/local/bin/fop > > otp_src_R15B01 barryh$ PATH=/usr/local/bin:$PATH > CC=/opt/local/bin/gcc-mp-4.5 CXX=/opt/local/bin/g++-mp-4.5 ./configure > --enable-m32-build --prefix=$HOME > otp_src_R15B01 barryh$ make install > otp_src_R15B01 barryh$ which erl > /Users/barryh/bin/erl > > With a successful installation of the system, proceeding to install the > documentation per instructions at > http://www.erlang.org/doc/installation_guide/INSTALL.html#The-ErlangOTP-Documentation_How-to-Build-the-Documentation > > otp_src_R15B01 barryh$ export PATH=$HOME/lib/erlang/bin:$PATH > otp_src_R15B01 barryh$ echo $PATH > > /Users/barryh/lib/erlang/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin > otp_src_R15B01 barryh$ export FOP_OPTS="-Xmx8192m" > otp_src_R15B01 barryh$ make docs > otp_src_R15B01 barryh$ make install-docs > ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang > PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ > make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs > PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript > /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript > -topdir /Users/barryh/otp_src_R15B01 -outfile > /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml > escript: exception error: undefined function xmerl:export_simple/2 > in function erl_eval:do_apply/6 (erl_eval.erl, line 572) > in call from erl_eval:expr/5 (erl_eval.erl, line 367) > in call from erl_eval:exprs/5 (erl_eval.erl, line 118) > in call from erl_eval:local_func/5 (erl_eval.erl, line 470) > in call from escript:interpret/4 (escript.erl, line 754) > in call from escript:start/1 (escript.erl, line 277) > in call from init:start_it/1 > make[1]: *** [mod2app] Error 127 > make: *** [install-docs] Error 2 > > Comments: > After some searching, it seems a similar issue has been encountered > before. In particular, there were some reports following the release of > R14B02 in March 2011, with commentary confirming the behavior on Ubuntu, > CentOS, and Mac OS X. Here are links to the start of the related threads, > one in erlang-questions and the other in erlang-bugs: > > http://erlang.org/pipermail/erlang-questions/2011-March/057024.html > http://erlang.org/pipermail/erlang-bugs/2011-March/002247.html > > I confirmed the presence of xmerl-X.X.X in the installation's lib > directory: > > $ ls -Fla /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ > total 0 > drwxr-xr-x 5 barryh staff 170 Jun 14 13:18 ./ > drwxr-xr-x 58 barryh staff 1972 Jun 14 13:18 ../ > drwxr-xr-x 37 barryh staff 1258 Jun 14 13:18 ebin/ > drwxr-xr-x 5 barryh staff 170 Jun 14 13:18 include/ > drwxr-xr-x 42 barryh staff 1428 Jun 14 13:18 src/ > > I also confirmed that the xmerl module could be loaded in my shell using > a small example from > http://stackoverflow.com/questions/1227241/building-an-xmerl-document-in-erlang > . > > > Data = {myNode,[{foo,"Foo"},{bar,"Bar"}], []}. > {myNode,[{foo,"Foo"},{bar,"Bar"}],[]} > > lists:flatten(xmerl:export_simple([Data], xmerl_xml)). > "" > > m(). > Module File > application > /Users/barryh/lib/erlang/lib/kernel-2.15.1/ebin/application.beam > ... > xmerl > /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl.beam > xmerl_lib > /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_lib.beam > xmerl_xml > /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_xml.beam > ... > > I tried changing "#!/usr/bin/env escript" to > "#!/Users/barryh/bin/escript" as mentioned in > http://erlang.org/pipermail/erlang-questions/2011-March/057072.html, but > the behavior remained the same. > > I also tried adding the source's bin directory to $PATH instead of the > installed system's bin directory, but the behavior did not change: > > otp_src_R15B01 barryh$ export PATH=/Users/barryh/otp_src_R15B01/bin:$PATH > otp_src_R15B01 barryh$ echo $PATH > > /Users/barryh/otp_src_R15B01/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin > otp_src_R15B01 barryh$ make install-docs > ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang > PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ > make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs > PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript > /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript > -topdir /Users/barryh/otp_src_R15B01 -outfile > /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml > escript: exception error: undefined function xmerl:export_simple/2 > in function erl_eval:do_apply/6 (erl_eval.erl, line 572) > in call from erl_eval:expr/5 (erl_eval.erl, line 367) > in call from erl_eval:exprs/5 (erl_eval.erl, line 118) > in call from erl_eval:local_func/5 (erl_eval.erl, line 470) > in call from escript:interpret/4 (escript.erl, line 754) > in call from escript:start/1 (escript.erl, line 277) > in call from init:start_it/1 > make[1]: *** [mod2app] Error 127 > make: *** [install-docs] Error 2 > > Thanks in advance for any insight one may be able to provide, and > apologies if I have overlooked some issue. > > Regards, > -- > Barry Hawkins > twitter: @barryhawkins > blog: http://barryhawkins.com/blog/ > linkedin: http://www.linkedin.com/in/barryhawkins > > > > _______________________________________________ > erlang-bugs mailing listerlang-bugs@REDACTED://erlang.org/mailman/listinfo/erlang-bugs > > > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs > > -- Barry Hawkins twitter: @barryhawkins blog: http://barryhawkins.com/blog/ linkedin: http://www.linkedin.com/in/barryhawkins -------------- next part -------------- An HTML attachment was scrubbed... URL: From lukas@REDACTED Tue Jun 19 16:24:35 2012 From: lukas@REDACTED (Lukas Larsson) Date: Tue, 19 Jun 2012 16:24:35 +0200 Subject: [erlang-bugs] R15B01 'make install_docs' failure "escript: exception error: undefined function xmerl:export_simple/2" In-Reply-To: References: <4FDF01CC.9080300@erlang.org> Message-ID: <4FE08BA3.1060407@erlang.org> Hi, Place them right after the "main(Args) ->" line and it should work. I see nothing wrong with the output you pasted below. Lukas On 19/06/12 16:16, Barry Hawkins wrote: > Lukas, > Hello, and thanks for your response. Placing those two lines just > after the comment blocks and just before the "main(Args) ->" line, but > it results in a syntax error: > > otp_src_R15B01 barryh$ make install-docs > ERL_TOP=/Users/barryh/otp_src_R15B01 > INSTALLROOT=/Users/barryh/lib/erlang > PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ > make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs > PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript > /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript > -topdir /Users/barryh/otp_src_R15B01 -outfile > /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml > /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript:42: > syntax error before: ':' > escript: There were compilation errors. > make[1]: *** [mod2app] Error 127 > make: *** [install-docs] Error 2 > > Being new to Erlang, there may be some context I'm missing. Is there a > particular function in which I need to embed those directives? In the > meantime I have executed those two directives in the shell in the > event that would be partially helpful: > > $ erl > Erlang R15B01 (erts-5.9.1) [source] [smp:8:8] [async-threads:0] [hipe] > [kernel-poll:false] > > Eshell V5.9.1 (abort with ^G) > 1> erlang:display({rootdir,code:root_dir()}). > {rootdir,"/Users/barryh/lib/erlang"} > true > 2> erlang:display({paths,code:get_path()}). > {paths,[".","/Users/barryh/lib/erlang/lib/kernel-2.15.1/ebin","/Users/barryh/lib/erlang/lib/stdlib-1.18.1/ebin","/Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin","/Users/barryh/lib/erlang/lib/wx-0.99.2/ebin","/Users/barryh/lib/erlang/lib/webtool-0.8.9.1/ebin","/Users/barryh/lib/erlang/lib/typer-0.9.3/ebin","/Users/barryh/lib/erlang/lib/tv-2.1.4.9/ebin","/Users/barryh/lib/erlang/lib/tools-2.6.7/ebin","/Users/barryh/lib/erlang/lib/toolbar-1.4.2.2/ebin","/Users/barryh/lib/erlang/lib/test_server-3.5.1/ebin","/Users/barryh/lib/erlang/lib/syntax_tools-1.6.8/ebin","/Users/barryh/lib/erlang/lib/ssl-5.0.1/ebin","/Users/barryh/lib/erlang/lib/ssh-2.1/ebin","/Users/barryh/lib/erlang/lib/snmp-4.22/ebin","/Users/barryh/lib/erlang/lib/sasl-2.2.1/ebin","/Users/barryh/lib/erlang/lib/runtime_tools-1.8.8/ebin","/Users/barryh/lib/erlang/lib/reltool-0.6/ebin","/Users/barryh/lib/erlang/lib/public_key-0.15/ebin","/Users/barryh/lib/erlang/lib/pman-2.7.1.2/ebin","/Users/barryh/lib/erlang/lib/percept-0.8.6.1/ebin","/Users/barryh/lib/erlang/lib/parsetools-2.0.7/ebin","/Users/barryh/lib/erlang/lib/otp_mibs-1.0.7/ebin","/Users/barryh/lib/erlang/lib/os_mon-2.2.9/ebin","/Users/barryh/lib/erlang/lib/orber-3.6.24/ebin","/Users/barryh/lib/erlang/lib/odbc-2.10.12/ebin","/Users/barryh/lib/erlang/lib/observer-1.1/ebin","/Users/barryh/lib/erlang/lib/mnesia-4.7/ebin","/Users/barryh/lib/erlang/lib/megaco-3.16.0.1/ebin","/Users/barryh/lib/erlang/lib/jinterface-1.5.6","/Users/barryh/lib/erlang/lib/inviso-0.6.3/ebin","/Users/barryh/lib/erlang/lib/inets-5.9/ebin","/Users/barryh/lib/erlang/lib/ic-4.2.30/ebin","/Users/barryh/lib/erlang/lib/hipe-3.9.1/ebin","/Users/barryh/lib/erlang/lib/gs-1.5.15.1/ebin","/Users/barryh/lib/erlang/lib/eunit-2.2.2/ebin","/Users/barryh/lib/erlang/lib/et-1.4.4.1/ebin","/Users/barryh/lib/erlang/lib/erts-5.9.1/ebin","/Users/barryh/lib/erlang/lib/erl_interface-3.7.7","/Users/barryh/lib/erlang/lib/erl_docgen-0.3.1/ebin","/Users/barryh/lib/erlang/lib/eldap-1.0/ebin","/Users/barryh/lib/erlang/lib/edoc-0.7.9.1/ebin","/Users/barryh/lib/erlang/lib/diameter-1.1/ebin","/Users/barryh/lib/erlang/lib/dialyzer-2.5.1/ebin","/Users/barryh/lib/erlang/lib/debugger-3.2.8/ebin","/Users/barryh/lib/erlang/lib/crypto-2.1/ebin","/Users/barryh/lib/erlang/lib/cosTransactions-1.2.12/ebin","/Users/barryh/lib/erlang/lib/cosTime-1.1.12/ebin","/Users/barryh/lib/erlang/lib/cosProperty-1.1.15/ebin","/Users/barryh/lib/erlang/lib/cosNotification-1.1.18/ebin","/Users/barryh/lib/erlang/lib/cosFileTransfer-1.1.13/ebin","/Users/barryh/lib/erlang/lib/cosEventDomain-1.1.12/ebin","/Users/barryh/lib/erlang/lib/cosEvent-2.1.12/ebin","/Users/barryh/lib/erlang/lib/compiler-4.8.1/ebin","/Users/barryh/lib/erlang/lib/common_test-1.6.1/ebin","/Users/barryh/lib/erlang/lib/asn1-1.7/ebin","/Users/barryh/lib/erlang/lib/appmon-2.1.14.1/ebin"]} > true > > Regards, > -- > Barry > > On Mon, Jun 18, 2012 at 6:24 AM, Lukas Larsson > wrote: > > Hello, > > Unfortunately I cannot reproduce your error. Could you try to > insert this into the beginning > /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript > and report back with your findings? > > erlang:display({rootdir,code:root_dir()}), > erlang:display({paths,code:get_path()}), > > Lukas > > > On 15/06/12 16:52, Barry Hawkins wrote: >> Summary: A local build and install from source for Erlang R15B01 >> succeeds, 'make docs' succeeds, but the subsequent 'make >> install-docs' fails. >> Release: R15B01 >> Operating System: Mac OS X Lion 10.7.4 >> >> Steps to Reproduce: >> $ curl -O http://www.erlang.org/download/otp_src_R15B01.tar.gz >> $ tar xzvf otp_src_R15B01.tar.gz >> $ cd otp_src_R15B01 >> >> Per instructions at >> http://www.erlang.org/doc/installation_guide/INSTALL.html#Building-a-fast-Erlang-VM-on-Mac-OS-Lion >> install MacPorts GCC 4.5. >> >> $ sudo port install gcc45 +universal >> >> Install wxWidgets 2.8.12 and FOP 1.0 from MacPorts to satisfy >> dependencies. >> >> $ sudo port install wxwidgets >> $ which wx-config >> /opt/local/bin/wx-config >> >> $ sudo port install fop >> $ which fop >> /opt/local/bin/fop >> >> otp_src_R15B01 barryh$ PATH=/usr/local/bin:$PATH >> CC=/opt/local/bin/gcc-mp-4.5 CXX=/opt/local/bin/g++-mp-4.5 >> ./configure --enable-m32-build --prefix=$HOME >> otp_src_R15B01 barryh$ make install >> otp_src_R15B01 barryh$ which erl >> /Users/barryh/bin/erl >> >> With a successful installation of the system, proceeding to >> install the documentation per instructions at >> http://www.erlang.org/doc/installation_guide/INSTALL.html#The-ErlangOTP-Documentation_How-to-Build-the-Documentation >> >> otp_src_R15B01 barryh$ export PATH=$HOME/lib/erlang/bin:$PATH >> otp_src_R15B01 barryh$ echo $PATH >> /Users/barryh/lib/erlang/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin >> otp_src_R15B01 barryh$ export FOP_OPTS="-Xmx8192m" >> otp_src_R15B01 barryh$ make docs >> otp_src_R15B01 barryh$ make install-docs >> ERL_TOP=/Users/barryh/otp_src_R15B01 >> INSTALLROOT=/Users/barryh/lib/erlang >> PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ >> make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs >> PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript >> /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript >> -topdir /Users/barryh/otp_src_R15B01 -outfile >> /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml >> escript: exception error: undefined function xmerl:export_simple/2 >> in function erl_eval:do_apply/6 (erl_eval.erl, line 572) >> in call from erl_eval:expr/5 (erl_eval.erl, line 367) >> in call from erl_eval:exprs/5 (erl_eval.erl, line 118) >> in call from erl_eval:local_func/5 (erl_eval.erl, line 470) >> in call from escript:interpret/4 (escript.erl, line 754) >> in call from escript:start/1 (escript.erl, line 277) >> in call from init:start_it/1 >> make[1]: *** [mod2app] Error 127 >> make: *** [install-docs] Error 2 >> >> Comments: >> After some searching, it seems a similar issue has been >> encountered before. In particular, there were some reports >> following the release of R14B02 in March 2011, with commentary >> confirming the behavior on Ubuntu, CentOS, and Mac OS X. Here are >> links to the start of the related threads, one in >> erlang-questions and the other in erlang-bugs: >> >> http://erlang.org/pipermail/erlang-questions/2011-March/057024.html >> http://erlang.org/pipermail/erlang-bugs/2011-March/002247.html >> >> I confirmed the presence of xmerl-X.X.X in the installation's lib >> directory: >> >> $ ls -Fla /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ >> total 0 >> drwxr-xr-x 5 barryh staff 170 Jun 14 13:18 ./ >> drwxr-xr-x 58 barryh staff 1972 Jun 14 13:18 ../ >> drwxr-xr-x 37 barryh staff 1258 Jun 14 13:18 ebin/ >> drwxr-xr-x 5 barryh staff 170 Jun 14 13:18 include/ >> drwxr-xr-x 42 barryh staff 1428 Jun 14 13:18 src/ >> >> I also confirmed that the xmerl module could be loaded in my >> shell using a small example from >> http://stackoverflow.com/questions/1227241/building-an-xmerl-document-in-erlang. >> >> > Data = {myNode,[{foo,"Foo"},{bar,"Bar"}], []}. >> {myNode,[{foo,"Foo"},{bar,"Bar"}],[]} >> > lists:flatten(xmerl:export_simple([Data], xmerl_xml)). >> "" >> > m(). >> Module File >> application >> /Users/barryh/lib/erlang/lib/kernel-2.15.1/ebin/application.beam >> ... >> xmerl >> /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl.beam >> xmerl_lib >> /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_lib.beam >> xmerl_xml >> /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_xml.beam >> ... >> >> I tried changing "#!/usr/bin/env escript" to >> "#!/Users/barryh/bin/escript" as mentioned in >> http://erlang.org/pipermail/erlang-questions/2011-March/057072.html, >> but the behavior remained the same. >> >> I also tried adding the source's bin directory to $PATH instead >> of the installed system's bin directory, but the behavior did not >> change: >> >> otp_src_R15B01 barryh$ export >> PATH=/Users/barryh/otp_src_R15B01/bin:$PATH >> otp_src_R15B01 barryh$ echo $PATH >> /Users/barryh/otp_src_R15B01/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin >> otp_src_R15B01 barryh$ make install-docs >> ERL_TOP=/Users/barryh/otp_src_R15B01 >> INSTALLROOT=/Users/barryh/lib/erlang >> PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ >> make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs >> PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript >> /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript >> -topdir /Users/barryh/otp_src_R15B01 -outfile >> /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml >> escript: exception error: undefined function xmerl:export_simple/2 >> in function erl_eval:do_apply/6 (erl_eval.erl, line 572) >> in call from erl_eval:expr/5 (erl_eval.erl, line 367) >> in call from erl_eval:exprs/5 (erl_eval.erl, line 118) >> in call from erl_eval:local_func/5 (erl_eval.erl, line 470) >> in call from escript:interpret/4 (escript.erl, line 754) >> in call from escript:start/1 (escript.erl, line 277) >> in call from init:start_it/1 >> make[1]: *** [mod2app] Error 127 >> make: *** [install-docs] Error 2 >> >> Thanks in advance for any insight one may be able to provide, and >> apologies if I have overlooked some issue. >> >> Regards, >> -- >> Barry Hawkins >> twitter: @barryhawkins >> blog: http://barryhawkins.com/blog/ >> linkedin: http://www.linkedin.com/in/barryhawkins >> >> >> >> _______________________________________________ >> erlang-bugs mailing list >> erlang-bugs@REDACTED >> http://erlang.org/mailman/listinfo/erlang-bugs > > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs > > > > > -- > Barry Hawkins > twitter: @barryhawkins > blog: http://barryhawkins.com/blog/ > linkedin: http://www.linkedin.com/in/barryhawkins > > > > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs -------------- next part -------------- An HTML attachment was scrubbed... URL: From barry.hawkins@REDACTED Tue Jun 19 16:34:19 2012 From: barry.hawkins@REDACTED (Barry Hawkins) Date: Tue, 19 Jun 2012 10:34:19 -0400 Subject: [erlang-bugs] R15B01 'make install_docs' failure "escript: exception error: undefined function xmerl:export_simple/2" In-Reply-To: <4FE08BA3.1060407@erlang.org> References: <4FDF01CC.9080300@erlang.org> <4FE08BA3.1060407@erlang.org> Message-ID: Ah, I should have figured that out. Here's the requested output with those directives in place: otp_src_R15B01 barryh$ make install-docs ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript -topdir /Users/barryh/otp_src_R15B01 -outfile /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml {rootdir,"/Users/barryh/otp_src_R15B01/bootstrap"} {paths,[".","/Users/barryh/otp_src_R15B01/bootstrap/lib/kernel/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/stdlib/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/xmerl","/Users/barryh/otp_src_R15B01/bootstrap/lib/wx/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/test_server","/Users/barryh/otp_src_R15B01/bootstrap/lib/syntax_tools/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/snmp/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/sasl/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/parsetools/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/orber","/Users/barryh/otp_src_R15B01/bootstrap/lib/ic/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/hipe/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/compiler/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/asn1/ebin"]} escript: exception error: undefined function xmerl:export_simple/2 in function erl_eval:do_apply/6 (erl_eval.erl, line 572) in call from erl_eval:expr/5 (erl_eval.erl, line 367) in call from erl_eval:exprs/5 (erl_eval.erl, line 118) in call from erl_eval:local_func/5 (erl_eval.erl, line 470) in call from escript:interpret/4 (escript.erl, line 754) in call from escript:start/1 (escript.erl, line 277) in call from init:start_it/1 make[1]: *** [mod2app] Error 127 make: *** [install-docs] Error 2 -- Barry On Tue, Jun 19, 2012 at 10:24 AM, Lukas Larsson wrote: > Hi, > > Place them right after the "main(Args) ->" line and it should work. > > I see nothing wrong with the output you pasted below. > > Lukas > > > On 19/06/12 16:16, Barry Hawkins wrote: > > Lukas, > Hello, and thanks for your response. Placing those two lines just after > the comment blocks and just before the "main(Args) ->" line, but it results > in a syntax error: > > otp_src_R15B01 barryh$ make install-docs > ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang > PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ > make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs > PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript > /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript > -topdir /Users/barryh/otp_src_R15B01 -outfile > /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml > /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript:42: > syntax error before: ':' > escript: There were compilation errors. > make[1]: *** [mod2app] Error 127 > make: *** [install-docs] Error 2 > > Being new to Erlang, there may be some context I'm missing. Is there a > particular function in which I need to embed those directives? In the > meantime I have executed those two directives in the shell in the event > that would be partially helpful: > > $ erl > Erlang R15B01 (erts-5.9.1) [source] [smp:8:8] [async-threads:0] [hipe] > [kernel-poll:false] > > Eshell V5.9.1 (abort with ^G) > 1> erlang:display({rootdir,code:root_dir()}). > {rootdir,"/Users/barryh/lib/erlang"} > true > 2> erlang:display({paths,code:get_path()}). > {paths,[".","/Users/barryh/lib/erlang/lib/kernel-2.15.1/ebin","/Users/barryh/lib/erlang/lib/stdlib-1.18.1/ebin","/Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin","/Users/barryh/lib/erlang/lib/wx-0.99.2/ebin","/Users/barryh/lib/erlang/lib/webtool-0.8.9.1/ebin","/Users/barryh/lib/erlang/lib/typer-0.9.3/ebin","/Users/barryh/lib/erlang/lib/tv-2.1.4.9/ebin","/Users/barryh/lib/erlang/lib/tools-2.6.7/ebin","/Users/barryh/lib/erlang/lib/toolbar-1.4.2.2/ebin","/Users/barryh/lib/erlang/lib/test_server-3.5.1/ebin","/Users/barryh/lib/erlang/lib/syntax_tools-1.6.8/ebin","/Users/barryh/lib/erlang/lib/ssl-5.0.1/ebin","/Users/barryh/lib/erlang/lib/ssh-2.1/ebin","/Users/barryh/lib/erlang/lib/snmp-4.22/ebin","/Users/barryh/lib/erlang/lib/sasl-2.2.1/ebin","/Users/barryh/lib/erlang/lib/runtime_tools-1.8.8/ebin","/Users/barryh/lib/erlang/lib/reltool-0.6/ebin","/Users/barryh/lib/erlang/lib/public_key-0.15/ebin","/Users/barryh/lib/erlang/lib/pman-2.7.1.2/ebin","/Users/barryh/lib/erlan! > g/lib/perc > ept-0.8.6.1/ebin","/Users/barryh/lib/erlang/lib/parsetools-2.0.7/ebin","/Users/barryh/lib/erlang/lib/otp_mibs-1.0.7/ebin","/Users/barryh/lib/erlang/lib/os_mon-2.2.9/ebin","/Users/barryh/lib/erlang/lib/orber-3.6.24/ebin","/Users/barryh/lib/erlang/lib/odbc-2.10.12/ebin","/Users/barryh/lib/erlang/lib/observer-1.1/ebin","/Users/barryh/lib/erlang/lib/mnesia-4.7/ebin","/Users/barryh/lib/erlang/lib/megaco-3.16.0.1/ebin","/Users/barryh/lib/erlang/lib/jinterface-1.5.6","/Users/barryh/lib/erlang/lib/inviso-0.6.3/ebin","/Users/barryh/lib/erlang/lib/inets-5.9/ebin","/Users/barryh/lib/erlang/lib/ic-4.2.30/ebin","/Users/barryh/lib/erlang/lib/hipe-3.9.1/ebin","/Users/barryh/lib/erlang/lib/gs-1.5.15.1/ebin","/Users/barryh/lib/erlang/lib/eunit-2.2.2/ebin","/Users/barryh/lib/erlang/lib/et-1.4.4.1/ebin","/Users/barryh/lib/erlang/lib/erts-5.9.1/ebin","/Users/barryh/lib/erlang/lib/erl_interface-3.7.7","/Users/barryh/lib/erlang/lib/erl_docgen-0.3.1/ebin","/Users/barryh/lib/erlang/lib/eldap-1.0/eb! > in","/User > s/barryh/lib/erlang/lib/edoc-0.7.9.1/ebin","/Users/barryh/lib/erlang/lib/diameter-1.1/ebin","/Users/barryh/lib/erlang/lib/dialyzer-2.5.1/ebin","/Users/barryh/lib/erlang/lib/debugger-3.2.8/ebin","/Users/barryh/lib/erlang/lib/crypto-2.1/ebin","/Users/barryh/lib/erlang/lib/cosTransactions-1.2.12/ebin","/Users/barryh/lib/erlang/lib/cosTime-1.1.12/ebin","/Users/barryh/lib/erlang/lib/cosProperty-1.1.15/ebin","/Users/barryh/lib/erlang/lib/cosNotification-1.1.18/ebin","/Users/barryh/lib/erlang/lib/cosFileTransfer-1.1.13/ebin","/Users/barryh/lib/erlang/lib/cosEventDomain-1.1.12/ebin","/Users/barryh/lib/erlang/lib/cosEvent-2.1.12/ebin","/Users/barryh/lib/erlang/lib/compiler-4.8.1/ebin","/Users/barryh/lib/erlang/lib/common_test-1.6.1/ebin","/Users/barryh/lib/erlang/lib/asn1-1.7/ebin","/Users/barryh/lib/erlang/lib/appmon-2.1.14.1/ebin"]} > true > > Regards, > -- > Barry > > On Mon, Jun 18, 2012 at 6:24 AM, Lukas Larsson wrote: > >> Hello, >> >> Unfortunately I cannot reproduce your error. Could you try to insert this >> into the beginning >> /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript >> and report back with your findings? >> >> erlang:display({rootdir,code:root_dir()}), >> erlang:display({paths,code:get_path()}), >> >> Lukas >> >> >> On 15/06/12 16:52, Barry Hawkins wrote: >> >> Summary: A local build and install from source for Erlang R15B01 >> succeeds, 'make docs' succeeds, but the subsequent 'make install-docs' >> fails. >> Release: R15B01 >> Operating System: Mac OS X Lion 10.7.4 >> >> Steps to Reproduce: >> $ curl -O http://www.erlang.org/download/otp_src_R15B01.tar.gz >> $ tar xzvf otp_src_R15B01.tar.gz >> $ cd otp_src_R15B01 >> >> Per instructions at >> http://www.erlang.org/doc/installation_guide/INSTALL.html#Building-a-fast-Erlang-VM-on-Mac-OS-Lioninstall MacPorts GCC 4.5. >> >> $ sudo port install gcc45 +universal >> >> Install wxWidgets 2.8.12 and FOP 1.0 from MacPorts to satisfy >> dependencies. >> >> $ sudo port install wxwidgets >> $ which wx-config >> /opt/local/bin/wx-config >> >> $ sudo port install fop >> $ which fop >> /opt/local/bin/fop >> >> otp_src_R15B01 barryh$ PATH=/usr/local/bin:$PATH >> CC=/opt/local/bin/gcc-mp-4.5 CXX=/opt/local/bin/g++-mp-4.5 ./configure >> --enable-m32-build --prefix=$HOME >> otp_src_R15B01 barryh$ make install >> otp_src_R15B01 barryh$ which erl >> /Users/barryh/bin/erl >> >> With a successful installation of the system, proceeding to install the >> documentation per instructions at >> http://www.erlang.org/doc/installation_guide/INSTALL.html#The-ErlangOTP-Documentation_How-to-Build-the-Documentation >> >> otp_src_R15B01 barryh$ export PATH=$HOME/lib/erlang/bin:$PATH >> otp_src_R15B01 barryh$ echo $PATH >> >> /Users/barryh/lib/erlang/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin >> otp_src_R15B01 barryh$ export FOP_OPTS="-Xmx8192m" >> otp_src_R15B01 barryh$ make docs >> otp_src_R15B01 barryh$ make install-docs >> ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang >> PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ >> make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs >> PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript >> /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript >> -topdir /Users/barryh/otp_src_R15B01 -outfile >> /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml >> escript: exception error: undefined function xmerl:export_simple/2 >> in function erl_eval:do_apply/6 (erl_eval.erl, line 572) >> in call from erl_eval:expr/5 (erl_eval.erl, line 367) >> in call from erl_eval:exprs/5 (erl_eval.erl, line 118) >> in call from erl_eval:local_func/5 (erl_eval.erl, line 470) >> in call from escript:interpret/4 (escript.erl, line 754) >> in call from escript:start/1 (escript.erl, line 277) >> in call from init:start_it/1 >> make[1]: *** [mod2app] Error 127 >> make: *** [install-docs] Error 2 >> >> Comments: >> After some searching, it seems a similar issue has been encountered >> before. In particular, there were some reports following the release of >> R14B02 in March 2011, with commentary confirming the behavior on Ubuntu, >> CentOS, and Mac OS X. Here are links to the start of the related threads, >> one in erlang-questions and the other in erlang-bugs: >> >> http://erlang.org/pipermail/erlang-questions/2011-March/057024.html >> http://erlang.org/pipermail/erlang-bugs/2011-March/002247.html >> >> I confirmed the presence of xmerl-X.X.X in the installation's lib >> directory: >> >> $ ls -Fla /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ >> total 0 >> drwxr-xr-x 5 barryh staff 170 Jun 14 13:18 ./ >> drwxr-xr-x 58 barryh staff 1972 Jun 14 13:18 ../ >> drwxr-xr-x 37 barryh staff 1258 Jun 14 13:18 ebin/ >> drwxr-xr-x 5 barryh staff 170 Jun 14 13:18 include/ >> drwxr-xr-x 42 barryh staff 1428 Jun 14 13:18 src/ >> >> I also confirmed that the xmerl module could be loaded in my shell >> using a small example from >> http://stackoverflow.com/questions/1227241/building-an-xmerl-document-in-erlang >> . >> >> > Data = {myNode,[{foo,"Foo"},{bar,"Bar"}], []}. >> {myNode,[{foo,"Foo"},{bar,"Bar"}],[]} >> > lists:flatten(xmerl:export_simple([Data], xmerl_xml)). >> "" >> > m(). >> Module File >> application >> /Users/barryh/lib/erlang/lib/kernel-2.15.1/ebin/application.beam >> ... >> xmerl >> /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl.beam >> xmerl_lib >> /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_lib.beam >> xmerl_xml >> /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_xml.beam >> ... >> >> I tried changing "#!/usr/bin/env escript" to >> "#!/Users/barryh/bin/escript" as mentioned in >> http://erlang.org/pipermail/erlang-questions/2011-March/057072.html, but >> the behavior remained the same. >> >> I also tried adding the source's bin directory to $PATH instead of the >> installed system's bin directory, but the behavior did not change: >> >> otp_src_R15B01 barryh$ export >> PATH=/Users/barryh/otp_src_R15B01/bin:$PATH >> otp_src_R15B01 barryh$ echo $PATH >> >> /Users/barryh/otp_src_R15B01/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin >> otp_src_R15B01 barryh$ make install-docs >> ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang >> PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ >> make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs >> PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript >> /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript >> -topdir /Users/barryh/otp_src_R15B01 -outfile >> /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml >> escript: exception error: undefined function xmerl:export_simple/2 >> in function erl_eval:do_apply/6 (erl_eval.erl, line 572) >> in call from erl_eval:expr/5 (erl_eval.erl, line 367) >> in call from erl_eval:exprs/5 (erl_eval.erl, line 118) >> in call from erl_eval:local_func/5 (erl_eval.erl, line 470) >> in call from escript:interpret/4 (escript.erl, line 754) >> in call from escript:start/1 (escript.erl, line 277) >> in call from init:start_it/1 >> make[1]: *** [mod2app] Error 127 >> make: *** [install-docs] Error 2 >> >> Thanks in advance for any insight one may be able to provide, and >> apologies if I have overlooked some issue. >> >> Regards, >> -- >> Barry Hawkins >> twitter: @barryhawkins >> blog: http://barryhawkins.com/blog/ >> linkedin: http://www.linkedin.com/in/barryhawkins >> >> >> >> _______________________________________________ >> erlang-bugs mailing listerlang-bugs@REDACTED://erlang.org/mailman/listinfo/erlang-bugs >> >> >> _______________________________________________ >> erlang-bugs mailing list >> erlang-bugs@REDACTED >> http://erlang.org/mailman/listinfo/erlang-bugs >> >> > > > -- > Barry Hawkins > twitter: @barryhawkins > blog: http://barryhawkins.com/blog/ > linkedin: http://www.linkedin.com/in/barryhawkins > > > > _______________________________________________ > erlang-bugs mailing listerlang-bugs@REDACTED://erlang.org/mailman/listinfo/erlang-bugs > > > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs > > -- Barry Hawkins twitter: @barryhawkins blog: http://barryhawkins.com/blog/ linkedin: http://www.linkedin.com/in/barryhawkins -------------- next part -------------- An HTML attachment was scrubbed... URL: From barry.hawkins@REDACTED Tue Jun 19 16:45:19 2012 From: barry.hawkins@REDACTED (Barry Hawkins) Date: Tue, 19 Jun 2012 10:45:19 -0400 Subject: [erlang-bugs] R15B01 'make install_docs' failure "escript: exception error: undefined function xmerl:export_simple/2" In-Reply-To: References: <4FDF01CC.9080300@erlang.org> <4FE08BA3.1060407@erlang.org> Message-ID: I see that 'make install-docs' seems to be using "/Users/barryh/otp_src_R15B01/bootstrap" as the rootdir whereas my shell uses "/Users/barryh/lib/erlang". I made an attempt to force 'make install-docs' use the latter via an export of ERL_TOP, but I believe the Makefile is overriding it: otp_src_R15B01 barryh$ export ERL_TOP=/Users/barryh/lib/erlang otp_src_R15B01 barryh$ make install-docs ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript -topdir /Users/barryh/otp_src_R15B01 -outfile /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml {rootdir,"/Users/barryh/otp_src_R15B01/bootstrap"} {paths,[".","/Users/barryh/otp_src_R15B01/bootstrap/lib/kernel/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/stdlib/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/xmerl","/Users/barryh/otp_src_R15B01/bootstrap/lib/wx/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/test_server","/Users/barryh/otp_src_R15B01/bootstrap/lib/syntax_tools/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/snmp/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/sasl/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/parsetools/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/orber","/Users/barryh/otp_src_R15B01/bootstrap/lib/ic/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/hipe/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/compiler/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/asn1/ebin"]} escript: exception error: undefined function xmerl:export_simple/2 in function erl_eval:do_apply/6 (erl_eval.erl, line 572) in call from erl_eval:expr/5 (erl_eval.erl, line 367) in call from erl_eval:exprs/5 (erl_eval.erl, line 118) in call from erl_eval:local_func/5 (erl_eval.erl, line 470) in call from escript:interpret/4 (escript.erl, line 754) in call from escript:start/1 (escript.erl, line 277) in call from init:start_it/1 make[1]: *** [mod2app] Error 127 make: *** [install-docs] Error 2 -- Barry On Tue, Jun 19, 2012 at 10:34 AM, Barry Hawkins wrote: > Ah, I should have figured that out. Here's the requested output with those > directives in place: > > otp_src_R15B01 barryh$ make install-docs > ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang > PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ > make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs > PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript > /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript > -topdir /Users/barryh/otp_src_R15B01 -outfile > /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml > {rootdir,"/Users/barryh/otp_src_R15B01/bootstrap"} > > {paths,[".","/Users/barryh/otp_src_R15B01/bootstrap/lib/kernel/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/stdlib/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/xmerl","/Users/barryh/otp_src_R15B01/bootstrap/lib/wx/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/test_server","/Users/barryh/otp_src_R15B01/bootstrap/lib/syntax_tools/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/snmp/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/sasl/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/parsetools/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/orber","/Users/barryh/otp_src_R15B01/bootstrap/lib/ic/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/hipe/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/compiler/ebin","/Users/barryh/otp_src_R15B01/bootstrap/lib/asn1/ebin"]} > escript: exception error: undefined function xmerl:export_simple/2 > in function erl_eval:do_apply/6 (erl_eval.erl, line 572) > in call from erl_eval:expr/5 (erl_eval.erl, line 367) > in call from erl_eval:exprs/5 (erl_eval.erl, line 118) > in call from erl_eval:local_func/5 (erl_eval.erl, line 470) > in call from escript:interpret/4 (escript.erl, line 754) > in call from escript:start/1 (escript.erl, line 277) > in call from init:start_it/1 > make[1]: *** [mod2app] Error 127 > make: *** [install-docs] Error 2 > > -- > Barry > > On Tue, Jun 19, 2012 at 10:24 AM, Lukas Larsson wrote: > >> Hi, >> >> Place them right after the "main(Args) ->" line and it should work. >> >> I see nothing wrong with the output you pasted below. >> >> Lukas >> >> >> On 19/06/12 16:16, Barry Hawkins wrote: >> >> Lukas, >> Hello, and thanks for your response. Placing those two lines just after >> the comment blocks and just before the "main(Args) ->" line, but it results >> in a syntax error: >> >> otp_src_R15B01 barryh$ make install-docs >> ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang >> PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ >> make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs >> PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript >> /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript >> -topdir /Users/barryh/otp_src_R15B01 -outfile >> /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml >> /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript:42: >> syntax error before: ':' >> escript: There were compilation errors. >> make[1]: *** [mod2app] Error 127 >> make: *** [install-docs] Error 2 >> >> Being new to Erlang, there may be some context I'm missing. Is there a >> particular function in which I need to embed those directives? In the >> meantime I have executed those two directives in the shell in the event >> that would be partially helpful: >> >> $ erl >> Erlang R15B01 (erts-5.9.1) [source] [smp:8:8] [async-threads:0] [hipe] >> [kernel-poll:false] >> >> Eshell V5.9.1 (abort with ^G) >> 1> erlang:display({rootdir,code:root_dir()}). >> {rootdir,"/Users/barryh/lib/erlang"} >> true >> 2> erlang:display({paths,code:get_path()}). >> {paths,[".","/Users/barryh/lib/erlang/lib/kernel-2.15.1/ebin","/Users/barryh/lib/erlang/lib/stdlib-1.18.1/ebin","/Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin","/Users/barryh/lib/erlang/lib/wx-0.99.2/ebin","/Users/barryh/lib/erlang/lib/webtool-0.8.9.1/ebin","/Users/barryh/lib/erlang/lib/typer-0.9.3/ebin","/Users/barryh/lib/erlang/lib/tv-2.1.4.9/ebin","/Users/barryh/lib/erlang/lib/tools-2.6.7/ebin","/Users/barryh/lib/erlang/lib/toolbar-1.4.2.2/ebin","/Users/barryh/lib/erlang/lib/test_server-3.5.1/ebin","/Users/barryh/lib/erlang/lib/syntax_tools-1.6.8/ebin","/Users/barryh/lib/erlang/lib/ssl-5.0.1/ebin","/Users/barryh/lib/erlang/lib/ssh-2.1/ebin","/Users/barryh/lib/erlang/lib/snmp-4.22/ebin","/Users/barryh/lib/erlang/lib/sasl-2.2.1/ebin","/Users/barryh/lib/erlang/lib/runtime_tools-1.8.8/ebin","/Users/barryh/lib/erlang/lib/reltool-0.6/ebin","/Users/barryh/lib/erlang/lib/public_key-0.15/ebin","/Users/barryh/lib/erlang/lib/pman-2.7.1.2/ebin","/Users/barryh/lib/erlan! >> g/lib/perc >> ept-0.8.6.1/ebin","/Users/barryh/lib/erlang/lib/parsetools-2.0.7/ebin","/Users/barryh/lib/erlang/lib/otp_mibs-1.0.7/ebin","/Users/barryh/lib/erlang/lib/os_mon-2.2.9/ebin","/Users/barryh/lib/erlang/lib/orber-3.6.24/ebin","/Users/barryh/lib/erlang/lib/odbc-2.10.12/ebin","/Users/barryh/lib/erlang/lib/observer-1.1/ebin","/Users/barryh/lib/erlang/lib/mnesia-4.7/ebin","/Users/barryh/lib/erlang/lib/megaco-3.16.0.1/ebin","/Users/barryh/lib/erlang/lib/jinterface-1.5.6","/Users/barryh/lib/erlang/lib/inviso-0.6.3/ebin","/Users/barryh/lib/erlang/lib/inets-5.9/ebin","/Users/barryh/lib/erlang/lib/ic-4.2.30/ebin","/Users/barryh/lib/erlang/lib/hipe-3.9.1/ebin","/Users/barryh/lib/erlang/lib/gs-1.5.15.1/ebin","/Users/barryh/lib/erlang/lib/eunit-2.2.2/ebin","/Users/barryh/lib/erlang/lib/et-1.4.4.1/ebin","/Users/barryh/lib/erlang/lib/erts-5.9.1/ebin","/Users/barryh/lib/erlang/lib/erl_interface-3.7.7","/Users/barryh/lib/erlang/lib/erl_docgen-0.3.1/ebin","/Users/barryh/lib/erlang/lib/eldap-1.0/eb! >> in","/User >> s/barryh/lib/erlang/lib/edoc-0.7.9.1/ebin","/Users/barryh/lib/erlang/lib/diameter-1.1/ebin","/Users/barryh/lib/erlang/lib/dialyzer-2.5.1/ebin","/Users/barryh/lib/erlang/lib/debugger-3.2.8/ebin","/Users/barryh/lib/erlang/lib/crypto-2.1/ebin","/Users/barryh/lib/erlang/lib/cosTransactions-1.2.12/ebin","/Users/barryh/lib/erlang/lib/cosTime-1.1.12/ebin","/Users/barryh/lib/erlang/lib/cosProperty-1.1.15/ebin","/Users/barryh/lib/erlang/lib/cosNotification-1.1.18/ebin","/Users/barryh/lib/erlang/lib/cosFileTransfer-1.1.13/ebin","/Users/barryh/lib/erlang/lib/cosEventDomain-1.1.12/ebin","/Users/barryh/lib/erlang/lib/cosEvent-2.1.12/ebin","/Users/barryh/lib/erlang/lib/compiler-4.8.1/ebin","/Users/barryh/lib/erlang/lib/common_test-1.6.1/ebin","/Users/barryh/lib/erlang/lib/asn1-1.7/ebin","/Users/barryh/lib/erlang/lib/appmon-2.1.14.1/ebin"]} >> true >> >> Regards, >> -- >> Barry >> >> On Mon, Jun 18, 2012 at 6:24 AM, Lukas Larsson wrote: >> >>> Hello, >>> >>> Unfortunately I cannot reproduce your error. Could you try to insert >>> this into the beginning >>> /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript >>> and report back with your findings? >>> >>> erlang:display({rootdir,code:root_dir()}), >>> erlang:display({paths,code:get_path()}), >>> >>> Lukas >>> >>> >>> On 15/06/12 16:52, Barry Hawkins wrote: >>> >>> Summary: A local build and install from source for Erlang R15B01 >>> succeeds, 'make docs' succeeds, but the subsequent 'make install-docs' >>> fails. >>> Release: R15B01 >>> Operating System: Mac OS X Lion 10.7.4 >>> >>> Steps to Reproduce: >>> $ curl -O http://www.erlang.org/download/otp_src_R15B01.tar.gz >>> $ tar xzvf otp_src_R15B01.tar.gz >>> $ cd otp_src_R15B01 >>> >>> Per instructions at >>> http://www.erlang.org/doc/installation_guide/INSTALL.html#Building-a-fast-Erlang-VM-on-Mac-OS-Lioninstall MacPorts GCC 4.5. >>> >>> $ sudo port install gcc45 +universal >>> >>> Install wxWidgets 2.8.12 and FOP 1.0 from MacPorts to satisfy >>> dependencies. >>> >>> $ sudo port install wxwidgets >>> $ which wx-config >>> /opt/local/bin/wx-config >>> >>> $ sudo port install fop >>> $ which fop >>> /opt/local/bin/fop >>> >>> otp_src_R15B01 barryh$ PATH=/usr/local/bin:$PATH >>> CC=/opt/local/bin/gcc-mp-4.5 CXX=/opt/local/bin/g++-mp-4.5 ./configure >>> --enable-m32-build --prefix=$HOME >>> otp_src_R15B01 barryh$ make install >>> otp_src_R15B01 barryh$ which erl >>> /Users/barryh/bin/erl >>> >>> With a successful installation of the system, proceeding to install >>> the documentation per instructions at >>> http://www.erlang.org/doc/installation_guide/INSTALL.html#The-ErlangOTP-Documentation_How-to-Build-the-Documentation >>> >>> otp_src_R15B01 barryh$ export PATH=$HOME/lib/erlang/bin:$PATH >>> otp_src_R15B01 barryh$ echo $PATH >>> >>> /Users/barryh/lib/erlang/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin >>> otp_src_R15B01 barryh$ export FOP_OPTS="-Xmx8192m" >>> otp_src_R15B01 barryh$ make docs >>> otp_src_R15B01 barryh$ make install-docs >>> ERL_TOP=/Users/barryh/otp_src_R15B01 >>> INSTALLROOT=/Users/barryh/lib/erlang >>> PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ >>> make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs >>> PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript >>> /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript >>> -topdir /Users/barryh/otp_src_R15B01 -outfile >>> /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml >>> escript: exception error: undefined function xmerl:export_simple/2 >>> in function erl_eval:do_apply/6 (erl_eval.erl, line 572) >>> in call from erl_eval:expr/5 (erl_eval.erl, line 367) >>> in call from erl_eval:exprs/5 (erl_eval.erl, line 118) >>> in call from erl_eval:local_func/5 (erl_eval.erl, line 470) >>> in call from escript:interpret/4 (escript.erl, line 754) >>> in call from escript:start/1 (escript.erl, line 277) >>> in call from init:start_it/1 >>> make[1]: *** [mod2app] Error 127 >>> make: *** [install-docs] Error 2 >>> >>> Comments: >>> After some searching, it seems a similar issue has been encountered >>> before. In particular, there were some reports following the release of >>> R14B02 in March 2011, with commentary confirming the behavior on Ubuntu, >>> CentOS, and Mac OS X. Here are links to the start of the related threads, >>> one in erlang-questions and the other in erlang-bugs: >>> >>> http://erlang.org/pipermail/erlang-questions/2011-March/057024.html >>> http://erlang.org/pipermail/erlang-bugs/2011-March/002247.html >>> >>> I confirmed the presence of xmerl-X.X.X in the installation's lib >>> directory: >>> >>> $ ls -Fla /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ >>> total 0 >>> drwxr-xr-x 5 barryh staff 170 Jun 14 13:18 ./ >>> drwxr-xr-x 58 barryh staff 1972 Jun 14 13:18 ../ >>> drwxr-xr-x 37 barryh staff 1258 Jun 14 13:18 ebin/ >>> drwxr-xr-x 5 barryh staff 170 Jun 14 13:18 include/ >>> drwxr-xr-x 42 barryh staff 1428 Jun 14 13:18 src/ >>> >>> I also confirmed that the xmerl module could be loaded in my shell >>> using a small example from >>> http://stackoverflow.com/questions/1227241/building-an-xmerl-document-in-erlang >>> . >>> >>> > Data = {myNode,[{foo,"Foo"},{bar,"Bar"}], []}. >>> {myNode,[{foo,"Foo"},{bar,"Bar"}],[]} >>> > lists:flatten(xmerl:export_simple([Data], xmerl_xml)). >>> "" >>> > m(). >>> Module File >>> application >>> /Users/barryh/lib/erlang/lib/kernel-2.15.1/ebin/application.beam >>> ... >>> xmerl >>> /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl.beam >>> xmerl_lib >>> /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_lib.beam >>> xmerl_xml >>> /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_xml.beam >>> ... >>> >>> I tried changing "#!/usr/bin/env escript" to >>> "#!/Users/barryh/bin/escript" as mentioned in >>> http://erlang.org/pipermail/erlang-questions/2011-March/057072.html, >>> but the behavior remained the same. >>> >>> I also tried adding the source's bin directory to $PATH instead of the >>> installed system's bin directory, but the behavior did not change: >>> >>> otp_src_R15B01 barryh$ export >>> PATH=/Users/barryh/otp_src_R15B01/bin:$PATH >>> otp_src_R15B01 barryh$ echo $PATH >>> >>> /Users/barryh/otp_src_R15B01/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin >>> otp_src_R15B01 barryh$ make install-docs >>> ERL_TOP=/Users/barryh/otp_src_R15B01 >>> INSTALLROOT=/Users/barryh/lib/erlang >>> PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \ >>> make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs >>> PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript >>> /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript >>> -topdir /Users/barryh/otp_src_R15B01 -outfile >>> /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml >>> escript: exception error: undefined function xmerl:export_simple/2 >>> in function erl_eval:do_apply/6 (erl_eval.erl, line 572) >>> in call from erl_eval:expr/5 (erl_eval.erl, line 367) >>> in call from erl_eval:exprs/5 (erl_eval.erl, line 118) >>> in call from erl_eval:local_func/5 (erl_eval.erl, line 470) >>> in call from escript:interpret/4 (escript.erl, line 754) >>> in call from escript:start/1 (escript.erl, line 277) >>> in call from init:start_it/1 >>> make[1]: *** [mod2app] Error 127 >>> make: *** [install-docs] Error 2 >>> >>> Thanks in advance for any insight one may be able to provide, and >>> apologies if I have overlooked some issue. >>> >>> Regards, >>> -- >>> Barry Hawkins >>> twitter: @barryhawkins >>> blog: http://barryhawkins.com/blog/ >>> linkedin: http://www.linkedin.com/in/barryhawkins >>> >>> >>> >>> _______________________________________________ >>> erlang-bugs mailing listerlang-bugs@REDACTED://erlang.org/mailman/listinfo/erlang-bugs >>> >>> >>> _______________________________________________ >>> erlang-bugs mailing list >>> erlang-bugs@REDACTED >>> http://erlang.org/mailman/listinfo/erlang-bugs >>> >>> >> >> >> -- >> Barry Hawkins >> twitter: @barryhawkins >> blog: http://barryhawkins.com/blog/ >> linkedin: http://www.linkedin.com/in/barryhawkins >> >> >> >> _______________________________________________ >> erlang-bugs mailing listerlang-bugs@REDACTED://erlang.org/mailman/listinfo/erlang-bugs >> >> >> _______________________________________________ >> erlang-bugs mailing list >> erlang-bugs@REDACTED >> http://erlang.org/mailman/listinfo/erlang-bugs >> >> > > > -- > Barry Hawkins > twitter: @barryhawkins > blog: http://barryhawkins.com/blog/ > linkedin: http://www.linkedin.com/in/barryhawkins > > -- Barry Hawkins twitter: @barryhawkins blog: http://barryhawkins.com/blog/ linkedin: http://www.linkedin.com/in/barryhawkins -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniel.goertzen@REDACTED Wed Jun 20 16:54:45 2012 From: daniel.goertzen@REDACTED (Daniel Goertzen) Date: Wed, 20 Jun 2012 09:54:45 -0500 Subject: [erlang-bugs] ssh_connection_manager.erl bad catch expression Message-ID: I just upgraded to R15B01 and ssh started behaving poorly. The problem is a bad catch expression in ssh_connection_manager.erl line 269: The code is.. catch %line 269 _:Reason -> {disconnect, Reason, {{replies, Replies}, Connection}} = ssh_connection:handle_msg( #ssh_msg_disconnect{code = ?SSH_DISCONNECT_BY_APPLICATION, description = "Internal error", language = "en"}, Connection0, undefined, Role), The Reason in the catch clause binds to 'function_clause' The Reason returned by handle_msg() in my case was {11,"Internal error"} Changing the catch clause to below seems to fix thing for me. _:_Reason -> My use case is that I open an ssh connection and then sequentially create and close a number of channels. A new process is created for each channel, and the process exits as soon as the eof message is received, leaving a few additional messages like exit_status dangling. This evidently exercises the above catch clause and makes the whole connection crash. Note that I am talking to a very slow SSH server. My program also retries the connection and channel commands forever; after a few minutes it gets lucky and finishes without crashing. A work-around is to have the channel process wait for the close message before exiting. This is probably the polite thing to do anyway. I did not have these issues in R14B03. Regards, Dan. -------------- next part -------------- An HTML attachment was scrubbed... URL: From clist@REDACTED Sat Jun 23 00:33:18 2012 From: clist@REDACTED (Angel J. Alvarez Miguel) Date: Sat, 23 Jun 2012 00:33:18 +0200 Subject: [erlang-bugs] simple_one_by_one doesnt join args list properly Message-ID: <201206230033.19043.clist@uah.es> Hi simple_one_for_one doesnt joint well args from childspec and start_child calls... group_supervisor:init/1 init(Opts) -> & Opts is a large property list from cmd-line args parsed with getopt {ok, { {simple_one_for_one, 1, 60}, [ {mucfsm, {sim_group_fsm, start_link, [Opts]}, transient, 60, worker, [sim_group]} ] } }. test:main/0 main() -> io:format("Starting simple_one_by_one group supervisor...\n"), SuppOpts = [{?ecursive,true},{option1,40}], % This root property list all sup children will inherit it {ok,Pid} = group_supervisor:start_link(SuppOpts), wait(5), io:format("Adding a child dynamically...\n",[]), FSMOpts = [{fsm2,100}], % This is another property list we want new children to see it also {ok,_ChildPid} = supervisor:start_child(Pid,[FSMOpts]), wait(20). children running sim_group_fsm should be started as : sim_group_fsm:start_link/1 but sup builds args list the worng way thustrying to call undefined functions start_link/n with n > 1 As docs state that simple_one_by_one sup will do apply(M,F,A) where A = ArgsFromChildSpec ++ ArgsFromStartChild call but as gen_fsm start_link is always arity ONE , supervisor must enclose A ina list to enrure always arity ONE. I provide an example... and a patch Im currently using a local patched version as i need using such a feature, howevre ive searched my local OTP installation and, most if not all {M,F,A} tuples in child specs era of the form A = [ ], also in most apps ive downloaded from GITHUB, so i think this feature of SOFO sups is probably not exercised enough, and nobody noticed this issue.... Please take a look and show me the rigth way of doing this in case im wrong. Regards, Angel Patched supervidor example: Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:4:4] [async-threads:0] [hipe] [kernel-poll:false] [QuickCheck] [PropEr] [Erl0MQ] Starting simple_one_by_one group supervisor... Eshell V5.9.1 (abort with ^G) [GROUP SUP] staring with argument: [{option1,40}] 1> [GROUP SUP] Ready to manage MuC with opts: [{option1,40}]'s Adding a child dynamically... start_link called with 1 argument: [[{option1,40}],[{fsm2,100}]] init fsm with args: [[{option1,40}],[{fsm2,100}]] Im alive! Im alive! Im alive! Original unpatched supervisor (stdllib 1.18.1) erl -run test main [QuickCheck] [PropEr] [Erl0MQ] test.erl:11: Warning: variable 'ChildPid' is unused Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:4:4] [async-threads:0] [hipe] [kernel-poll:false] [QuickCheck] [PropEr] [Erl0MQ] Starting simple_one_by_one group supervisor... [GROUP SUP] staring with argument: [{option1,40}] Eshell V5.9.1 (abort with ^G) 1> [GROUP SUP] Ready to manage MuC with opts: [{option1,40}]'s Adding a child dynamically... {"init terminating in do_boot",{{badmatch,{error,{'EXIT',{undef,[{sim_group_fsm,start_link,[[{option1,40}],[{fsm2,100}]],[]},{supervisor,do_start_child_i,3,[{file,"supervisor.erl"},{line,319}]},{supervisor,handle_call,3,[{file,"supervisor.erl"},{line,344}]},{gen_server,handle_msg,5, [{file,"gen_server.erl"},{line,588}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}}}},[{test,main,0,[{file,"test.erl"},{line,11}]},{init,start_it,1,[]},{init,start_em,1,[]}]}} Crash dump was written to: erl_crash.dump init terminating in do_boot () -------------- next part -------------- A non-text attachment was scrubbed... Name: group_supervisor.erl Type: text/x-erlang Size: 528 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: sim_group_fsm.erl Type: text/x-erlang Size: 2152 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: test.erl Type: text/x-erlang Size: 573 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: supervisor.patch Type: text/x-patch Size: 538 bytes Desc: not available URL: From clist@REDACTED Sun Jun 24 09:07:19 2012 From: clist@REDACTED (Angel J. Alvarez Miguel) Date: Sun, 24 Jun 2012 09:07:19 +0200 Subject: [erlang-bugs] simple_one_by_one doesnt join args list properly In-Reply-To: <201206230033.19043.clist@uah.es> References: <201206230033.19043.clist@uah.es> Message-ID: <201206240907.19415.clist@uah.es> Gist for this issue git://gist.github.com/2978625.git /Angel On S?bado, 23 de Junio de 2012 00:33:18 Angel J. Alvarez Miguel escribi?: > Hi > > simple_one_for_one doesnt joint well args from childspec and start_child > calls... > > group_supervisor:init/1 > > init(Opts) -> & Opts is a large property list from cmd-line > args parsed with getopt {ok, { > {simple_one_for_one, 1, 60}, > [ > {mucfsm, {sim_group_fsm, start_link, [Opts]}, > transient, 60, worker, [sim_group]} ] > } > }. > > > > test:main/0 > > main() -> > io:format("Starting simple_one_by_one group supervisor...\n"), > SuppOpts = [{?ecursive,true},{option1,40}], > % This root property list all sup children will inherit it > {ok,Pid} = group_supervisor:start_link(SuppOpts), > wait(5), > io:format("Adding a child dynamically...\n",[]), > FSMOpts = [{fsm2,100}], % > This is another property list we want new children to see it also > {ok,_ChildPid} = supervisor:start_child(Pid,[FSMOpts]), > wait(20). > > > children running sim_group_fsm should be started as : > > sim_group_fsm:start_link/1 but sup builds args list the worng way > thustrying to call undefined functions > > start_link/n > > with n > 1 > > > As docs state that simple_one_by_one sup will do apply(M,F,A) where A = > ArgsFromChildSpec ++ ArgsFromStartChild call but as gen_fsm start_link is > always arity ONE , supervisor must enclose A ina list to enrure always > arity ONE. > > I provide an example... and a patch > > Im currently using a local patched version as i need using such a feature, > howevre ive searched my local OTP installation and, most if not all > {M,F,A} tuples in child specs era of the form A = [ ], also in most apps > ive downloaded from GITHUB, so i think this feature of SOFO sups is > probably not exercised enough, and nobody noticed this issue.... > > > Please take a look and show me the rigth way of doing this in case im > wrong. > > Regards, Angel > > Patched supervidor example: > > Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:4:4] [async-threads:0] > [hipe] [kernel-poll:false] > > [QuickCheck] [PropEr] [Erl0MQ] > Starting simple_one_by_one group supervisor... > Eshell V5.9.1 (abort with ^G) > [GROUP SUP] staring with argument: [{option1,40}] > 1> [GROUP SUP] Ready to manage MuC with opts: [{option1,40}]'s > Adding a child dynamically... > start_link called with 1 argument: [[{option1,40}],[{fsm2,100}]] > init fsm with args: [[{option1,40}],[{fsm2,100}]] > Im alive! > Im alive! > Im alive! > > > Original unpatched supervisor (stdllib 1.18.1) > > erl -run test main > [QuickCheck] [PropEr] [Erl0MQ] > test.erl:11: Warning: variable 'ChildPid' is unused > Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:4:4] [async-threads:0] > [hipe] [kernel-poll:false] > > [QuickCheck] [PropEr] [Erl0MQ] > Starting simple_one_by_one group supervisor... > [GROUP SUP] staring with argument: [{option1,40}] > Eshell V5.9.1 (abort with ^G) > 1> [GROUP SUP] Ready to manage MuC with opts: [{option1,40}]'s > Adding a child dynamically... > {"init terminating in > do_boot",{{badmatch,{error,{'EXIT',{undef,[{sim_group_fsm,start_link,[[{op > tion1,40}],[{fsm2,100}]],[]},{supervisor,do_start_child_i,3,[{file,"supervi > sor.erl"},{line,319}]},{supervisor,handle_call,3,[{file,"supervisor.erl"},{ > line,344}]},{gen_server,handle_msg,5, > [{file,"gen_server.erl"},{line,588}]},{proc_lib,init_p_do_apply,3,[{file," > proc_lib.erl"},{line,227}]}]}}}},[{test,main,0,[{file,"test.erl"},{line,11} > ]},{init,start_it,1,[]},{init,start_em,1,[]}]}} > > Crash dump was written to: erl_crash.dump > init terminating in do_boot () From eric.pailleau@REDACTED Wed Jun 27 09:23:01 2012 From: eric.pailleau@REDACTED (PAILLEAU Eric) Date: Wed, 27 Jun 2012 09:23:01 +0200 Subject: [erlang-bugs] http://www.erlang.org/ : Error 501 Message-ID: <4FEAB4D5.9040601@wanadoo.fr> Hi, the entry page : http://www.erlang.org/ returns : 501 Error Please report this error to the administrator of this site since few days. regards From henrik@REDACTED Wed Jun 27 13:40:19 2012 From: henrik@REDACTED (Henrik Nord) Date: Wed, 27 Jun 2012 13:40:19 +0200 Subject: [erlang-bugs] http://www.erlang.org/ : Error 501 In-Reply-To: <4FEAB4D5.9040601@wanadoo.fr> References: <4FEAB4D5.9040601@wanadoo.fr> Message-ID: <4FEAF123.1070908@erlang.org> Thank you for the notice we are currently implementing a fix for the issue, and the site should be back up. or well the entry page, the rest was never down. On 06/27/2012 09:23 AM, PAILLEAU Eric wrote: > Hi, > > the entry page : http://www.erlang.org/ > > returns : > > 501 Error > Please report this error to the administrator of this site > > since few days. sense 06/26/2012 11:43 AM > > regards > _______________________________________________ > erlang-bugs mailing list > erlang-bugs@REDACTED > http://erlang.org/mailman/listinfo/erlang-bugs -- /Henrik Nord Erlang/OTP From henrik@REDACTED Wed Jun 27 14:06:10 2012 From: henrik@REDACTED (Henrik Nord) Date: Wed, 27 Jun 2012 14:06:10 +0200 Subject: [erlang-bugs] Erlang.org back on track Message-ID: <4FEAF732.7000702@erlang.org> The frontpage of www.erlang.org is now back online after this mornings problems. Thank you -- /Henrik Nord Erlang/OTP From raymon.cb@REDACTED Wed Jun 27 18:55:48 2012 From: raymon.cb@REDACTED (Ramon Bynum) Date: Wed, 27 Jun 2012 16:55:48 +0000 Subject: [erlang-bugs] term_to_binary/2 raises exceptions In-Reply-To: References: , Message-ID: why not just make binary_to_term/2 be different function with /1. it will never need any other options someone ovously premature generalize iand make it take options instead of just making another function called binary_to_term_safe/1. anyways, i would like if you rename it to dudebro so i dont change my code dudebro is one word. eitherways i dont think you understood me, i want to call the function as dudebro, not some function in my code Date: Wed, 13 Jun 2012 14:25:28 +0100 From: robert.virding@REDACTED To: raymon.cb@REDACTED CC: erlang-bugs@REDACTED Subject: Re: [erlang-bugs] term_to_binary/2 raises exceptions It it binary_to_term/2 which takes 'safe' as an option. It should definitely *NOT* return {ok,Term} | {error,badarg} when the 'safe' option is used; it should always have the same structure for return values irrespective of options. So it either returns a term or signals a value. dude_bro would be a better name than dudebro, separating words with '_' in atoms is a common convention. It would be a quick fix for you in your code. Robert term_to_binary/2 with [safe] as the second argument either throws an exception, or returns the decoded term. wouldnt it be better if it return either {error, badarg} or {ok, the decoded term} ? i think it should be changed to this. btw while at it can you rename the function to dudebro? ive already written my code and it uses that name everywher. thanks _______________________________________________ erlang-bugs mailing list erlang-bugs@REDACTED http://erlang.org/mailman/listinfo/erlang-bugs -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan.zegenhagen@REDACTED Thu Jun 28 11:25:28 2012 From: stefan.zegenhagen@REDACTED (Stefan Zegenhagen) Date: Thu, 28 Jun 2012 11:25:28 +0200 Subject: [erlang-bugs] R15B01: PUBLIC_KEY: unable to decode auth_keys/pubkeys with comments Message-ID: <1340875528.3506.16.camel@ax-sze> Dear all, the public_key application fails to decode SSH public keys from *.pub files or the authorized_keys file when the key has comments with whitespace in between. The key file is split at whitespace boundaries and the function mend_split() in pubkey_ssh.erl is used to extract the relevant pieces (KeyType, KeyData, ...). When the key comment contains whitespace, the mend_split() function fails to merge the pieces of the comment into a single string and causes badmatch exceptions in do_openssh_decode/3. Since the format of the "known_hosts" file and the "authorized_keys" or *.pub files is fundamentally different, it might be necessary to have different functions to parse them. Kind regards, -- Dr. Stefan Zegenhagen arcutronix GmbH Garbsener Landstr. 10 30419 Hannover Germany Tel: +49 511 277-2734 Fax: +49 511 277-2709 Email: stefan.zegenhagen@REDACTED Web: www.arcutronix.com *Synchronize the Ethernet* General Managers: Dipl. Ing. Juergen Schroeder, Dr. Josef Gfrerer - Legal Form: GmbH, Registered office: Hannover, HRB 202442, Amtsgericht Hannover; Ust-Id: DE257551767. Please consider the environment before printing this message. From stefan.zegenhagen@REDACTED Thu Jun 28 11:38:22 2012 From: stefan.zegenhagen@REDACTED (Stefan Zegenhagen) Date: Thu, 28 Jun 2012 11:38:22 +0200 Subject: [erlang-bugs] R15B01: SNMP: incorrect walk over vacmAccessTable Message-ID: <1340876302.3506.23.camel@ax-sze> Dear all, the following bug is a long-standing one that has been present since at least R12B3. We use SNMPv3 a lot and use, for example, a vacm.conf-file like the one attached to this email. When doing an snmpwalk over that table, the following information is returned: snmpwalk 192.168.0.95 vacmAccessTable SNMP-VIEW-BASED-ACM-MIB::vacmAccessContextMatch."level1"."".2.noAuthNoPriv = INTEGER: exact(1) SNMP-VIEW-BASED-ACM-MIB::vacmAccessContextMatch."level1"."".3.noAuthNoPriv = INTEGER: exact(1) SNMP-VIEW-BASED-ACM-MIB::vacmAccessContextMatch."level1"."".3.authNoPriv = INTEGER: exact(1) SNMP-VIEW-BASED-ACM-MIB::vacmAccessContextMatch."level1"."".3.authPriv = INTEGER: exact(1) SNMP-VIEW-BASED-ACM-MIB::vacmAccessContextMatch."level3"."".2.noAuthNoPriv = INTEGER: exact(1) SNMP-VIEW-BASED-ACM-MIB::vacmAccessContextMatch."level3"."".3.noAuthNoPriv = INTEGER: exact(1) SNMP-VIEW-BASED-ACM-MIB::vacmAccessContextMatch."level3"."".3.authNoPriv = INTEGER: exact(1) SNMP-VIEW-BASED-ACM-MIB::vacmAccessContextMatch."level3"."".3.authPriv = INTEGER: exact(1) SNMP-VIEW-BASED-ACM-MIB::vacmAccessContextMatch."level5"."".2.noAuthNoPriv = INTEGER: exact(1) SNMP-VIEW-BASED-ACM-MIB::vacmAccessContextMatch."level5"."".3.noAuthNoPriv = INTEGER: exact(1) SNMP-VIEW-BASED-ACM-MIB::vacmAccessContextMatch."level5"."".3.authNoPriv = INTEGER: exact(1) SNMP-VIEW-BASED-ACM-MIB::vacmAccessContextMatch."level5"."".3.authPriv = INTEGER: exact(1) SNMP-VIEW-BASED-ACM-MIB::vacmAccessReadViewName."level5"."".3.authPriv = STRING: restricted SNMP-VIEW-BASED-ACM-MIB::vacmAccessWriteViewName."level5"."".3.authPriv = STRING: none SNMP-VIEW-BASED-ACM-MIB::vacmAccessNotifyViewName."level5"."".3.authPriv = STRING: administrator SNMP-VIEW-BASED-ACM-MIB::vacmAccessStorageType."level5"."".3.authPriv = INTEGER: nonVolatile(3) SNMP-VIEW-BASED-ACM-MIB::vacmAccessStatus."level5"."".3.authPriv = INTEGER: active(1) Please note that only the vacmAccessContextMatch table column is returned for every table row. All other columns are only returned for the very last row in the table. Kind regards, -- Dr. Stefan Zegenhagen arcutronix GmbH Garbsener Landstr. 10 30419 Hannover Germany Tel: +49 511 277-2734 Fax: +49 511 277-2709 Email: stefan.zegenhagen@REDACTED Web: www.arcutronix.com *Synchronize the Ethernet* General Managers: Dipl. Ing. Juergen Schroeder, Dr. Josef Gfrerer - Legal Form: GmbH, Registered office: Hannover, HRB 202442, Amtsgericht Hannover; Ust-Id: DE257551767. Please consider the environment before printing this message. -------------- next part -------------- A non-text attachment was scrubbed... Name: vacm.conf Type: text/x-matlab Size: 2646 bytes Desc: not available URL: From clist@REDACTED Thu Jun 28 13:43:58 2012 From: clist@REDACTED (Angel J. Alvarez Miguel) Date: Thu, 28 Jun 2012 13:43:58 +0200 Subject: [erlang-bugs] error in gen_fsm:reply/2 docs?? Message-ID: <201206281343.58671.clist@uah.es> Hi again.. gen_fsm:reply/2 does not return true (as stdlib 1.18-1 docs say ) but returns second argument ... children_response(Pids,Data) -> lists:foreach(fun(Child) -> Status = gen_fsm:reply(Child,Data) ,io:format("Sending replies got status = ~p\n",[Status]) end,Pids). "Sending replies got status = {#Ref<0.0.0.765>,0.9999786930675343}" /Angel From helllamer@REDACTED Fri Jun 29 13:12:30 2012 From: helllamer@REDACTED (Konstantin Nikiforov) Date: Fri, 29 Jun 2012 15:12:30 +0400 Subject: [erlang-bugs] beam_lib stripper damages -extends() modules Message-ID: <20120629151230.5900b4ba@avers> As said in doc[1], beam_lib stripper removes list of attributes of every module. For example, i have: mod1.erl --------------------- -module(mod1). some_function() -> ok. --------------------- mod2.erl --------------------- -module(mod2). -extends(mod1). --------------------- So, mod2:some_function() expected to work ok, right? Next, I will strip the module (as it done by reltool on {debug_info,strip} in .rel file): beam_lib:strip_files(["ebin/mod2.beam"]). mod2:some_function(). * exception: undef. mod2:module_info(attributes). []. As you can see, module mod2 after *safe* stripping is not working as expected anymore. It will be good to strip attributes list more accurately. [1] http://www.erlang.org/doc/man/beam_lib.html#strip-1 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 230 bytes Desc: not available URL: