flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.01.0 http://bit.ly/1851A3R | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
struktured__ has joined #ocaml
struktured has quit [Ping timeout: 248 seconds]
spacun has joined #ocaml
csakatoku has joined #ocaml
lostcuaz has joined #ocaml
nullFxn has quit [Quit: leaving]
nullFxn has joined #ocaml
lostcuaz has quit [Ping timeout: 240 seconds]
csakatoku has quit [Remote host closed the connection]
nullFxn has quit [Ping timeout: 264 seconds]
csakatoku has joined #ocaml
csakatoku has quit [Remote host closed the connection]
csakatoku has joined #ocaml
lostcuaz has joined #ocaml
nullFxn has joined #ocaml
boogie has quit [Remote host closed the connection]
nullFxn has quit [Ping timeout: 252 seconds]
talzeus_ has quit [Remote host closed the connection]
jwatzman|work has quit [Quit: jwatzman|work]
CamelFodder has quit [Read error: Connection reset by peer]
wolfnn has quit [Ping timeout: 246 seconds]
spacun has quit [Remote host closed the connection]
spacun has joined #ocaml
struktured__ has quit [Ping timeout: 245 seconds]
watermind has quit [Quit: Konversation terminated!]
strobegen has joined #ocaml
leo2007 has joined #ocaml
talzeus has joined #ocaml
thomasga has joined #ocaml
struktured has joined #ocaml
spacun has quit [Ping timeout: 260 seconds]
ygrek has joined #ocaml
spacun has joined #ocaml
zRecursive has joined #ocaml
csakatoku has quit [Remote host closed the connection]
csakatoku has joined #ocaml
leo2007 has quit [Quit: rcirc on GNU Emacs 24.3.1]
ollehar has joined #ocaml
palomer has joined #ocaml
ollehar has quit [Ping timeout: 260 seconds]
yminsky has joined #ocaml
struktured has quit [Ping timeout: 250 seconds]
yminsky has quit [Quit: Page closed]
spacun has quit [Ping timeout: 248 seconds]
groovy2shoes has joined #ocaml
struktured has joined #ocaml
palomer has quit [Ping timeout: 248 seconds]
mreca has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
csakatoku has quit []
csakatoku has joined #ocaml
csakatoku has quit [Remote host closed the connection]
csakatoku has joined #ocaml
csakatoku has quit [Ping timeout: 264 seconds]
yacks has quit [Quit: Leaving]
nikki93 has quit [Remote host closed the connection]
groovy2shoes has quit [Quit: groovy2shoes]
pyon has quit [Quit: usa usa pyon pyon... brb]
struktured has quit [Ping timeout: 248 seconds]
csakatoku has joined #ocaml
ygrek has quit [Ping timeout: 246 seconds]
ttamttam has joined #ocaml
ttamttam has quit [Quit: ttamttam]
ttamttam has joined #ocaml
ttamttam has quit [Client Quit]
nikki93 has joined #ocaml
nikki93 has quit [Ping timeout: 240 seconds]
nikki93 has joined #ocaml
nikki93 has quit [Ping timeout: 252 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest22233
mal`` has quit [Ping timeout: 245 seconds]
mal`` has joined #ocaml
jao has quit [Ping timeout: 250 seconds]
ygrek has joined #ocaml
ulfdoz has joined #ocaml
Guest22233 has quit [Remote host closed the connection]
nikki93 has joined #ocaml
ygrek_ has joined #ocaml
csakatok_ has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
csakatoku has quit [Ping timeout: 246 seconds]
nikki93 has quit [Ping timeout: 240 seconds]
csakatok_ has quit [Remote host closed the connection]
zRecursive has left #ocaml []
<robert_> so there's no way to manually build uutf?
csakatoku has joined #ocaml
ulfdoz has quit [Ping timeout: 248 seconds]
csakatok_ has joined #ocaml
csakatoku has quit [Read error: Connection reset by peer]
ygrek_ has quit [Ping timeout: 252 seconds]
<adrien> you're supposed to read the opam build infos
fds has quit [Ping timeout: 260 seconds]
<robert_> it says I "can" build it via opam, with no instructions on how to do it otherwise.
Asmadeus_ is now known as Asmadeus
<adrien> I mean, the code used by opam to build
<robert_> oh
nikki93 has joined #ocaml
<adrien> the author states tha the README or INSTALL file explains it
<robert_> there's no INSTALL file and README.md just says use opam
dant3 has joined #ocaml
<robert_> oh, I think I see.
nikki93 has quit [Ping timeout: 260 seconds]
csakatok_ has quit [Ping timeout: 264 seconds]
csakatoku has joined #ocaml
<adrien> what is it?
mchqwerty has joined #ocaml
<robert_> I said I think, lol
<robert_> I'm half-asleep here
<robert_> but it looks like I just run pkg/build and finagle with the OCAMLBUILD shell variable
zpe has joined #ocaml
<adrien> sounds plausible
dant3 has quit [Remote host closed the connection]
pyon has joined #ocaml
<robert_> yeah.
ygrek has joined #ocaml
wolfnn has joined #ocaml
csakatoku has quit [Ping timeout: 250 seconds]
wolfnn has quit [Client Quit]
nikki93 has joined #ocaml
csakatoku has joined #ocaml
nikki93 has quit [Ping timeout: 252 seconds]
nikki93 has joined #ocaml
dant3 has joined #ocaml
zpe has quit [Ping timeout: 248 seconds]
bobry_ is now known as bobry
<bobry> Is it possible to make this work without copy-pasting the definition of 'm' into class 'c'? http://paste.in.ua/9181
kyrylo has joined #ocaml
ollehar has joined #ocaml
pyon has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
zpe has joined #ocaml
tovarish has joined #ocaml
zpe has quit [Ping timeout: 260 seconds]
gustav___ has quit [Ping timeout: 246 seconds]
dant3 has quit [Remote host closed the connection]
kyrylo has quit [Quit: Don't give up! Tell ya neighbour, tell ya friend...]
snyp has joined #ocaml
snyp has quit [Client Quit]
snyp has joined #ocaml
djcoin has joined #ocaml
mika1 has joined #ocaml
nikki93 has quit [Remote host closed the connection]
skchrko has joined #ocaml
thomasga has quit [Ping timeout: 245 seconds]
dsheets has quit [Ping timeout: 245 seconds]
snyp has quit [Quit: leaving]
dant3 has joined #ocaml
zpe has joined #ocaml
thomasga has joined #ocaml
dant3 has quit [Ping timeout: 264 seconds]
dant3 has joined #ocaml
Kakadu has joined #ocaml
dant3 has quit [Read error: Connection reset by peer]
dant3 has joined #ocaml
jonludlam has joined #ocaml
thomasga1 has joined #ocaml
thomasga has quit [Ping timeout: 264 seconds]
Simn has joined #ocaml
milosn has joined #ocaml
milosn has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
milosn has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
milosn has quit [Read error: No buffer space available]
thomasga1 has quit [Quit: Leaving.]
rand000 has joined #ocaml
PM` is now known as PM
dant3 has quit [Remote host closed the connection]
thomasga has joined #ocaml
ollehar has quit [Ping timeout: 248 seconds]
avsm has joined #ocaml
milosn has joined #ocaml
paolooo has joined #ocaml
jbrown has quit [Read error: Operation timed out]
dant3 has joined #ocaml
Neros_ has joined #ocaml
Neros has quit [Ping timeout: 245 seconds]
avsm has quit [Quit: Leaving.]
paolooo has quit [Quit: Page closed]
dsheets has joined #ocaml
mort___ has joined #ocaml
jbrown has joined #ocaml
BitPuffin has joined #ocaml
dant3 has quit [Remote host closed the connection]
agnoctone has joined #ocaml
mort___ has left #ocaml []
mchqwerty has quit [Remote host closed the connection]
mchqwerty has joined #ocaml
dant3 has joined #ocaml
BitPuffin has quit [Quit: WeeChat 0.4.2]
avsm has joined #ocaml
yacks has joined #ocaml
avsm has quit [Ping timeout: 246 seconds]
mchqwerty has quit [Ping timeout: 252 seconds]
avsm has joined #ocaml
_5kg_ has quit [Ping timeout: 260 seconds]
thomasga has quit [Quit: Leaving.]
avsm has quit [Ping timeout: 250 seconds]
ocp has joined #ocaml
csakatoku has quit [Remote host closed the connection]
thomasga has joined #ocaml
thomasga has quit [Client Quit]
AltGr has joined #ocaml
dant3 has quit [Remote host closed the connection]
sepp2k has joined #ocaml
nikki93 has joined #ocaml
mort___ has joined #ocaml
dant3 has joined #ocaml
nikki93_ has joined #ocaml
fds has joined #ocaml
nikki93 has quit [Ping timeout: 250 seconds]
fds has quit [Ping timeout: 240 seconds]
fds has joined #ocaml
avsm has joined #ocaml
ygrek has quit [Ping timeout: 264 seconds]
talzeus has quit [Remote host closed the connection]
avsm has quit [Ping timeout: 248 seconds]
mort___ has quit [Quit: Leaving.]
mort___ has joined #ocaml
dant3 has quit [Remote host closed the connection]
dant3 has joined #ocaml
nikki93_ has quit [Remote host closed the connection]
rand000 has quit [Ping timeout: 264 seconds]
mort___ has quit [Quit: Leaving.]
rand000 has joined #ocaml
justdit has joined #ocaml
q66 has quit [Quit: Leaving]
gustav__ has joined #ocaml
jonludlam has quit [Ping timeout: 250 seconds]
ggole has joined #ocaml
thomasga has joined #ocaml
thomasga has quit [Client Quit]
avsm has joined #ocaml
q66 has joined #ocaml
avsm has quit [Ping timeout: 246 seconds]
Neros_ has quit [Ping timeout: 246 seconds]
_5kg_ has joined #ocaml
palomer has joined #ocaml
palomer has quit [Remote host closed the connection]
justdit has quit [Ping timeout: 252 seconds]
talzeus has joined #ocaml
talzeus has quit [Remote host closed the connection]
mort___ has joined #ocaml
talzeus has joined #ocaml
_5kg_ has quit [Ping timeout: 246 seconds]
thomasga has joined #ocaml
avsm has joined #ocaml
snyp has joined #ocaml
thomasga has quit [Ping timeout: 240 seconds]
AltGr has left #ocaml []
avsm has quit [Quit: Leaving.]
hyperboreean has quit [Quit: leaving]
hyperboreean has joined #ocaml
q66 has quit [Quit: Leaving]
darkf has quit [Quit: Leaving]
fds has quit [Ping timeout: 248 seconds]
fds has joined #ocaml
mort___ has quit [Quit: Leaving.]
mreca has joined #ocaml
q66 has joined #ocaml
mort___ has joined #ocaml
groovy2shoes has joined #ocaml
lostcuaz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
nikki93 has joined #ocaml
jonludlam has joined #ocaml
gnuvince has joined #ocaml
gnuvince has quit [Changing host]
gnuvince has joined #ocaml
gnuvince has left #ocaml []
groovy2shoes has quit [Quit: groovy2shoes]
mort___ has quit [Quit: Leaving.]
ygrek has joined #ocaml
groovy2shoes has joined #ocaml
dant3 has quit [Remote host closed the connection]
snyp has quit [Quit: Leaving]
dant3 has joined #ocaml
peterbb has quit [Ping timeout: 272 seconds]
peterbb has joined #ocaml
dant3 has quit [Ping timeout: 264 seconds]
WraithM_ has joined #ocaml
groovy2shoes has quit [Quit: groovy2shoes]
mika1 has quit [Quit: Leaving.]
nikki93_ has joined #ocaml
nikki93 has quit [Read error: Connection reset by peer]
_5kg_ has joined #ocaml
struktured_ has joined #ocaml
mchqwerty has joined #ocaml
metasyntax has joined #ocaml
lostcuaz has joined #ocaml
shinnya has joined #ocaml
avsm has joined #ocaml
nlucaroni has joined #ocaml
struktured_ has quit [Ping timeout: 246 seconds]
thomasga has joined #ocaml
AltGr has joined #ocaml
dant3 has joined #ocaml
AltGr has left #ocaml []
AltGr has joined #ocaml
wolfnn has joined #ocaml
dant3 has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 240 seconds]
ygrek has joined #ocaml
dant3 has joined #ocaml
agnoctone has quit [Quit: Page closed]
nicoo has quit [Ping timeout: 260 seconds]
ocp has quit [Ping timeout: 245 seconds]
AltGr has left #ocaml []
AltGr has joined #ocaml
thomasga has quit [Read error: Connection reset by peer]
thomasga has joined #ocaml
AltGr has left #ocaml []
AltGr has joined #ocaml
ollehar has joined #ocaml
shinnya has quit [Ping timeout: 264 seconds]
<thorsten`> how can i "attach" the repl (i.e. ocmal) to some source files?
<ggole> Attach how?
<thorsten`> to be able to call global functions
<thorsten`> with ghc in haskell i would do: ghci mysourcefile.hs
<ggole> You can "include" them with #use, compile and load them, or make a new toplevel binary that includes some modules by default.
skchrko has quit [Quit: Leaving]
<ggole> Depends on what you are trying to do, really
<thorsten`> i have the following error: " line 70, characters 7-46: Warning 10: this expression should have type unit."
avsm has quit [Quit: Leaving.]
<thorsten`> so i'm trying to find out its actual type
<adrien_oww> replace
<adrien_oww> foo;
<adrien_oww> with
<adrien_oww> let () = foo in
<adrien_oww> on line 70
rz has quit [Quit: Ex-Chat]
AltGr has left #ocaml []
<thorsten`> and why? my line now is (foo ; ()), which should have type ()
AltGr has joined #ocaml
dsheets has quit [Ping timeout: 245 seconds]
<ggole> This can arise without being an error if you are calling a side-effecting function that returns a non-unit type
<thorsten`> ok, i call such a function
<adrien_oww> thorsten`: it complains because the expression before ';' is not returning unit; not because the whole line isn't ;-)
<ggole> The usual fix for that is ignore (side_effecting ()) in place of side_effecting ()
<adrien_oww> there's a function named "ignore"
<ggole> Or you can disable the warning: I prefer the former.
<adrien_oww> same here :)
boogie has joined #ocaml
<adrien_oww> and if code is side-effect heavy (lablgtk usually), I do "let ign = ignore" as an abbreviation
<thorsten`> ok. ignore (foo) works.
sepp2k has quit [Quit: Konversation terminated!]
AltGr has left #ocaml []
AltGr has joined #ocaml
<thorsten`> but let () = foo in still gave me: »This expression has type bool but an expression was expected of type unit«
<ggole> Yep. let () = ... essentially matches the result of ... with the trivial constructor (), which is a type error.
<thorsten`> sounds reasonable
<ggole> let _ = ... is an alternative: I think ignore is better (more explicit).
<tovarish> ggole, it's a matter of taste
<adrien_oww> thorsten`: that was meant to trigger the error so that you would be told what was the type of the expression (bool here)
<adrien_oww> you can also do:
<adrien_oww> let _foo = bar () in
<ggole> tovarish: indeed
<adrien_oww> it gives a name but won't warn if you don't use the variable
<adrien_oww> it's very useful for: let a, b, _some_var = bar ()
<smondet> you can also force the type to make sure your function application is total: let (_ : bool) = foo () in
<smondet> (because _ can accept function types → you may miss that you have forgotten an argument)
<thorsten`> i see
zpe has quit [Remote host closed the connection]
avsm has joined #ocaml
AltGr has left #ocaml []
Neros has joined #ocaml
Kakadu has quit [Quit: Page closed]
Arsenik has joined #ocaml
milosn has quit [Ping timeout: 245 seconds]
kyrylo has joined #ocaml
<nlucaroni> adrien, I didn't know that, so any name starting with a _ suppresses unused variable warnings? Any other warnings?
<adrien_oww> I don't think so
jwatzman|work has joined #ocaml
thomasga has quit [Read error: Connection reset by peer]
thomasga has joined #ocaml
thomasga has quit [Client Quit]
tovarish has quit [Quit: Leaving]
ygrek has quit [Ping timeout: 248 seconds]
avsm has quit [Quit: Leaving.]
rz has joined #ocaml
ttamttam has joined #ocaml
Kakadu has joined #ocaml
zpe has joined #ocaml
jonludlam has quit [Ping timeout: 240 seconds]
struktured has joined #ocaml
jonludlam has joined #ocaml
thomasga has joined #ocaml
zpe has quit [Ping timeout: 252 seconds]
ttamttam has quit [Quit: ttamttam]
jonludlam has quit [Remote host closed the connection]
ollehar has quit [Quit: ollehar]
nikki93_ has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
nikki93 has joined #ocaml
nicoo has joined #ocaml
Leviathan has joined #ocaml
manizzle has joined #ocaml
<Leviathan> Hi !
<Kakadu> o/
<Leviathan> any french ? :/
<Leviathan> (I'm really bad in english ><)
<Kakadu> There is french channel
<adrien> french people only make up for a very small proportion of the channel
<Leviathan> Oh. Alors je suis stupide, juste \o
<Kakadu> #ocaml-fr or something like that
<adrien> Leviathan: *there* is
<adrien> Leviathan: not *this* is :P
<Leviathan> Sorry. ><.
<adrien> although I was lying: the proportion of french people on the channel is quite high but this channel is english-only; that one of the reason there is #ocaml-fr
<Leviathan> Ok, thanks :3
CamelFodder has joined #ocaml
nlucaroni has left #ocaml []
nlucaroni has joined #ocaml
ttamttam has joined #ocaml
travisbrady has joined #ocaml
snyp has joined #ocaml
<thomasga> are syntax extensions handled correctly by oasis 4.0 ?
<Drup> I think it's the same as before, why ?
thomasga has quit [Quit: Leaving.]
Leviathan has quit [Ping timeout: 272 seconds]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
thomasga has joined #ocaml
<thomasga> Drup: (sorry I've been disconnected)
<thomasga> I though there were some patches to fix the support for syntax extensions which went in last year
<thomasga> how are we supposed to search in the issues in the forge ?
<thomasga> this is so confusing ...
<Drup> yeah, the forge bugtrack is quite bad :/
nikki93 has quit [Read error: Connection reset by peer]
manizzle has quit [Ping timeout: 250 seconds]
Neros has quit [Remote host closed the connection]
Neros has joined #ocaml
ttamttam has quit [Ping timeout: 240 seconds]
<rks`> thomasga: doesn't avsm have news on that topic?
<rks`> a few months ago he pointed me to oasis-mirage, "until things get merged upstream"
<thomasga> yea, that's why I though it was fixed
<rks`> (I believe it was for a problem related to camlp4)
<thomasga> but apparently not
<rks`> (good thing I'm still using the mirage version then :-')
<thomasga> imho, it would have been better to fix that instead of adding some random beta/alpha-feature fields
<rks`> thomasga: you can still answer his mail :]
<rks`> (joke aside, it would be worth it to ask I think)
ttamttam has joined #ocaml
<rks`> also, it's on github now apparently, so doing a pull request should be the easiest thing.
<thomasga> it's on github but the issue tracker is disabled
<thomasga> I've sent some emails to oasis-devel, I'll see what happens
<adrien> Drup: there is no forge bugtracker on *forge
<adrien> it's a bug list :)
CalimeroTeknik_ is now known as CalimeroTeknik
manizzle has joined #ocaml
<adrien> lister*
thomasga has quit [Quit: Leaving.]
gustav__ has quit [Ping timeout: 240 seconds]
gustav__ has joined #ocaml
travisbrady_ has joined #ocaml
travisbrady has quit [Ping timeout: 250 seconds]
travisbrady has joined #ocaml
gustav__ has quit [Ping timeout: 240 seconds]
travisbrady_ has quit [Ping timeout: 245 seconds]
struktured has quit [Ping timeout: 246 seconds]
ttamttam has quit [Quit: ttamttam]
manizzle has quit [Remote host closed the connection]
manizzle has joined #ocaml
stevej has joined #ocaml
CamelFodder has quit [Remote host closed the connection]
jao has quit [Read error: Connection reset by peer]
snyp has quit [Quit: Leaving]
jonludlam has joined #ocaml
nlucaroni has quit [Quit: leaving]
travisbrady has quit [Quit: travisbrady]
jonludlam has quit [Ping timeout: 245 seconds]
mchqwerty has quit [Remote host closed the connection]
ggole has quit []
ulfdoz has joined #ocaml
mort___ has joined #ocaml
travisbrady has joined #ocaml
tulloch has joined #ocaml
<adrien> I think this is going to end up on the caml-list but anyway
<adrien> I have a subfunction in C which returns something of type "void*" (a function pointer) but it may also raise an exception
<adrien> should I use CAMLparam0() and CAML(no)return in the function?
jonludlam has joined #ocaml
<whitequark> adrien: does it have GC roots inside?
<Kakadu> this night is terrible. I can't resolve even simple errors
<adrien> the code is basically
<adrien> void* foo(void) { void *f = something(); if (f == NULL) { caml_failwith("bluh"); } else { return f; } }
<adrien> are the CAMLparam and such missing?
<whitequark> adrien: if f is not a caml value (it shouldn't be), then no
<whitequark> CAMLparam/CAMLreturn indicate to the OCaml GC that certain values are referenced from the C stack
<whitequark> which it cannot, in general, traverse
<adrien> but if I do an allocation, then I need to do it; and isn't the exception going to require an allocation?
<adrien> on the other hand
<whitequark> adrien: caml_failwith takes care of that internally
<adrien> it's not up to me but up to caml_failwith() to do that allocation and handle everything
<adrien> :)
<adrien> wouldn't be manageable otherwise
<adrien> thanks
<adrien> flux: I think sdl2 does error handling like win32
<adrien> looks impossible to bind to exceptions
<adrien> bind errors* to exceptions
<adrien> (and that makes sense since the errors are "dynamic")
<bernardofpc> adrien> french people only make up for a very small proportion of the channel -> but maybe more than just the French understand french ;-)
<adrien> I wasn't being serious: there are way too many french people on this channel ;p
def-lkb has left #ocaml []
def-lkb has joined #ocaml
Kakadu has quit []
rz has quit [Quit: Ex-Chat]
toordog has joined #ocaml
<toordog> I'm having a funny issue with a runtime coredump that point to a segfault in caml_fl_allocate, would need some feedback to know it if could be in the runtime of ocaml
<toordog> or help me figure out what's wrong in my code
<adrien> do you have C bindings?
<toordog> not sure about that
<toordog> we have a liquidsoap compiled and working, we added a class to support our Media Relay protocol and the process crash when sending the buffer to the packet once in a while.
<toordog> on 24h and 100 process, we have 7-10 that segfault
<toordog> kidn of randomly
<adrien> you can easily stress the C bindings with regular calls to "Gc.compact"
<toordog> I must tell that i'm not a dev but a sysadmin trying to figure out the segfault issue.
<toordog> we have no one in house with ocaml expertise.
<adrien> I see
<adrien> I'd still start with regular calls to "Gc.compact ()"; it's simply going to start a compaction in the garbage collector and if there is corruption somewhere in memory, it will help trigger a crash quite a lot earlier
<adrien> it's easy to add to the code; you only need to put it somewhere that will be called regularly
<toordog> we have someone in C that did an investigation of the issue and it seems to lead to a runtime issue. From his point of view, since ocaml manage the memory allocation and it shouldn't allow a human to do buffer overflow or similar thing, and that the code seems to be ok on surface, that it could be related to the runtime or a specification of the langauge
<adrien> it might introduce latencies though
<toordog> ok
<adrien> so maybe not put that in production
<toordog> no problem for the latency to fix this :)
<toordog> we have a test server for that
* def-lkb was typing (however this have a noticeable runtime overhead, you may prefer to avoid running that on production)
<adrien> well, if it helps trigger the crash and it ends up making everything segfault after two minutes, you might have an issue :P
<toordog> so you think it could be related to the garbage collector?
<adrien> apart from that, putting "Gc.compact;" at the top (or bottom?) of the "send_packet" method should be enough
<toordog> ok
<adrien> the GC is probably not the culprit
<def-lkb> that kind of failure usually happens when C code breaks an invariant expected by the GC
<adrien> but since the GC does a lot of things, if you have an incorrect value somewhere, it will likely make the GC crash
<toordog> ok
<adrien> also, when we say "GC", it's something responsible for both allocations and deallocations
<adrien> fl_allocate is part of it
<toordog> ok, is it possible that the gc try to allocate and invalid memory zone?
<toordog> *linux or kernel related or version of runtime ..
<toordog> like if selinux is enabled could cause an incompatibility with some runtime? *just guessing here*
<adrien> everything is possible if the GC walks over incorrect data
<toordog> ok
<adrien> not very likely for selinux
<adrien> but it's difficult to say anything with selinux :)
<toordog> I can see some trace of selinux near the segfault in the log, maybe it's related in this case.
<adrien> you're on RH/fedora?
lostcuaz has quit [Ping timeout: 248 seconds]
<toordog> CentOS 5.10
<toordog> selinux enforced
<def-lkb> toordog: I would start by bisecting any C-code calling caml primitives that was modified around the time the server started segfaulting
lostcuaz has joined #ocaml
<toordog> def-lkb it's bit technical and I didn't understand taht part. Basically : c-code calling caml "primitive"
lostcuaz has quit [Max SendQ exceeded]
lostcuaz has joined #ocaml
lostcuaz has quit [Max SendQ exceeded]
jdbuys has joined #ocaml
lostcuaz has joined #ocaml
<def-lkb> toordog: when you need to call C code from ocaml, you have to provide a thin layer of C code that will act as a bridge
<toordog> ok
<def-lkb> this C code can make use of some functions whose names are prefixed by "caml_"
gargaml has joined #ocaml
<def-lkb> This is the critical part: any misuse of one of those functions is likely to corrupt the memory layout, for instance by letting a dangling pointer…
Xenasis has joined #ocaml
malvarez has joined #ocaml
<gargaml> hi
<malvarez> hello
<gargaml> does anyone know why do we get a type error on this piece of code
<gargaml> because if I swap the first two lines it's fine
<gargaml> but I don't find a counter example where it would fail in this case
<gargaml> (it's a type error about the scope of t)
<malvarez> Yes, that's correct
<malvarez> It's because the type t is defined after defining l
happy4crazy has joined #ocaml
<malvarez> So when the compiler infers that the type of l is t list ref, it sees that the type t is not in scope at that point
<gargaml> yes, but is there a theoretical limitation or it's just implementation dependent
<malvarez> In this case it's implementation dependent, I believe, there's no reason why it shouldn't typecheck
<malvarez> But in the general case, it's not.
<gargaml> (it's weakly polymorphic so whatever the type of the value, it should be fine, isn't it)
<gargaml> ok
<gargaml> thanks :-)
<def-lkb> malvarez: try to write a module signature :)
popugaeva has joined #ocaml
<malvarez> So, in the general case t might not be visible within the scope of l
<malvarez> If that code typechecked, the type t would escape its boundaries, which is more or less the type error you get
<malvarez> (assuming, of course, the function add was actually used within the module Foo)
<malvarez> def-lkb: but in the particular case gargaml was talking about, there would be no damage done, right?
popugaeva has quit [K-Lined]
sheijk has joined #ocaml
<malvarez> Wait, nevermind, the code I submitted actually does typecheck
<malvarez> It doesn't if you change 'type t = int' to 'type t = A'
<malvarez> I'm actually quite surprised
<gargaml> could it be related to a problem of abstract type where the representation could be known from the outside ?
happy4crazy has quit []
zpe has joined #ocaml
<malvarez> gargaml: yeah, that's the reason why it's not supposed to work with 'type t = A', because t is private
<gargaml> ok so the particular case where it works is just a kind of collateral effect
<gargaml> (well where it should work on the previous piece of code)
wwilly has joined #ocaml
tulloch has quit [Ping timeout: 264 seconds]
zpe has quit [Ping timeout: 248 seconds]
<malvarez> I think so, yes
dant3 has quit []
<whitequark> by the way, what is the problem related to non-injectivity of abstract types which prevents them from being used in GADTs?
<gargaml> great, thanks
<def-lkb> malvarez: there would be no damage… yes, a lot of rejected programs would do no damage, but in this case there is not even a way to write down the type of the environement
<toordog> The selinux message i received in my log related to the ocaml_fl_allocate is linked to the stack size limits
<def-lkb> ah yes… a stack overflow can lead to that kind of backtrace :/
<malvarez> def-lkb: of course you're right. But in Haskell, for example, you can use types that are declared in the same file, even if they haven't been declared yet
struktured has joined #ocaml
rz has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
mort___ has quit [Quit: Leaving.]
kyrylo has quit [Ping timeout: 264 seconds]
jdbuys has quit [Quit: Try HydraIRC -> http://www.hydrairc.com <-]
Arsenik has quit [Remote host closed the connection]
djcoin has quit [Quit: WeeChat 0.4.1]
stevej has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
Xenasis has quit [Remote host closed the connection]
<orbitz> ./ocp-build -help
<orbitz> tput: No value for $TERM and no -T specified
<orbitz> well that's rude
<toordog> i think we put our finger on it. Thanks guys :)
struktured has quit [Ping timeout: 260 seconds]
rand000 has quit [Quit: leaving]
<toordog> it is important to set the stack size in linux to minimum 8M to works with ocaml
<toordog> this is official from ocaml 3.12 + documentation. *They suggest more than 4M, but 8M is conservative and probably better value to set*
<toordog> bash: ulimit -s 819200 or set /etc/security/limits.conf and add a line: *softstack 819200
<toordog> ouch IRC cut some line: * soft stack 819200
<toordog> damn IRC :P
<toordog> hope it helps somebody else
struktured has joined #ocaml
<adrien> oh, right, looks like a fairly specific environment
jao has quit [Read error: Connection reset by peer]
<toordog> adrien, any Fedora 18+ or RH linux 5.x +
<toordog> or any linux enforcing Selinux or a limits on stack size
<toordog> doesn't affect windows :P
<adrien> hmm, quite surprising
<adrien> I would have thought rwmjones would have stumbled on it
<adrien> but fedora 18 is not _that_ old
<adrien> ocaml should probably check the stack setting
<adrien> s/setting/limit/
dsheets has joined #ocaml
<dsheets> burn it all to the ground
wwilly has quit [Quit: Leaving]
strobegen has quit [Quit: Leaving.]
<dsheets> we should program in forth
<dsheets> every moment you give to open source is a moment you sacrifice to your users
<malvarez> I partially agree with the forth thing
<vbmithr> philosphical
<dsheets> every pursuit is suicide
<dsheets> nothing is free
ulfdoz has quit [Ping timeout: 250 seconds]
<vbmithr> :)
<toordog> every moment spent on code is a moment lost in your life ... unless if your goal in life is to sacrifice it to the benefit of other. *that would make all coder "Saint" ;)
watermind has joined #ocaml
<toordog> Should write to the pope about that :P
<dsheets> if code is law, open source is patriotism to a transparent government
<dsheets> if the machine eats you, only your ossifications are remembered but they are remember forever
<toordog> if everything human made or human managed were following computer geek way of life, the world would be a better place. For me it looks like computer geek are in advance on the rest of the society
<dsheets> burn it all to the ground
<dsheets> i hope some nsa thug reads this in 2020 and interns me, fuck it
<vbmithr> Why would they read this in 2020 ? :)
<dsheets> sall logged
<vbmithr> Rather than now, that is
<toordog> dear {case 'pope': print "Pope";; 'archivesque': print "Archivesque";; esac} if coder == "sacrifice to the benefit of other" then make me saint fi
<toordog> :P
<dsheets> nothing can touch us. if it gets too bad, die
<dsheets> what a game
<toordog> if you are a saint, they cannot jail you :P
<toordog> without making you a martyr
<dsheets> they cannot jail your spirit anyway
<malvarez> there's such a thing as martyrdom, though...
<dsheets> a martyr requires an audience with power
<toordog> yep but a martyr spirit is stronger and more powerful than any weapon or power
<vbmithr> haha do you think so ?
<toordog> no it only requires an audience that will communicate the info
<dsheets> and what if they just crush you? what if we are bulldozed and destroyed by attrition?
<vbmithr> anonymous martyrs are not martyrs ?
<toordog> dsheets powerful people are powerful because they are in limited number
<dsheets> and if no audience exists which has simultaneously the will and the reach to martyr you?
<toordog> by definition you are no more powerful than another if he is as powerful as you.
<malvarez> then you're a normal person
<toordog> that mean that number is more powerful than any low number of powerful peopel
shinnya has joined #ocaml
<Drup> is foss still the subject of this discussion ? I'm not really interested, just curious =')
<toordog> power is illusion anyway, it's only defined by how the other people respect your notion of power.
<dsheets> but they must hold beliefs together... popularly
<malvarez> was foss ever the subject of this discussion?
<dsheets> only tangentially
<malvarez> exactly
<malvarez> a means to an end
<toordog> anyway out to get home :)
<dsheets> who are you in 50 years? 100 years? your commit history?
<malvarez> you're dead, so who cares
<toordog> see ya, and malwarez i doubt it ever been :P
<mfp_> 6:24 And the LORD said unto Satan, Hast thou considered my servant Job, that there is a “vertical” barrier that gives us the power to model systems composed of objects
mfp_ is now known as mfp
<malvarez> what are these...these 'objects' you speak of?
<dsheets> they're mostly like types
<dsheets> they live with morphisms in these notions of categories
<vbmithr> Ok, I'm convinced by the martyr argument
<dsheets> where are the shrines?
<malvarez> i'm sleepy
<dsheets> sleep and wake with a new passion
gargaml has quit [Quit: WeeChat 0.4.2]
<malvarez> it's more like 'sleep and wake tired and grumpy and with a headache'
<dsheets> please, take care of yourself and find peace
milosn has quit [Ping timeout: 250 seconds]
mreca has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<malvarez> sleep is for weaklings anyways
darkf has joined #ocaml
<malvarez> imma go do javascript
<dsheets> sounds like hell
asmanur has quit [Ping timeout: 272 seconds]
asmanur has joined #ocaml
<malvarez> it's basically like hell, with less-defined scoping rules
travisbrady has quit [Quit: travisbrady]
<dsheets> fight valiantly, dear knight
<malvarez> and Nietzsche said, be careful when you fight the monsters, lest you develop an appreciation for dynamic scoping
fds has quit [Ping timeout: 260 seconds]
<companion_cube> oh well, cartesian product of enums wasn't so hard after all :]
asmanur has quit [Ping timeout: 246 seconds]
balouis has quit [Ping timeout: 252 seconds]
asmanur has joined #ocaml
fds has joined #ocaml
balouis has joined #ocaml
groovy2shoes has joined #ocaml
<dsheets> there's no sense... just chaos. each corner of the world in order but the center in disarray. once more unto the breach
manizzle is now known as WeLoveCP
WeLoveCP is now known as manizzle
pippijn has quit [Ping timeout: 245 seconds]
<dsheets> wmeyer come back
WraithM_ has quit [Ping timeout: 245 seconds]
pippijn has joined #ocaml
<dsheets> come back come bnac=j come bacjk goddammit where are yo u
shinnya has quit [Ping timeout: 260 seconds]
<dsheets> omonad
<dsheets> dom_react
<dsheets> ocamlbuild
<dsheets> dragonkit
mreca has joined #ocaml
lostcuaz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
struktured has quit [Ping timeout: 264 seconds]
tov has quit [Ping timeout: 252 seconds]
tulloch has joined #ocaml
kyrylo has joined #ocaml
zRecursive has joined #ocaml
tautologico has joined #ocaml
<whitequark> dsheets: are you a markov chain based generator?
<dsheets> aren't we all?
<whitequark> I won't consider myself "memoryless"
tulloch_ has joined #ocaml
<dsheets> do i show signs of memorylessness?
<whitequark> the preceding messages did, indeed
<dsheets> hmm sorry. i assure you they make sense with some context. i'll be quieter now.
tulloch has quit [Ping timeout: 250 seconds]
<whitequark> I'm just confused, honestly
Xenasis has joined #ocaml
<whitequark> oh.
<dsheets> so it
<dsheets> 's really too much memory
tulloch_ has quit [Ping timeout: 248 seconds]
Xenasis has quit [Read error: Connection reset by peer]
<watermind> anyone else had trouble with opam upgrade of typerep.109.55.02, when updating core_kernel?
<watermind> thanks dsheets
<watermind> was wondering if it was a problem with my system
tautologico has quit [Quit: zzz]
tautologico has joined #ocaml
kyrylo has quit [Ping timeout: 260 seconds]
madroach has quit [Ping timeout: 252 seconds]
watermind has quit [Quit: Konversation terminated!]
watermind has joined #ocaml
madroach has joined #ocaml
gnuvince has joined #ocaml
gnuvince has quit [Changing host]
gnuvince has joined #ocaml
watermind has quit [Quit: Konversation terminated!]