You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(23) |
Nov
(34) |
Dec
(36) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(6) |
Feb
(1) |
Mar
(12) |
Apr
|
May
(3) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2003 |
Jan
|
Feb
(6) |
Mar
(1) |
Apr
|
May
|
Jun
(1) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
(10) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
(2) |
Feb
(3) |
Mar
|
Apr
(9) |
May
(17) |
Jun
(14) |
Jul
(13) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
(5) |
2006 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
(1) |
Oct
(16) |
Nov
(5) |
Dec
|
2007 |
Jan
(2) |
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
|
2008 |
Jan
(14) |
Feb
(5) |
Mar
(7) |
Apr
(3) |
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
(6) |
Mar
(9) |
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
(17) |
Sep
(2) |
Oct
(1) |
Nov
(4) |
Dec
|
2010 |
Jan
|
Feb
(3) |
Mar
(21) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(1) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
(5) |
Jul
(23) |
Aug
(7) |
Sep
|
Oct
|
Nov
|
Dec
(9) |
2012 |
Jan
(7) |
Feb
(9) |
Mar
(2) |
Apr
(2) |
May
(5) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
(9) |
Oct
|
Nov
(3) |
Dec
(2) |
2013 |
Jan
(4) |
Feb
|
Mar
(4) |
Apr
(1) |
May
(1) |
Jun
(4) |
Jul
(4) |
Aug
(6) |
Sep
(15) |
Oct
(7) |
Nov
(3) |
Dec
(2) |
2014 |
Jan
(1) |
Feb
|
Mar
(7) |
Apr
(2) |
May
(8) |
Jun
|
Jul
|
Aug
(4) |
Sep
(1) |
Oct
(4) |
Nov
(2) |
Dec
(2) |
2015 |
Jan
(6) |
Feb
(1) |
Mar
|
Apr
(2) |
May
(6) |
Jun
(6) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(7) |
Dec
|
2016 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Mike L. <ml...@ml...> - 2012-11-28 02:06:26
|
Thanks, Gerd! FWIW I could not reproduce the crash by using ocaml-ssl's blocking operations directly. https://gist.github.com/4152047#file_ssl_threads.ml This works fine- so, perhaps something nasty arises from using nonblocking I/O on ssl sockets from multiple threads. I'm sure if there is any other critical difference with how netclient/equeue-ssl and my example use ocaml-ssl. I also don't have time to pursue this much further, so I will try to put all of my http operations on one thread as your example suggests. Best, Mike On Tue, Nov 27, 2012 at 5:03 AM, Gerd Stolpmann <in...@ge...>wrote: > Hi Mike, > > I can confirm the problem, but I'm not able to track it down. > > First of all, I'm quite sure that you cannot share SSL contexts between > threads. But even if I fix this, I get crashes - usually early during > SSL_connect. > > I'm wondering whether ocaml-ssl initializes openssl correctly for > multi-threading. In my version of openssl the prototype is > > int CRYPTO_THREADID_set_callback(**void (*threadid_func)(CRYPTO_**THREADID > *)); > > but in ocaml-ssl the CRYPTO_THREADID pointer is ignored (it assumes void > here). So, maybe this is the reason. I currently don't have time to follow > this idea. > > If everything fails, there is a way to use Netclient in threaded > applications so that only one thread is doing the networking stuff, see > this example: > > https://godirepo.camlcity.org/**svn/lib-ocamlnet2/trunk/code/** > examples/netclient/simple/**http_mt.ml<https://godirepo.camlcity.org/svn/lib-ocamlnet2/trunk/code/examples/netclient/simple/http_mt.ml> > > As Netclient is event-driven, the requests are processed in parallel (with > one exception, though: DNS lookups are synchronous, but this can be worked > around, as the DNS lookup function is settable in Netclient). > > Gerd > > Am 27.11.2012 03:54:16 schrieb(en) Mike Lin: > > Hello Gerd, all, >> >> I'm trying to find the right incantations to make parallel https requests >> from multiple threads using Http_client. (I know the library is capable of >> multiple requests from one thread -- I have other strong reasons to use >> multithreading.) >> >> https://gist.github.com/**4152047 <https://gist.github.com/4152047> >> >> This program generally segfaults for me at some random point during the 10 >> requests. Compiled as in the comment in line 2 (ubuntu quantal, >> libocamlnet-ocaml-dev 3.5.1, ocaml 3.12.1). >> >> Permutations attempted: >> >> 1) Change https to http in google URL -- works as expected >> 2) Serialize requests by uncommenting line 35 -- works as expected >> 3) Move invocations of Ssl.init, Ssl.create_context, >> HTTPS.https_transport_channel_**type in and out of fresh_pipeline (which >> runs >> in the worker threads) -- no help >> >> Any suggestions? Thanks! >> >> Mike Lin >> >> > > > -- > ------------------------------**------------------------------ > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > Creator of GODI and camlcity.org. > Contact details: http://www.camlcity.org/**contact.html<http://www.camlcity.org/contact.html> > Company homepage: http://www.gerd-stolpmann.de > ------------------------------**------------------------------ |
From: Gerd S. <in...@ge...> - 2012-11-27 13:45:17
|
Hi Mike, I can confirm the problem, but I'm not able to track it down. First of all, I'm quite sure that you cannot share SSL contexts between threads. But even if I fix this, I get crashes - usually early during SSL_connect. I'm wondering whether ocaml-ssl initializes openssl correctly for multi-threading. In my version of openssl the prototype is int CRYPTO_THREADID_set_callback(void (*threadid_func)(CRYPTO_THREADID *)); but in ocaml-ssl the CRYPTO_THREADID pointer is ignored (it assumes void here). So, maybe this is the reason. I currently don't have time to follow this idea. If everything fails, there is a way to use Netclient in threaded applications so that only one thread is doing the networking stuff, see this example: https://godirepo.camlcity.org/svn/lib-ocamlnet2/trunk/code/examples/netclient/simple/http_mt.ml As Netclient is event-driven, the requests are processed in parallel (with one exception, though: DNS lookups are synchronous, but this can be worked around, as the DNS lookup function is settable in Netclient). Gerd Am 27.11.2012 03:54:16 schrieb(en) Mike Lin: > Hello Gerd, all, > > I'm trying to find the right incantations to make parallel https > requests > from multiple threads using Http_client. (I know the library is > capable of > multiple requests from one thread -- I have other strong reasons to > use > multithreading.) > > https://gist.github.com/4152047 > > This program generally segfaults for me at some random point during > the 10 > requests. Compiled as in the comment in line 2 (ubuntu quantal, > libocamlnet-ocaml-dev 3.5.1, ocaml 3.12.1). > > Permutations attempted: > > 1) Change https to http in google URL -- works as expected > 2) Serialize requests by uncommenting line 35 -- works as expected > 3) Move invocations of Ssl.init, Ssl.create_context, > HTTPS.https_transport_channel_type in and out of fresh_pipeline > (which runs > in the worker threads) -- no help > > Any suggestions? Thanks! > > Mike Lin > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... Creator of GODI and camlcity.org. Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Mike L. <ml...@ml...> - 2012-11-27 03:19:14
|
Hello Gerd, all, I'm trying to find the right incantations to make parallel https requests from multiple threads using Http_client. (I know the library is capable of multiple requests from one thread -- I have other strong reasons to use multithreading.) https://gist.github.com/4152047 This program generally segfaults for me at some random point during the 10 requests. Compiled as in the comment in line 2 (ubuntu quantal, libocamlnet-ocaml-dev 3.5.1, ocaml 3.12.1). Permutations attempted: 1) Change https to http in google URL -- works as expected 2) Serialize requests by uncommenting line 35 -- works as expected 3) Move invocations of Ssl.init, Ssl.create_context, HTTPS.https_transport_channel_type in and out of fresh_pipeline (which runs in the worker threads) -- no help Any suggestions? Thanks! Mike Lin |
From: Gerd S. <in...@ge...> - 2012-09-30 12:35:29
|
Am 28.09.2012 21:55:39 schrieb(en) Matías Giovannini: > Well, after a long detour I found and *fixed* the issue. After many > hours > trying to backport to Ocamlnet 2.x, I found that the root cause is > the one > identified by Joel Reymont back in 2007: > http://caml.inria.fr/pub/ml-archives/caml-list/2007/05/0a6a0d3113993e5eefccb7cc3aa3eebe.en.html > > Here are my diffs against 3.6: > ~/src/ocamlnet-3.6/src/netsys> diff netsys.ml > netsys.ml.orig125,127d124 > < | Unix.Unix_error(Unix.EAFNOSUPPORT,_,_) -> > < (* On older Mac OS X, getpeername on a pipe return EAFNOSUPPORT; > assume *) > < `Read_write No, returning `Recv_send_implied is not wrong: We are not using a pipe here, but a socketpair. The error is in Uq_engines, where at one point `Recv_send_implied is not supported where it should be. My tentative fix is in svn. Gerd > ~/src/ocamlnet-3.6/src/equeue> diff uq_engines.ml uq_engines.ml.orig > 3132c3132 > < try match Netsys.getpeername s with > --- > > match Netsys.getpeername s with > 3137,3138d3136 > < with Unix.Unix_error (Unix.EAFNOSUPPORT, _, _) > < `Sock_unix(stype, "") > 3143c3141 > < try match Netsys.getpeername s with > --- > > match Netsys.getpeername s with > 3148,3149d3145 > < with Unix.Unix_error (Unix.EAFNOSUPPORT, _, _) > < None > > > On Wed, Sep 26, 2012 at 9:15 PM, Matías Giovannini > <mgi...@gm...>wrote: > > > Hi, > > > > I send out in the hopes that, despite the ancient software and > platform > > I'm having problems with, someone could shed some light on this. > Currently > > netplex is broken on this machine, failing with errors of the > following > > sort: > > > > fd style: Recv_send_implied > > fd style: Recv_send_implied > > Netplex Catastrophic Error: Unable to send log message - exception > > Rpc_client.Communication_error(File "uq_engines.ml", line 2576, > > characters 6-12: Assertion failed) > > Log message is: poll: Exception Rpc_client.Communication_error(File > " > > uq_engines.ml", line 2576, characters 6-12: Assertion failed) > > [Wed Sep 26 21:10:39 2012] [netplex.controller] [alert] Disabling > service > > after 10 startup failures > > > > (the "fd_style" line is a strategically placed print statement). I > am at a > > loss in following uq_engines.ml, so I don't know where to look. > > > > I configured ocamlnet with: > > > > ./configure -with-nethttpd -enable-zip -disable-tcl -prefer-netcgi2 > > -enable-pcre > > > > and the result is: > > > > able-tcl -prefer-netcgi2 -enable-pcre > > Welcome to Ocamlnet version 3.6 > > Checking operating system... Generic > > Checking for findlib... found > > Checking multi-threading support... posix (ok) > > Checking word size... 32 bit > > Checking endianess... big > > Checking for GPROF... found > > Checking for PCRE... found > > Checking for win32... no > > Checking whether Ocaml has Printexc.register_printer... found > > Checking for POSIX pthread... found > > Checking whether Ocaml has fancy page tables... found > > Checking for POSIX shared memory... found > > Checking for POSIX semaphores (anonymous)... not found > > Checking for POSIX semaphores (named)... found > > Checking for POSIX spawn... not found > > Checking for POSIX fadvise... not found > > Checking for POSIX fallocate... not found > > Checking for POSIX memalign... not found > > Checking for syslog... found > > Checking for POSIX functions like openat... not found > > Checking for fchdir... found > > Checking for fdopendir... not found > > Checking for realpath... not found > > Checking for grantpt (System V style PTYs)... found > > Checking for posix_openpt (System V style PTYs)... found > > Checking for initgroups...found > > Checking for POSIX clocks...not found > > Checking for POSIX timers...not found > > Checking for eventfd (Linux)...not found > > Checking for timerfd (Linux)...not found > > Checking for epoll (Linux)...not found > > Checking for compare_and_swap (GCC)...not found > > Checking for GPROF... found > > Checking for O_SHARE_DELETE... yes > > Checking for getpeereid... found > > Checking for getpeerucred... not found > > Checking for camlzip... found > > Preprocessor for ocamlrpcgen: cpp > > > > Effective options: > > -enable-pcre > > -disable-gtk > > -disable-gtk2 > > -disable-tcl > > -disable-ssl > > -enable-zip > > -disable-crypto > > -disable-apache > > -with-nethttpd > > -without-rpc-auth-dh > > -bindir /opt/ocaml/bin > > -datadir /opt/ocaml/lib/site-lib/netstring > > -cpp cpp > > > > uname -a is "Darwin Blue.local 8.11.0 Darwin Kernel Version 8.11.0: > Wed > > Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC Power > Macintosh > > powerpc", ocaml -version is "The OCaml toplevel, version 4.00.0" > and gcc > > --version gives: > > > > powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. > build > > 5370) > > Copyright (C) 2005 Free Software Foundation, Inc. > > This is free software; see the source for copying conditions. > There is NO > > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR > PURPOSE. > > > > (prehistoric, I know). If anyone has any ideas, I'd be grateful > (except > > for suggestions to run Linux! ;-) > > > > Best regards, > > Matías. > > > ------Zitierte Anlage------ > ------------------------------------------------------------------------------ > Got visibility? > Most devs has no idea what their production app looks like. > Find out how fast your code is with AppDynamics Lite. > http://ad.doubleclick.net/clk;262219671;13503038;y? > http://info.appdynamics.com/FreeJavaPerformanceDownload.html ------Zitierte Anlage------ > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... Creator of GODI and camlcity.org. Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Gerd S. <in...@ge...> - 2012-09-30 11:55:58
|
Thanks Matías, I've changed the test in svn. Gerd Am 27.09.2012 00:25:55 schrieb(en) Matías Giovannini: > Hello, > > after seeing ocamlnet 3.6 fail spectacularly on a Power Mac, I tried > recompiling and watching closely the configuration options. Lo and > behold, > configure proudly proclaims: > > Checking endianess... little > > which is of course completely wrong. The problem is that pointer > aliasing > via unions is undefined behavior in C (barring packing pragmas and > other > compiler wizardry), and GCC/LLVM do whatever they want with that > code. I've > found that I can distinguish endianness reliably with the following > check: > > value check(value d) { > int i = 1; > char *s = (char*) &i; > return (s[0] == 0 ? Val_true : Val_false); > } > > Regards, > Matías. > ------Zitierte Anlage------ > ------------------------------------------------------------------------------ > How fast is your code? > 3 out of 4 devs don\\\'t know how their code performs in production. > Find out how slow your code is with AppDynamics Lite. > http://ad.doubleclick.net/clk;262219672;13503038;z? > http://info.appdynamics.com/FreeJavaPerformanceDownload.html ------Zitierte Anlage------ > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... Creator of GODI and camlcity.org. Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Matías G. <mgi...@gm...> - 2012-09-28 19:55:47
|
Well, after a long detour I found and *fixed* the issue. After many hours trying to backport to Ocamlnet 2.x, I found that the root cause is the one identified by Joel Reymont back in 2007: http://caml.inria.fr/pub/ml-archives/caml-list/2007/05/0a6a0d3113993e5eefccb7cc3aa3eebe.en.html Here are my diffs against 3.6: ~/src/ocamlnet-3.6> diff configure configure.orig 450,452c450,455 < int i = 1; < char* s = (char*) &i; < return (s[0] == 0 ? Val_true : Val_false); --- > union { > int i; > char s[4]; > } u; > u.i = 0x0001010101; > return (u.s[0] == 0 ? Val_true : Val_false); ~/src/ocamlnet-3.6/src/netzip> diff netgzip.ml netgzip.ml.orig 326c326 < ~encoder:(new deflating_pipe ~level:6) --- > ~encoder:(new deflating_pipe) ~/src/ocamlnet-3.6/src/netsys> diff netsys.ml netsys.ml.orig125,127d124 < | Unix.Unix_error(Unix.EAFNOSUPPORT,_,_) -> < (* On older Mac OS X, getpeername on a pipe return EAFNOSUPPORT; assume *) < `Read_write ~/src/ocamlnet-3.6/src/equeue> diff uq_engines.ml uq_engines.ml.orig 3132c3132 < try match Netsys.getpeername s with --- > match Netsys.getpeername s with 3137,3138d3136 < with Unix.Unix_error (Unix.EAFNOSUPPORT, _, _) < `Sock_unix(stype, "") 3143c3141 < try match Netsys.getpeername s with --- > match Netsys.getpeername s with 3148,3149d3145 < with Unix.Unix_error (Unix.EAFNOSUPPORT, _, _) < None On Wed, Sep 26, 2012 at 9:15 PM, Matías Giovannini <mgi...@gm...>wrote: > Hi, > > I send out in the hopes that, despite the ancient software and platform > I'm having problems with, someone could shed some light on this. Currently > netplex is broken on this machine, failing with errors of the following > sort: > > fd style: Recv_send_implied > fd style: Recv_send_implied > Netplex Catastrophic Error: Unable to send log message - exception > Rpc_client.Communication_error(File "uq_engines.ml", line 2576, > characters 6-12: Assertion failed) > Log message is: poll: Exception Rpc_client.Communication_error(File " > uq_engines.ml", line 2576, characters 6-12: Assertion failed) > [Wed Sep 26 21:10:39 2012] [netplex.controller] [alert] Disabling service > after 10 startup failures > > (the "fd_style" line is a strategically placed print statement). I am at a > loss in following uq_engines.ml, so I don't know where to look. > > I configured ocamlnet with: > > ./configure -with-nethttpd -enable-zip -disable-tcl -prefer-netcgi2 > -enable-pcre > > and the result is: > > able-tcl -prefer-netcgi2 -enable-pcre > Welcome to Ocamlnet version 3.6 > Checking operating system... Generic > Checking for findlib... found > Checking multi-threading support... posix (ok) > Checking word size... 32 bit > Checking endianess... big > Checking for GPROF... found > Checking for PCRE... found > Checking for win32... no > Checking whether Ocaml has Printexc.register_printer... found > Checking for POSIX pthread... found > Checking whether Ocaml has fancy page tables... found > Checking for POSIX shared memory... found > Checking for POSIX semaphores (anonymous)... not found > Checking for POSIX semaphores (named)... found > Checking for POSIX spawn... not found > Checking for POSIX fadvise... not found > Checking for POSIX fallocate... not found > Checking for POSIX memalign... not found > Checking for syslog... found > Checking for POSIX functions like openat... not found > Checking for fchdir... found > Checking for fdopendir... not found > Checking for realpath... not found > Checking for grantpt (System V style PTYs)... found > Checking for posix_openpt (System V style PTYs)... found > Checking for initgroups...found > Checking for POSIX clocks...not found > Checking for POSIX timers...not found > Checking for eventfd (Linux)...not found > Checking for timerfd (Linux)...not found > Checking for epoll (Linux)...not found > Checking for compare_and_swap (GCC)...not found > Checking for GPROF... found > Checking for O_SHARE_DELETE... yes > Checking for getpeereid... found > Checking for getpeerucred... not found > Checking for camlzip... found > Preprocessor for ocamlrpcgen: cpp > > Effective options: > -enable-pcre > -disable-gtk > -disable-gtk2 > -disable-tcl > -disable-ssl > -enable-zip > -disable-crypto > -disable-apache > -with-nethttpd > -without-rpc-auth-dh > -bindir /opt/ocaml/bin > -datadir /opt/ocaml/lib/site-lib/netstring > -cpp cpp > > uname -a is "Darwin Blue.local 8.11.0 Darwin Kernel Version 8.11.0: Wed > Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC Power Macintosh > powerpc", ocaml -version is "The OCaml toplevel, version 4.00.0" and gcc > --version gives: > > powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build > 5370) > Copyright (C) 2005 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > (prehistoric, I know). If anyone has any ideas, I'd be grateful (except > for suggestions to run Linux! ;-) > > Best regards, > Matías. > |
From: Matías G. <mgi...@gm...> - 2012-09-27 00:15:53
|
Hi, I send out in the hopes that, despite the ancient software and platform I'm having problems with, someone could shed some light on this. Currently netplex is broken on this machine, failing with errors of the following sort: fd style: Recv_send_implied fd style: Recv_send_implied Netplex Catastrophic Error: Unable to send log message - exception Rpc_client.Communication_error(File "uq_engines.ml", line 2576, characters 6-12: Assertion failed) Log message is: poll: Exception Rpc_client.Communication_error(File " uq_engines.ml", line 2576, characters 6-12: Assertion failed) [Wed Sep 26 21:10:39 2012] [netplex.controller] [alert] Disabling service after 10 startup failures (the "fd_style" line is a strategically placed print statement). I am at a loss in following uq_engines.ml, so I don't know where to look. I configured ocamlnet with: ./configure -with-nethttpd -enable-zip -disable-tcl -prefer-netcgi2 -enable-pcre and the result is: able-tcl -prefer-netcgi2 -enable-pcre Welcome to Ocamlnet version 3.6 Checking operating system... Generic Checking for findlib... found Checking multi-threading support... posix (ok) Checking word size... 32 bit Checking endianess... big Checking for GPROF... found Checking for PCRE... found Checking for win32... no Checking whether Ocaml has Printexc.register_printer... found Checking for POSIX pthread... found Checking whether Ocaml has fancy page tables... found Checking for POSIX shared memory... found Checking for POSIX semaphores (anonymous)... not found Checking for POSIX semaphores (named)... found Checking for POSIX spawn... not found Checking for POSIX fadvise... not found Checking for POSIX fallocate... not found Checking for POSIX memalign... not found Checking for syslog... found Checking for POSIX functions like openat... not found Checking for fchdir... found Checking for fdopendir... not found Checking for realpath... not found Checking for grantpt (System V style PTYs)... found Checking for posix_openpt (System V style PTYs)... found Checking for initgroups...found Checking for POSIX clocks...not found Checking for POSIX timers...not found Checking for eventfd (Linux)...not found Checking for timerfd (Linux)...not found Checking for epoll (Linux)...not found Checking for compare_and_swap (GCC)...not found Checking for GPROF... found Checking for O_SHARE_DELETE... yes Checking for getpeereid... found Checking for getpeerucred... not found Checking for camlzip... found Preprocessor for ocamlrpcgen: cpp Effective options: -enable-pcre -disable-gtk -disable-gtk2 -disable-tcl -disable-ssl -enable-zip -disable-crypto -disable-apache -with-nethttpd -without-rpc-auth-dh -bindir /opt/ocaml/bin -datadir /opt/ocaml/lib/site-lib/netstring -cpp cpp uname -a is "Darwin Blue.local 8.11.0 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC Power Macintosh powerpc", ocaml -version is "The OCaml toplevel, version 4.00.0" and gcc --version gives: powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5370) Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. (prehistoric, I know). If anyone has any ideas, I'd be grateful (except for suggestions to run Linux! ;-) Best regards, Matías. |
From: Matías G. <mgi...@gm...> - 2012-09-26 22:26:01
|
Hello, after seeing ocamlnet 3.6 fail spectacularly on a Power Mac, I tried recompiling and watching closely the configuration options. Lo and behold, configure proudly proclaims: Checking endianess... little which is of course completely wrong. The problem is that pointer aliasing via unions is undefined behavior in C (barring packing pragmas and other compiler wizardry), and GCC/LLVM do whatever they want with that code. I've found that I can distinguish endianness reliably with the following check: value check(value d) { int i = 1; char *s = (char*) &i; return (s[0] == 0 ? Val_true : Val_false); } Regards, Matías. |
From: Matías G. <mgi...@gm...> - 2012-09-19 19:05:24
|
Hello, there's a problem building ocamlnet 3.6 with OCaml 4.0 (related to some changes to inference of optional parameters): ocamlfind ocamlc -g -I ../../src/netstring -package "unix camlzip" -c netgzip.ml File "netgzip.ml", line 326, characters 13-33: Error: This expression has type ?level:int -> unit -> deflating_pipe but an expression was expected of type unit -> Netchannels.io_obj_channel make[1]: *** [netgzip.cmo] Error 2 make: *** [all] Error 2 The workaround is to edit src/netzip/netgzip.ml so that line 326 passes an explicit ``level'' option to deflating_pipe: let () = Netcompression.register ~iana_name:"gzip" ~decoder:(new inflating_pipe) ~encoder:(new deflating_pipe ~level:6) () Regards, Matías. |
From: Pierre-Alexandre V. <ont...@gm...> - 2012-09-19 16:47:32
|
Sorry Gerd, I was unclear enough, I'm talking in a Netcgi context... So : How I can catch 404 call to the server,a nd is there a way to make url rewriting (this question is less important as I'll probably use an inverse proxy like nginx) 2012/9/19 Gerd Stolpmann <in...@ge...> > Am 18.09.2012 17:31:17 schrieb(en) Pierre-Alexandre Voye: > > Hello, >> is it possible to catch a 404 with ocamlnet ? >> Use case example : if the page doesn't exists then, it give a way to >> create/edit the unknown page. >> It seems, I would have to rewrite is_error_response according to >> http://projects.camlcity.org/**projects/dl/ocamlnet-3.2.1/** >> doc/html-main/Http_fs.html#**VALis_error_response<http://projects.camlcity.org/projects/dl/ocamlnet-3.2.1/doc/html-main/Http_fs.html#VALis_error_response> >> Is it the case ? >> > > Hmm, Http_fs is a very thin layer on top of Http_client. HTTP codes are > translated to Unix codes where it makes sense, so a 404 error will appear > as Unix_error(ENOENT,_,_). > > If you need more control, you should use Http_client directly (the > pipeline is accessible, so you can do things like > > let url = http_fs # translate "/the/path/to/the/file" in > let call_obj = new Http_client.get url in > http_fs # pipeline # add call_obj; > http_fs # pipeline # run(); > let code = call_obj # response_status_code in > ... > > ). > > So far, there is no way to override is_error_code, so you would have to > copy http_fs.ml to your own code tree. > > > In the same way, is it possible to configure url rewriting with ocamlnet ? >> > > I am not exactly sure what you mean. So far I see this is mostly a > question when redirects are followed. Http_client is able to follow > redirects (and this is configurable, you can have a rewriting function > here). Http_fs normally uses the default, so redirects are followed without > rewriting, and it is not possible to change this (this is a per-request > setting in Http_client, and you cannot get the request object > unfortunately). > > So, I'd also recommend here to use Http_client directly. > > Gerd > > > >> Regards, >> >> Pierre-Alexandre >> >> -- >> --------------------- >> https://twitter.com/#!/**ontologiae/ <https://twitter.com/#!/ontologiae/> >> http://linuxfr.org/users/**montaigne <http://linuxfr.org/users/montaigne> >> >> > ------Zitierte Anlage------ > >> ------------------------------**------------------------------** >> ------------------ >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. Discussions >> will include endpoint security, mobile security and the latest in malware >> threats. http://www.accelacomm.com/jaw/**sfrnl04242012/114/50122263/<http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/> >> > > ------Zitierte Anlage------ > >> ______________________________**_________________ >> Ocamlnet-devel mailing list >> Ocamlnet-devel@lists.**sourceforge.net<Oca...@li...> >> https://lists.sourceforge.net/**lists/listinfo/ocamlnet-devel<https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel> >> >> > > > -- > ------------------------------**------------------------------ > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > Creator of GODI and camlcity.org. > Contact details: http://www.camlcity.org/**contact.html<http://www.camlcity.org/contact.html> > Company homepage: http://www.gerd-stolpmann.de > ------------------------------**------------------------------ -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne |
From: Gerd S. <in...@ge...> - 2012-09-19 16:42:43
|
Am 18.09.2012 17:31:17 schrieb(en) Pierre-Alexandre Voye: > Hello, > is it possible to catch a 404 with ocamlnet ? > Use case example : if the page doesn't exists then, it give a way to > create/edit the unknown page. > It seems, I would have to rewrite is_error_response according to > http://projects.camlcity.org/projects/dl/ocamlnet-3.2.1/doc/html-main/Http_fs.html#VALis_error_response > Is it the case ? Hmm, Http_fs is a very thin layer on top of Http_client. HTTP codes are translated to Unix codes where it makes sense, so a 404 error will appear as Unix_error(ENOENT,_,_). If you need more control, you should use Http_client directly (the pipeline is accessible, so you can do things like let url = http_fs # translate "/the/path/to/the/file" in let call_obj = new Http_client.get url in http_fs # pipeline # add call_obj; http_fs # pipeline # run(); let code = call_obj # response_status_code in ... ). So far, there is no way to override is_error_code, so you would have to copy http_fs.ml to your own code tree. > In the same way, is it possible to configure url rewriting with > ocamlnet ? I am not exactly sure what you mean. So far I see this is mostly a question when redirects are followed. Http_client is able to follow redirects (and this is configurable, you can have a rewriting function here). Http_fs normally uses the default, so redirects are followed without rewriting, and it is not possible to change this (this is a per-request setting in Http_client, and you cannot get the request object unfortunately). So, I'd also recommend here to use Http_client directly. Gerd > > Regards, > > Pierre-Alexandre > > -- > --------------------- > https://twitter.com/#!/ontologiae/ > http://linuxfr.org/users/montaigne > ------Zitierte Anlage------ > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. > Discussions > will include endpoint security, mobile security and the latest in > malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ------Zitierte Anlage------ > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... Creator of GODI and camlcity.org. Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Pierre-Alexandre V. <ont...@gm...> - 2012-09-18 15:31:47
|
Hello, is it possible to catch a 404 with ocamlnet ? Use case example : if the page doesn't exists then, it give a way to create/edit the unknown page. It seems, I would have to rewrite is_error_response according to http://projects.camlcity.org/projects/dl/ocamlnet-3.2.1/doc/html-main/Http_fs.html#VALis_error_response Is it the case ? In the same way, is it possible to configure url rewriting with ocamlnet ? Regards, Pierre-Alexandre -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne |
From: Gerd S. <in...@ge...> - 2012-07-20 01:44:39
|
Hi, I've just released Ocamlnet-3.6. Bigger changes (but not really big): - New abstraction for anonymous semaphores, improving the compatibility with OS X - PCRE is no longer needed, but it is still possible to build Ocamlnet with PCRE as regular expression engine For the smaller changes, see the ChangeLog. Get Ocamlnet, read the manual etc. from http://projects.camlcity.org/projects/ocamlnet.html GODI: Because of the PCRE change, I currently don't want to update GODI for Ocaml-3.12. In the upcoming version for Ocaml-4.00, I've released Ocamlnet-3.6. There is now a new package godi-ocamlnet-pcre for those users who need the Netstring_pcre module. Apparently, a number of packages are broken because of this (at least a lot of my own), but it's still a few days until 4.00 is out. Gerd -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... Creator of GODI and camlcity.org. Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Gerd S. <in...@ge...> - 2012-06-11 12:17:21
|
Hi, as there are some incomplete patches around, here are the official ones (against ocamlnet-1.5.1): https://godirepo.camlcity.org/svn/godi-build/trunk/godi/godi-ocamlnet/patches/patch-ac-netsys-and-ocaml4 https://godirepo.camlcity.org/svn/godi-build/trunk/godi/godi-ocamlnet/patches/patch-ad-netstring-and-ocaml4 Note that type definitions like type open_flag1 = Unix.open_flag = O_RDONLY | O_WRONLY | O_RDWR | O_NONBLOCK | O_APPEND | O_CREAT | O_TRUNC | O_EXCL | O_NOCTTY | O_DSYNC | O_SYNC | O_RSYNC are not meaningless in the presence of stub libraries, and work like assertions for types. The addition of O_SHARE_DELETE makes this fail. Very good, because the corresponding list in the stub needs to be extended, too (which the other patches do not do, and this can lead to segfaults). There will also be a release of Ocamlnet soon, but this overlaps currently with the final QA testing of the regular development cycle. Gerd -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... Creator of GODI and camlcity.org. Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Pierre-Alexandre V. <ont...@gm...> - 2012-05-04 14:23:18
|
It works ! I modified the myorigin with a domain which exists, and event the email ont...@co... (the myorigin I seted) does not exists, smtp.orange.fraccepts it. Thank you PS : Good trick, Shame on me I didn't thought to do that ! 2012/5/4 Gerd Stolpmann <in...@ge...> > > > I did the test and it doesn't work. > > I don't understand why it works, when I type this in the terminal : > > > > printf "Subject: TestnHello" | sendmail -f ont...@gm... > > ont...@gm... > > Is there a way to see what command line is emitted ? > > Create a script "fakemailer": > > #! /bin/sh > > echo "Arguments: $@" > cat > > and then Netsendmail.sendmail ~mailer:"./fakemailer" msg > > Note that the -f switch of sendmail does not set the FROM line within the > message but the envelope sender address. The envelope sender is the > address that counts. Normally, sendmail extracts it from the FROM line, so > this is another thing that could go wrong. From the log file I see that > the envolope sender is "ontologiae@ontologiae.local" (watch out for > "from="). This looks like a rewritten address (or simply the myorigin > parameter from main.cf). Such an address can in deed be problematic > because "local" is no valid domain. > > Gerd > > > 2012/5/4 Gerd Stolpmann <in...@ge...> > > > >> Just tried it on my local postfix installation, and did not get this > >> error. In your case, smtp.orange.fr bounces the mail. I guess they have > >> some additional filters in place to make spamming under wrong name > >> impossible. Maybe these filters do not work correctly. > >> > >> You can experiment: If the name part of from_addr only consists of > >> US-ASCII chars, a simpler header is created (without encoding) - maybe > >> this is more compatible with the gateway. > >> > >> Gerd > >> > >> > Hi list, > >> > > >> > I'm trying to send a mail via Netsendmail. > >> > The library is very easy to handle, so here's my code (copied from the > >> > tutorial) : > >> > > >> > let msg = Netsendmail.compose > >> > ~in_charset:`Enc_iso885915 > >> > ~out_charset:`Enc_iso885915 > >> > ~from_addr:("Heinz Dräger", "mon...@fr...") > >> > ~to_addrs:[("Marion Schröder", "ont...@gm...")] > >> > ~content_type:("text/html", ["charset", Mimestring.mk_param > >> > "ISO-8859-1"]) > >> > ~subject:"Geschäftlich" > >> > "<html><body>Verkaufe Teddy-Bären für > >> 100€</body></html>";; > >> > > >> > Netsendmail.sendmail ~mailer:"/usr/sbin/sendmail" msg ;; > >> > > >> > So it actually sends an email, but it does not takes the "from" field > >> : > >> > > >> > May 4 14:44:52 ontologiae postfix/master[79734]: daemon started -- > >> > version > >> > 2.8.4, configuration /etc/postfix > >> > May 4 14:44:52 ontologiae postfix/pickup[79735]: 0E067B55B42: uid=501 > >> > from=<ontologiae> > >> > May 4 14:44:52 ontologiae postfix/cleanup[79737]: 0E067B55B42: > >> > message-id=<20120504124452.0E067B55B42@ontologiae.local> > >> > May 4 14:44:52 ontologiae postfix/qmgr[79736]: 0E067B55B42: > >> > from=<ontologiae@ontologiae.local>, size=631, nrcpt=1 (queue active) > >> > May 4 14:44:53 ontologiae postfix/smtp[79739]: 0E067B55B42: to=< > >> > ont...@gm...>, relay=smtp.orange.fr[193.252.22.64]:25, > >> delay=1.6, > >> > delays=0.28/0.01/0.3/0.97, dsn=5.1.0, status=bounced (host > >> > smtp.orange.fr[193.252.22.64] > >> > said: 501 5.1.0 Emetteur invalide. Invalid Sender. OFR203_405 [405] > >> (in > >> > reply to MAIL FROM command)) > >> > May 4 14:44:53 ontologiae postfix/cleanup[79737]: 9DC05B55B46: > >> > message-id=<20120504124453.9DC05B55B46@ontologiae.local> > >> > May 4 14:44:53 ontologiae postfix/bounce[79742]: 0E067B55B42: sender > >> > non-delivery notification: 9DC05B55B46 > >> > May 4 14:44:53 ontologiae postfix/qmgr[79736]: 9DC05B55B46: from=<>, > >> > size=2652, nrcpt=1 (queue active) > >> > May 4 14:44:53 ontologiae postfix/qmgr[79736]: 0E067B55B42: removed > >> > May 4 14:44:53 ontologiae postfix/local[79743]: 9DC05B55B46: > >> > to=<ontologiae@ontologiae.local>, relay=local, delay=0.01, > >> > delays=0/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox) > >> > May 4 14:44:53 ontologiae postfix/qmgr[79736]: 9DC05B55B46: removed > >> > > >> > > >> > Is there a solution ? > >> > > >> > In advance, thanks. > >> > > >> > Best regards, > >> > > >> > Pierre-Alexandre > >> > -- > >> > --------------------- > >> > https://twitter.com/#!/ontologiae/ > >> > http://linuxfr.org/users/montaigne > >> > > >> > ------------------------------------------------------------------------------ > >> > Live Security Virtual Conference > >> > Exclusive live event will cover all the ways today's security and > >> > threat landscape has changed and how IT managers can respond. > >> Discussions > >> > will include endpoint security, mobile security and the latest in > >> malware > >> > threats. > >> > > >> > http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > >> > Ocamlnet-devel mailing list > >> > Oca...@li... > >> > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > >> > > >> > >> > >> -- > >> Gerd Stolpmann, Darmstadt, Germany ge...@ge... > >> Creator of GODI and camlcity.org. > >> Contact details: http://www.camlcity.org/contact.html > >> Company homepage: http://www.gerd-stolpmann.de > >> *** Searching for new projects! Need consulting for system > >> *** programming in Ocaml? Gerd Stolpmann can help you. > >> > >> > > > > > > -- > > --------------------- > > https://twitter.com/#!/ontologiae/ > > http://linuxfr.org/users/montaigne > > > ------------------------------------------------------------------------------ > > Live Security Virtual Conference > > Exclusive live event will cover all the ways today's security and > > threat landscape has changed and how IT managers can respond. Discussions > > will include endpoint security, mobile security and the latest in malware > > threats. > > > http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > > Ocamlnet-devel mailing list > > Oca...@li... > > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > > > > > -- > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > Creator of GODI and camlcity.org. > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > *** Searching for new projects! Need consulting for system > *** programming in Ocaml? Gerd Stolpmann can help you. > > -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne |
From: Gerd S. <in...@ge...> - 2012-05-04 14:14:16
|
> I did the test and it doesn't work. > I don't understand why it works, when I type this in the terminal : > > printf "Subject: TestnHello" | sendmail -f ont...@gm... > ont...@gm... > Is there a way to see what command line is emitted ? Create a script "fakemailer": #! /bin/sh echo "Arguments: $@" cat and then Netsendmail.sendmail ~mailer:"./fakemailer" msg Note that the -f switch of sendmail does not set the FROM line within the message but the envelope sender address. The envelope sender is the address that counts. Normally, sendmail extracts it from the FROM line, so this is another thing that could go wrong. From the log file I see that the envolope sender is "ontologiae@ontologiae.local" (watch out for "from="). This looks like a rewritten address (or simply the myorigin parameter from main.cf). Such an address can in deed be problematic because "local" is no valid domain. Gerd > 2012/5/4 Gerd Stolpmann <in...@ge...> > >> Just tried it on my local postfix installation, and did not get this >> error. In your case, smtp.orange.fr bounces the mail. I guess they have >> some additional filters in place to make spamming under wrong name >> impossible. Maybe these filters do not work correctly. >> >> You can experiment: If the name part of from_addr only consists of >> US-ASCII chars, a simpler header is created (without encoding) - maybe >> this is more compatible with the gateway. >> >> Gerd >> >> > Hi list, >> > >> > I'm trying to send a mail via Netsendmail. >> > The library is very easy to handle, so here's my code (copied from the >> > tutorial) : >> > >> > let msg = Netsendmail.compose >> > ~in_charset:`Enc_iso885915 >> > ~out_charset:`Enc_iso885915 >> > ~from_addr:("Heinz Dräger", "mon...@fr...") >> > ~to_addrs:[("Marion Schröder", "ont...@gm...")] >> > ~content_type:("text/html", ["charset", Mimestring.mk_param >> > "ISO-8859-1"]) >> > ~subject:"Geschäftlich" >> > "<html><body>Verkaufe Teddy-Bären für >> 100€</body></html>";; >> > >> > Netsendmail.sendmail ~mailer:"/usr/sbin/sendmail" msg ;; >> > >> > So it actually sends an email, but it does not takes the "from" field >> : >> > >> > May 4 14:44:52 ontologiae postfix/master[79734]: daemon started -- >> > version >> > 2.8.4, configuration /etc/postfix >> > May 4 14:44:52 ontologiae postfix/pickup[79735]: 0E067B55B42: uid=501 >> > from=<ontologiae> >> > May 4 14:44:52 ontologiae postfix/cleanup[79737]: 0E067B55B42: >> > message-id=<20120504124452.0E067B55B42@ontologiae.local> >> > May 4 14:44:52 ontologiae postfix/qmgr[79736]: 0E067B55B42: >> > from=<ontologiae@ontologiae.local>, size=631, nrcpt=1 (queue active) >> > May 4 14:44:53 ontologiae postfix/smtp[79739]: 0E067B55B42: to=< >> > ont...@gm...>, relay=smtp.orange.fr[193.252.22.64]:25, >> delay=1.6, >> > delays=0.28/0.01/0.3/0.97, dsn=5.1.0, status=bounced (host >> > smtp.orange.fr[193.252.22.64] >> > said: 501 5.1.0 Emetteur invalide. Invalid Sender. OFR203_405 [405] >> (in >> > reply to MAIL FROM command)) >> > May 4 14:44:53 ontologiae postfix/cleanup[79737]: 9DC05B55B46: >> > message-id=<20120504124453.9DC05B55B46@ontologiae.local> >> > May 4 14:44:53 ontologiae postfix/bounce[79742]: 0E067B55B42: sender >> > non-delivery notification: 9DC05B55B46 >> > May 4 14:44:53 ontologiae postfix/qmgr[79736]: 9DC05B55B46: from=<>, >> > size=2652, nrcpt=1 (queue active) >> > May 4 14:44:53 ontologiae postfix/qmgr[79736]: 0E067B55B42: removed >> > May 4 14:44:53 ontologiae postfix/local[79743]: 9DC05B55B46: >> > to=<ontologiae@ontologiae.local>, relay=local, delay=0.01, >> > delays=0/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox) >> > May 4 14:44:53 ontologiae postfix/qmgr[79736]: 9DC05B55B46: removed >> > >> > >> > Is there a solution ? >> > >> > In advance, thanks. >> > >> > Best regards, >> > >> > Pierre-Alexandre >> > -- >> > --------------------- >> > https://twitter.com/#!/ontologiae/ >> > http://linuxfr.org/users/montaigne >> > >> ------------------------------------------------------------------------------ >> > Live Security Virtual Conference >> > Exclusive live event will cover all the ways today's security and >> > threat landscape has changed and how IT managers can respond. >> Discussions >> > will include endpoint security, mobile security and the latest in >> malware >> > threats. >> > >> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ >> > Ocamlnet-devel mailing list >> > Oca...@li... >> > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel >> > >> >> >> -- >> Gerd Stolpmann, Darmstadt, Germany ge...@ge... >> Creator of GODI and camlcity.org. >> Contact details: http://www.camlcity.org/contact.html >> Company homepage: http://www.gerd-stolpmann.de >> *** Searching for new projects! Need consulting for system >> *** programming in Ocaml? Gerd Stolpmann can help you. >> >> > > > -- > --------------------- > https://twitter.com/#!/ontologiae/ > http://linuxfr.org/users/montaigne > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. > http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > -- Gerd Stolpmann, Darmstadt, Germany ge...@ge... Creator of GODI and camlcity.org. Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de *** Searching for new projects! Need consulting for system *** programming in Ocaml? Gerd Stolpmann can help you. |
From: Pierre-Alexandre V. <ont...@gm...> - 2012-05-04 13:50:19
|
I did the test and it doesn't work. I don't understand why it works, when I type this in the terminal : printf "Subject: TestnHello" | sendmail -f ont...@gm... ont...@gm... Is there a way to see what command line is emitted ? 2012/5/4 Gerd Stolpmann <in...@ge...> > Just tried it on my local postfix installation, and did not get this > error. In your case, smtp.orange.fr bounces the mail. I guess they have > some additional filters in place to make spamming under wrong name > impossible. Maybe these filters do not work correctly. > > You can experiment: If the name part of from_addr only consists of > US-ASCII chars, a simpler header is created (without encoding) - maybe > this is more compatible with the gateway. > > Gerd > > > Hi list, > > > > I'm trying to send a mail via Netsendmail. > > The library is very easy to handle, so here's my code (copied from the > > tutorial) : > > > > let msg = Netsendmail.compose > > ~in_charset:`Enc_iso885915 > > ~out_charset:`Enc_iso885915 > > ~from_addr:("Heinz Dräger", "mon...@fr...") > > ~to_addrs:[("Marion Schröder", "ont...@gm...")] > > ~content_type:("text/html", ["charset", Mimestring.mk_param > > "ISO-8859-1"]) > > ~subject:"Geschäftlich" > > "<html><body>Verkaufe Teddy-Bären für 100€</body></html>";; > > > > Netsendmail.sendmail ~mailer:"/usr/sbin/sendmail" msg ;; > > > > So it actually sends an email, but it does not takes the "from" field : > > > > May 4 14:44:52 ontologiae postfix/master[79734]: daemon started -- > > version > > 2.8.4, configuration /etc/postfix > > May 4 14:44:52 ontologiae postfix/pickup[79735]: 0E067B55B42: uid=501 > > from=<ontologiae> > > May 4 14:44:52 ontologiae postfix/cleanup[79737]: 0E067B55B42: > > message-id=<20120504124452.0E067B55B42@ontologiae.local> > > May 4 14:44:52 ontologiae postfix/qmgr[79736]: 0E067B55B42: > > from=<ontologiae@ontologiae.local>, size=631, nrcpt=1 (queue active) > > May 4 14:44:53 ontologiae postfix/smtp[79739]: 0E067B55B42: to=< > > ont...@gm...>, relay=smtp.orange.fr[193.252.22.64]:25, > delay=1.6, > > delays=0.28/0.01/0.3/0.97, dsn=5.1.0, status=bounced (host > > smtp.orange.fr[193.252.22.64] > > said: 501 5.1.0 Emetteur invalide. Invalid Sender. OFR203_405 [405] (in > > reply to MAIL FROM command)) > > May 4 14:44:53 ontologiae postfix/cleanup[79737]: 9DC05B55B46: > > message-id=<20120504124453.9DC05B55B46@ontologiae.local> > > May 4 14:44:53 ontologiae postfix/bounce[79742]: 0E067B55B42: sender > > non-delivery notification: 9DC05B55B46 > > May 4 14:44:53 ontologiae postfix/qmgr[79736]: 9DC05B55B46: from=<>, > > size=2652, nrcpt=1 (queue active) > > May 4 14:44:53 ontologiae postfix/qmgr[79736]: 0E067B55B42: removed > > May 4 14:44:53 ontologiae postfix/local[79743]: 9DC05B55B46: > > to=<ontologiae@ontologiae.local>, relay=local, delay=0.01, > > delays=0/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox) > > May 4 14:44:53 ontologiae postfix/qmgr[79736]: 9DC05B55B46: removed > > > > > > Is there a solution ? > > > > In advance, thanks. > > > > Best regards, > > > > Pierre-Alexandre > > -- > > --------------------- > > https://twitter.com/#!/ontologiae/ > > http://linuxfr.org/users/montaigne > > > ------------------------------------------------------------------------------ > > Live Security Virtual Conference > > Exclusive live event will cover all the ways today's security and > > threat landscape has changed and how IT managers can respond. Discussions > > will include endpoint security, mobile security and the latest in malware > > threats. > > > http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > > Ocamlnet-devel mailing list > > Oca...@li... > > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > > > > > -- > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > Creator of GODI and camlcity.org. > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > *** Searching for new projects! Need consulting for system > *** programming in Ocaml? Gerd Stolpmann can help you. > > -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne |
From: Gerd S. <in...@ge...> - 2012-05-04 13:41:21
|
Just tried it on my local postfix installation, and did not get this error. In your case, smtp.orange.fr bounces the mail. I guess they have some additional filters in place to make spamming under wrong name impossible. Maybe these filters do not work correctly. You can experiment: If the name part of from_addr only consists of US-ASCII chars, a simpler header is created (without encoding) - maybe this is more compatible with the gateway. Gerd > Hi list, > > I'm trying to send a mail via Netsendmail. > The library is very easy to handle, so here's my code (copied from the > tutorial) : > > let msg = Netsendmail.compose > ~in_charset:`Enc_iso885915 > ~out_charset:`Enc_iso885915 > ~from_addr:("Heinz Dräger", "mon...@fr...") > ~to_addrs:[("Marion Schröder", "ont...@gm...")] > ~content_type:("text/html", ["charset", Mimestring.mk_param > "ISO-8859-1"]) > ~subject:"Geschäftlich" > "<html><body>Verkaufe Teddy-Bären für 100€</body></html>";; > > Netsendmail.sendmail ~mailer:"/usr/sbin/sendmail" msg ;; > > So it actually sends an email, but it does not takes the "from" field : > > May 4 14:44:52 ontologiae postfix/master[79734]: daemon started -- > version > 2.8.4, configuration /etc/postfix > May 4 14:44:52 ontologiae postfix/pickup[79735]: 0E067B55B42: uid=501 > from=<ontologiae> > May 4 14:44:52 ontologiae postfix/cleanup[79737]: 0E067B55B42: > message-id=<20120504124452.0E067B55B42@ontologiae.local> > May 4 14:44:52 ontologiae postfix/qmgr[79736]: 0E067B55B42: > from=<ontologiae@ontologiae.local>, size=631, nrcpt=1 (queue active) > May 4 14:44:53 ontologiae postfix/smtp[79739]: 0E067B55B42: to=< > ont...@gm...>, relay=smtp.orange.fr[193.252.22.64]:25, delay=1.6, > delays=0.28/0.01/0.3/0.97, dsn=5.1.0, status=bounced (host > smtp.orange.fr[193.252.22.64] > said: 501 5.1.0 Emetteur invalide. Invalid Sender. OFR203_405 [405] (in > reply to MAIL FROM command)) > May 4 14:44:53 ontologiae postfix/cleanup[79737]: 9DC05B55B46: > message-id=<20120504124453.9DC05B55B46@ontologiae.local> > May 4 14:44:53 ontologiae postfix/bounce[79742]: 0E067B55B42: sender > non-delivery notification: 9DC05B55B46 > May 4 14:44:53 ontologiae postfix/qmgr[79736]: 9DC05B55B46: from=<>, > size=2652, nrcpt=1 (queue active) > May 4 14:44:53 ontologiae postfix/qmgr[79736]: 0E067B55B42: removed > May 4 14:44:53 ontologiae postfix/local[79743]: 9DC05B55B46: > to=<ontologiae@ontologiae.local>, relay=local, delay=0.01, > delays=0/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox) > May 4 14:44:53 ontologiae postfix/qmgr[79736]: 9DC05B55B46: removed > > > Is there a solution ? > > In advance, thanks. > > Best regards, > > Pierre-Alexandre > -- > --------------------- > https://twitter.com/#!/ontologiae/ > http://linuxfr.org/users/montaigne > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. > http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > -- Gerd Stolpmann, Darmstadt, Germany ge...@ge... Creator of GODI and camlcity.org. Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de *** Searching for new projects! Need consulting for system *** programming in Ocaml? Gerd Stolpmann can help you. |
From: Pierre-Alexandre V. <ont...@gm...> - 2012-05-04 12:55:21
|
Hi list, I'm trying to send a mail via Netsendmail. The library is very easy to handle, so here's my code (copied from the tutorial) : let msg = Netsendmail.compose ~in_charset:`Enc_iso885915 ~out_charset:`Enc_iso885915 ~from_addr:("Heinz Dräger", "mon...@fr...") ~to_addrs:[("Marion Schröder", "ont...@gm...")] ~content_type:("text/html", ["charset", Mimestring.mk_param "ISO-8859-1"]) ~subject:"Geschäftlich" "<html><body>Verkaufe Teddy-Bären für 100€</body></html>";; Netsendmail.sendmail ~mailer:"/usr/sbin/sendmail" msg ;; So it actually sends an email, but it does not takes the "from" field : May 4 14:44:52 ontologiae postfix/master[79734]: daemon started -- version 2.8.4, configuration /etc/postfix May 4 14:44:52 ontologiae postfix/pickup[79735]: 0E067B55B42: uid=501 from=<ontologiae> May 4 14:44:52 ontologiae postfix/cleanup[79737]: 0E067B55B42: message-id=<20120504124452.0E067B55B42@ontologiae.local> May 4 14:44:52 ontologiae postfix/qmgr[79736]: 0E067B55B42: from=<ontologiae@ontologiae.local>, size=631, nrcpt=1 (queue active) May 4 14:44:53 ontologiae postfix/smtp[79739]: 0E067B55B42: to=< ont...@gm...>, relay=smtp.orange.fr[193.252.22.64]:25, delay=1.6, delays=0.28/0.01/0.3/0.97, dsn=5.1.0, status=bounced (host smtp.orange.fr[193.252.22.64] said: 501 5.1.0 Emetteur invalide. Invalid Sender. OFR203_405 [405] (in reply to MAIL FROM command)) May 4 14:44:53 ontologiae postfix/cleanup[79737]: 9DC05B55B46: message-id=<20120504124453.9DC05B55B46@ontologiae.local> May 4 14:44:53 ontologiae postfix/bounce[79742]: 0E067B55B42: sender non-delivery notification: 9DC05B55B46 May 4 14:44:53 ontologiae postfix/qmgr[79736]: 9DC05B55B46: from=<>, size=2652, nrcpt=1 (queue active) May 4 14:44:53 ontologiae postfix/qmgr[79736]: 0E067B55B42: removed May 4 14:44:53 ontologiae postfix/local[79743]: 9DC05B55B46: to=<ontologiae@ontologiae.local>, relay=local, delay=0.01, delays=0/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox) May 4 14:44:53 ontologiae postfix/qmgr[79736]: 9DC05B55B46: removed Is there a solution ? In advance, thanks. Best regards, Pierre-Alexandre -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne |
From: Pierre-Alexandre V. <ont...@gm...> - 2012-04-06 16:01:45
|
I found a fix : I seted parallelizer with Netplex_mp.mp ~keep_fd_open:true () It was a lot intuitive (as the way I found it in the doc) and i don't understand completely why it works now. Seems that Netplex closes descriptor too early. Le 6 avril 2012 15:51, Pierre-Alexandre Voye <ont...@gm...> a écrit : > Hi, > > my app failed systematically when it try to connect to my Alfresco server. > > > Context : > my program is a cgi http server which make himself certain http call. > It is runned in a multiprocess manner, and it is interesting to note that > my problem disappear if you set to multi-thread instead of multiprocess. > > In the main I have : > > let nethttpd_factory = Nethttpd_plex.nethttpd_factory > ~handlers:handlers () in > Netplex_main.startup parallelizer > Netplex_log.logger_factories (* allow all built-in logging styles *) > Netplex_workload.workload_manager_factories (* ... all ways of > workload management *) > [ nethttpd_factory ] (* make this nethttpd available *) > cmdline_cfg > ;; > > > > Now, the error > > > Apparently (according to stack trace), it fails on > Http_client.Convenience.http_get > > It doesn't throw an error, but (captured in the error of the CGI which is > called) : > Unix.Unix_error(EINVAL, "read (result invalid)", "") > > Here's the code where it failed : > > let requete_get url = Utils.info ("GET "^url) ; try > > Http_client.Convenience.http_get url > <--------------------------------------- > with > > Http_client.Http_error (nerr,msg) -> > > Utils.log2 ("requete_get : "^(string_of_int nerr)) > (Printexc.get_backtrace ()) msg; "" > > The associated log with "-debug Http_client" parameter is show in [1] > > > More suprising, I tried to modify requete_get by > > let requete_get url = Utils.info ("GET "^url) ; > Utils.execute_command ("curl -s > '"^url^"'") (* execute_command : string -> string execute an unix > command and return the result in a string*) > > It failed too, but works sometimes and the logs give : > > [Fri Apr 6 15:34:35 2012] [debug] [52085:0] Netlog: WARNING track_fd: > descriptor already tracked as 4(Netsys_posix - create_event) > [Fri Apr 6 15:34:35 2012] [debug] [52085:0] Netlog: track_fd: tracking > descriptor 4(Netsys_posix - create_event) > [Fri Apr 6 15:34:35 2012] [nethttpd] [crit] run: Exception > Unix.Unix_error(EINVAL, "read (result invalid)", "") > > and > Sys_error("Bad file descriptor");;Raised by primitive operation at file " > pervasives.ml", line 325, characters 12-32 > Called from file "Utils.ml", line 97, characters 24-41 > <---------------------- in the Utils.execute_command function > > > In advance, thank you for your help > > Regards, > > Pierre-Alexandre > > > [1] Logs of the first version of function requete_get which use Http_client > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP > connection: Got Call 2121! > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP > connection: pipelining=true persistency=false close_connection=false->false > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: Call 2121 - > postprocessing > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP > connection: Shutdown! > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP > connection: Closing socket! > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP connection: > checking remaining pipeline requests > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP connection: > creating direct connection to alfrescodev:8080 > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP > direct connection to alfrescodev:8080: Connected! > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP Connection: > adding call 2353 > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: Call 2353: > initialize transmitter > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - Call > 2353 - HTTP request: GET > /alfresco/service/docasu/ui/folder/docs?nodeId=8eb7be3d-0790-493d-a173-0140f7b91df1&alf_ticket=TICKET_9fecb90892eb5703a31ff18793709955bbf550d9 > HTTP/1.1 > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP > connection: Got Call 2353! > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP > connection: pipelining=true persistency=false close_connection=false->false > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: Call 2353 - > postprocessing > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP > connection: Shutdown! > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP > connection: Closing socket! > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP connection: > checking remaining pipeline requests > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - Shutdown > error: Unix.Unix_error(EBADF, "shutdown", "") > [Fri Apr 6 15:13:07 2012] [nethttpd] [crit] Unix.shutdown (fd 11): > Exception Unix.Unix_error(EBADF, "shutdown", "") > [Fri Apr 6 15:13:07 2012] [nethttpd] [crit] Unix.close (fd 11): Exception > Unix.Unix_error(EBADF, "close", "") > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP connection: > creating direct connection to alfrescodev:8080 > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 4 - HTTP > direct connection to alfrescodev:8080: Connected! > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Netlog: WARNING track_fd: > descriptor already tracked as 4(Netsys_posix - create_event) > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Netlog: track_fd: tracking > descriptor 4(Http_client - HTTP direct connection to alfrescodev:8080) > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP Connection: > adding call 2614 > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: Call 2614: > initialize transmitter > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 4 - Call 2614 > - HTTP request: GET > /alfresco/service/docasu/ui/folder/docs?nodeId=f82b2906-9f56-463b-8ff8-f2e0545ed2f8&alf_ticket=TICKET_9fecb90892eb5703a31ff18793709955bbf550d9 > HTTP/1.1 > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP connection: > reset > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 4 - HTTP > connection: Shutdown! > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 4 - HTTP > connection: Closing socket! > [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: Call 2614 - > error Http_client.No_reply > > > > > > -- > --------------------- > https://twitter.com/#!/ontologiae/ > http://linuxfr.org/users/montaigne > > -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne |
From: Pierre-Alexandre V. <ont...@gm...> - 2012-04-06 13:52:19
|
Hi, my app failed systematically when it try to connect to my Alfresco server. Context : my program is a cgi http server which make himself certain http call. It is runned in a multiprocess manner, and it is interesting to note that my problem disappear if you set to multi-thread instead of multiprocess. In the main I have : let nethttpd_factory = Nethttpd_plex.nethttpd_factory ~handlers:handlers () in Netplex_main.startup parallelizer Netplex_log.logger_factories (* allow all built-in logging styles *) Netplex_workload.workload_manager_factories (* ... all ways of workload management *) [ nethttpd_factory ] (* make this nethttpd available *) cmdline_cfg ;; Now, the error Apparently (according to stack trace), it fails on Http_client.Convenience.http_get It doesn't throw an error, but (captured in the error of the CGI which is called) : Unix.Unix_error(EINVAL, "read (result invalid)", "") Here's the code where it failed : let requete_get url = Utils.info ("GET "^url) ; try Http_client.Convenience.http_get url <--------------------------------------- with Http_client.Http_error (nerr,msg) -> Utils.log2 ("requete_get : "^(string_of_int nerr)) (Printexc.get_backtrace ()) msg; "" The associated log with "-debug Http_client" parameter is show in [1] More suprising, I tried to modify requete_get by let requete_get url = Utils.info ("GET "^url) ; Utils.execute_command ("curl -s '"^url^"'") (* execute_command : string -> string execute an unix command and return the result in a string*) It failed too, but works sometimes and the logs give : [Fri Apr 6 15:34:35 2012] [debug] [52085:0] Netlog: WARNING track_fd: descriptor already tracked as 4(Netsys_posix - create_event) [Fri Apr 6 15:34:35 2012] [debug] [52085:0] Netlog: track_fd: tracking descriptor 4(Netsys_posix - create_event) [Fri Apr 6 15:34:35 2012] [nethttpd] [crit] run: Exception Unix.Unix_error(EINVAL, "read (result invalid)", "") and Sys_error("Bad file descriptor");;Raised by primitive operation at file " pervasives.ml", line 325, characters 12-32 Called from file "Utils.ml", line 97, characters 24-41 <---------------------- in the Utils.execute_command function In advance, thank you for your help Regards, Pierre-Alexandre [1] Logs of the first version of function requete_get which use Http_client [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP connection: Got Call 2121! [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP connection: pipelining=true persistency=false close_connection=false->false [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: Call 2121 - postprocessing [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP connection: Shutdown! [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP connection: Closing socket! [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP connection: checking remaining pipeline requests [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP connection: creating direct connection to alfrescodev:8080 [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP direct connection to alfrescodev:8080: Connected! [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP Connection: adding call 2353 [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: Call 2353: initialize transmitter [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - Call 2353 - HTTP request: GET /alfresco/service/docasu/ui/folder/docs?nodeId=8eb7be3d-0790-493d-a173-0140f7b91df1&alf_ticket=TICKET_9fecb90892eb5703a31ff18793709955bbf550d9 HTTP/1.1 [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP connection: Got Call 2353! [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP connection: pipelining=true persistency=false close_connection=false->false [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: Call 2353 - postprocessing [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP connection: Shutdown! [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - HTTP connection: Closing socket! [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP connection: checking remaining pipeline requests [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 11 - Shutdown error: Unix.Unix_error(EBADF, "shutdown", "") [Fri Apr 6 15:13:07 2012] [nethttpd] [crit] Unix.shutdown (fd 11): Exception Unix.Unix_error(EBADF, "shutdown", "") [Fri Apr 6 15:13:07 2012] [nethttpd] [crit] Unix.close (fd 11): Exception Unix.Unix_error(EBADF, "close", "") [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP connection: creating direct connection to alfrescodev:8080 [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 4 - HTTP direct connection to alfrescodev:8080: Connected! [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Netlog: WARNING track_fd: descriptor already tracked as 4(Netsys_posix - create_event) [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Netlog: track_fd: tracking descriptor 4(Http_client - HTTP direct connection to alfrescodev:8080) [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP Connection: adding call 2614 [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: Call 2614: initialize transmitter [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 4 - Call 2614 - HTTP request: GET /alfresco/service/docasu/ui/folder/docs?nodeId=f82b2906-9f56-463b-8ff8-f2e0545ed2f8&alf_ticket=TICKET_9fecb90892eb5703a31ff18793709955bbf550d9 HTTP/1.1 [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: HTTP connection: reset [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 4 - HTTP connection: Shutdown! [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: FD 4 - HTTP connection: Closing socket! [Fri Apr 6 15:13:07 2012] [debug] [49549:0] Http_client: Call 2614 - error Http_client.No_reply -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne |
From: Gerd S. <in...@ge...> - 2012-03-02 18:01:55
|
Am Donnerstag, den 01.03.2012, 14:57 +0100 schrieb Pierre-Alexandre Voye: > Hello, after installing new version 3.5.1, I have new issues : > /private/tmp/multicore$ ./nqueens -n 13 -mp > Problem size: 13 > [Thu Mar 1 14:52:48 2012] [netmcore_0] [err] Exception in worker > process 0: Invalid_argument("format_camlbox (no POSIX semaphores)") OSX does not support unnamed POSIX semaphores. See e.g. http://macosx.com/forums/software-programming-web-scripting/49458-semaphores-alternatives.html What might be possible here is to provide a scheme to replace them with named semaphores (which are available). The name would just be derived from the address of the semaphore (e.g. "<prefix>_<address>"). The not-so-simple part is to ensure that all processes open the semaphores before their first use (that's the reason why unnamed semaphores work better here). There could be a process-wide hash table for this, but this would mean every semaphore operation needs a hash table lookup. Destruction of semaphores is even worse. In order to do it cleanly, one needs a special management table (in shared memory or as file), and keep track which semaphores are still in use. > Time: 0.025 > |/private/tmp/multicore$ ./nqueens -n 13 -mp2 > Problem size: 13 > Fatal error: exception Unix.Unix_error(34, "lseek", "") This could be an lseek of shared memory. I've no idea why OSX complains about this. Gerd > |/private/tmp/multicore$ ./nqueens -n 13 -sht > Problem size: 13 > Fatal error: exception Unix.Unix_error(34, "lseek", "") > |/private/tmp/multicore$ ./nqueens -n 13 -sht2 > Problem size: 13 > Fatal error: exception Unix.Unix_error(34, "lseek", "") > |/private/tmp/multicore$ d > > Doc says error 34 (ESPIPE) is "Invalid seek e.g. on a pipe" > > 2012/2/29 Pierre-Alexandre Voye <ont...@gm...> > > > 2012/2/29 Gerd Stolpmann <in...@ge...> > Am Sonntag, den 26.02.2012, 23:45 +0100 schrieb > Pierre-Alexandre Voye: > > Hi list, > > > > In my mac (Lion, 10.7) I'm unable to make nqueens > example work with > > -mp or even -sht flags > > Here my attempts : > > > > $ time ./nqueens -n 3 -mp > /dev/null > > Fatal error: exception Unix.Unix_error(17, "", > > > "/Users/ontologiae/Documents/Projets/COWEBO/CoweboDev/Etudes/ocamlnet-3.5/examples/multicore/run_nqueens/netplex.controller/admin") > > > Unix error 17 = ENAMETOOLONG. You can find this out by > running in the > toploop: > > # (Obj.magic 17 : Unix.error);; > - : Unix.error = Unix.ENAMETOOLONG > > Thank you ! I didn't knew that, it will help me to investigate > more by myself. > > > This refers to the path name of the Unix domain > socket. Because of > historical reasons, such paths are limited to 108 > bytes. You can work > around by e.g. creating a symlink to your working > directory in /tmp. > > > time ./nqueens -n 3 -sht > /dev/null > > Fatal error: exception Unix.Unix_error(12, "fchmod", > "") > > > > > > $ time ./nqueens -n 3 -mp2 > /dev/null > > Fatal error: exception Unix.Unix_error(12, "fchmod", > "") > > > > Is it a mac/BSD linked problem ? > > > The fchmod problem probably is. fchmod is here called > on a file > descriptor referring to shared memory. This is strange > because fchmod is > part of the POSIX API for shared memory. > > Anyway, I'll just catch EINVAL and ignore it. > > It's probably a good idea : > /tmp/multicore$ ./nqueens -mp > Problem size: 8 > [Wed Feb 29 15:48:46 2012] [netmcore_0] [err] Exception in > worker process 0: Unix.Unix_error(EINVAL, "fchmod", "") > Time: 0.023 > > > Gerd > > > > > Regards > > > > Pierre-Alexandre > > > > -- > > --------------------- > > https://twitter.com/#!/ontologiae/ > > http://linuxfr.org/users/montaigne > > > > > > > > > > -- > --------------------- > https://twitter.com/#!/ontologiae/ > http://linuxfr.org/users/montaigne > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... Creator of GODI and camlcity.org. Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de *** Searching for new projects! Need consulting for system *** programming in Ocaml? Gerd Stolpmann can help you. ------------------------------------------------------------ |
From: Pierre-Alexandre V. <ont...@gm...> - 2012-03-01 13:57:36
|
Hello, after installing new version 3.5.1, I have new issues : /private/tmp/multicore$ ./nqueens -n 13 -mp Problem size: 13 [Thu Mar 1 14:52:48 2012] [netmcore_0] [err] Exception in worker process 0: Invalid_argument("format_camlbox (no POSIX semaphores)") Time: 0.025 |/private/tmp/multicore$ ./nqueens -n 13 -mp2 Problem size: 13 Fatal error: exception Unix.Unix_error(34, "lseek", "") |/private/tmp/multicore$ ./nqueens -n 13 -sht Problem size: 13 Fatal error: exception Unix.Unix_error(34, "lseek", "") |/private/tmp/multicore$ ./nqueens -n 13 -sht2 Problem size: 13 Fatal error: exception Unix.Unix_error(34, "lseek", "") |/private/tmp/multicore$ d Doc says error 34 (ESPIPE) is "Invalid seek e.g. on a pipe" 2012/2/29 Pierre-Alexandre Voye <ont...@gm...> > > > 2012/2/29 Gerd Stolpmann <in...@ge...> > >> Am Sonntag, den 26.02.2012, 23:45 +0100 schrieb Pierre-Alexandre Voye: >> > Hi list, >> > >> > In my mac (Lion, 10.7) I'm unable to make nqueens example work with >> > -mp or even -sht flags >> > Here my attempts : >> > >> > $ time ./nqueens -n 3 -mp > /dev/null >> > Fatal error: exception Unix.Unix_error(17, "", >> > >> "/Users/ontologiae/Documents/Projets/COWEBO/CoweboDev/Etudes/ocamlnet-3.5/examples/multicore/run_nqueens/netplex.controller/admin") >> >> Unix error 17 = ENAMETOOLONG. You can find this out by running in the >> toploop: >> >> # (Obj.magic 17 : Unix.error);; >> - : Unix.error = Unix.ENAMETOOLONG >> > > Thank you ! I didn't knew that, it will help me to investigate more by > myself. > >> >> This refers to the path name of the Unix domain socket. Because of >> historical reasons, such paths are limited to 108 bytes. You can work >> around by e.g. creating a symlink to your working directory in /tmp. >> >> > time ./nqueens -n 3 -sht > /dev/null >> > Fatal error: exception Unix.Unix_error(12, "fchmod", "") >> > >> > >> > $ time ./nqueens -n 3 -mp2 > /dev/null >> > Fatal error: exception Unix.Unix_error(12, "fchmod", "") >> > >> > Is it a mac/BSD linked problem ? >> >> The fchmod problem probably is. fchmod is here called on a file >> descriptor referring to shared memory. This is strange because fchmod is >> part of the POSIX API for shared memory. >> >> Anyway, I'll just catch EINVAL and ignore it. >> > > It's probably a good idea : > /tmp/multicore$ ./nqueens -mp > Problem size: 8 > [Wed Feb 29 15:48:46 2012] [netmcore_0] [err] Exception in worker process > 0: Unix.Unix_error(EINVAL, "fchmod", "") > Time: 0.023 > >> >> Gerd >> >> > >> > Regards >> > >> > Pierre-Alexandre >> > >> > -- >> > --------------------- >> > https://twitter.com/#!/ontologiae/ >> > http://linuxfr.org/users/montaigne >> > >> >> >> -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne |
From: Gerd S. <in...@ge...> - 2012-02-29 18:24:30
|
There is a patch release available, 3.5.1, fixing a few errors, mostly build-related: - Missing symbols on FreeBSD-9 - Missing symbols on Debian Wheezy (probably because of stricter linking) - posix_spawn is disabled on Mac (for the time being until the problem can be further tracked down) - Mac OS does not like fchmod on shared memory Gerd Am Donnerstag, den 23.02.2012, 00:04 +0100 schrieb Gerd Stolpmann: > Hi, > > it is time for another version of Ocamlnet. The new release 3.5 focuses on > the system interface, and includes a long list of smaller improvements. > > The system interface, Netsys_posix, is extended by: > - Support for POSIX clocks and POSIX timers (with nanosecond resolution) > - Netsys_posix.spawn usses now the posix_spawn call if present on the OS > - Adding support for pollable events (as e.g. provided by Linux via > eventfd). For other OS an emulation is available. > - Support for epoll on Linux > > Note that Netsys_posix covers now large parts of POSIX realtime. > > Other improvements: > > - The code generator for XDR has been improved. A new switch -direct for > ocamlrpcgen can be used to generate direct mappings between OCaml values > and binary representation (in many cases). Speedups up to 50% are > possible for large XDR values. > - The new module Uq_mt allows it to access an event-driven resource from > several kernel threads (e.g. use an RPC client commonly from several > threads). > - The thread-safety of Netplex container functions has been improved. > - Netmulticore condition variables can now be polled, for better > integration into event-based programs. > - Option greedy_accepts for Netplex to support servers that accept > many connections per second. With this improvement, Netplex can > now accept more than 5000 connections/s, and assign them to worker > processes. > > Last but not least there is now a new tutorial for Equeue (event systems > and engines). In particular, the section about combining Ocamlnet with Lwt > might be interesting. > > For the full list of changes (especially bug fixes), see: > > https://godirepo.camlcity.org/svn/lib-ocamlnet2/trunk/code/ChangeLog > > The download, manual, and other resources: > > http://projects.camlcity.org/projects/ocamlnet.html > > GODI has been updated. > > Gerd -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... Creator of GODI and camlcity.org. Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de *** Searching for new projects! Need consulting for system *** programming in Ocaml? Gerd Stolpmann can help you. ------------------------------------------------------------ |
From: Pierre-Alexandre V. <ont...@gm...> - 2012-02-29 14:54:25
|
2012/2/29 Gerd Stolpmann <in...@ge...> > Am Sonntag, den 26.02.2012, 23:45 +0100 schrieb Pierre-Alexandre Voye: > > Hi list, > > > > In my mac (Lion, 10.7) I'm unable to make nqueens example work with > > -mp or even -sht flags > > Here my attempts : > > > > $ time ./nqueens -n 3 -mp > /dev/null > > Fatal error: exception Unix.Unix_error(17, "", > > > "/Users/ontologiae/Documents/Projets/COWEBO/CoweboDev/Etudes/ocamlnet-3.5/examples/multicore/run_nqueens/netplex.controller/admin") > > Unix error 17 = ENAMETOOLONG. You can find this out by running in the > toploop: > > # (Obj.magic 17 : Unix.error);; > - : Unix.error = Unix.ENAMETOOLONG > Thank you ! I didn't knew that, it will help me to investigate more by myself. > > This refers to the path name of the Unix domain socket. Because of > historical reasons, such paths are limited to 108 bytes. You can work > around by e.g. creating a symlink to your working directory in /tmp. > > > time ./nqueens -n 3 -sht > /dev/null > > Fatal error: exception Unix.Unix_error(12, "fchmod", "") > > > > > > $ time ./nqueens -n 3 -mp2 > /dev/null > > Fatal error: exception Unix.Unix_error(12, "fchmod", "") > > > > Is it a mac/BSD linked problem ? > > The fchmod problem probably is. fchmod is here called on a file > descriptor referring to shared memory. This is strange because fchmod is > part of the POSIX API for shared memory. > > Anyway, I'll just catch EINVAL and ignore it. > It's probably a good idea : /tmp/multicore$ ./nqueens -mp Problem size: 8 [Wed Feb 29 15:48:46 2012] [netmcore_0] [err] Exception in worker process 0: Unix.Unix_error(EINVAL, "fchmod", "") Time: 0.023 > > Gerd > > > > > Regards > > > > Pierre-Alexandre > > > > -- > > --------------------- > > https://twitter.com/#!/ontologiae/ > > http://linuxfr.org/users/montaigne > > > > > ------------------------------------------------------------------------------ > > Virtualization & Cloud Management Using Capacity Planning > > Cloud computing makes use of virtualization - but cloud computing > > also focuses on allowing computing to be delivered as a service. > > http://www.accelacomm.com/jaw/sfnl/114/51521223/ > > _______________________________________________ Ocamlnet-devel mailing > list Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > > -- > ------------------------------------------------------------ > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > Creator of GODI and camlcity.org. > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > *** Searching for new projects! Need consulting for system > *** programming in Ocaml? Gerd Stolpmann can help you. > ------------------------------------------------------------ > > -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne |