caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Segfault in C++ stub with many 'new' allocations
@ 2012-11-17 18:29 Samuel Hornus
  2012-11-17 18:35 ` Kakadu
  2012-11-17 19:46 ` Markus Mottl
  0 siblings, 2 replies; 8+ messages in thread
From: Samuel Hornus @ 2012-11-17 18:29 UTC (permalink / raw)
  To: O Caml


Dear all,

I have two questions.

1/ I'm writing a stub to the C++ ANN library [1] to find geometric neighboring points in space.
The constructor of the main class in this library uses a lot of allocation with the "new" C++ keyword.
For small input point sets (e.g. 2500 points), it all seems to work fine.
For larger ones (50 K points), the C++ constructor crashes.
My question is : is it possible that the C++ "new" allocator differs sufficiently from the C-style malloc, that bad interactions with OCaml heap happen ?

(I'm passing the input points coordinates in a plain bigarray.)

2/ Regarding bigarray: before using them, I let the C++ constructor access, and keep pointers inside regular OCaml [float array] or [float array array]. It was working well (again, for small input point set), but is that safe ? Or can the garbage collector eventually relocate the content of a  [float array]  or of a [float array array] ? so that the pointer kept in the C++ class would become dangling ?

Thank you in advance,
Sam

[1] Approximate Nearest Neighbors http://www.cs.umd.edu/~mount/ANN/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-11-17 22:45 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-17 18:29 [Caml-list] Segfault in C++ stub with many 'new' allocations Samuel Hornus
2012-11-17 18:35 ` Kakadu
2012-11-17 18:42   ` Samuel Hornus
2012-11-17 19:10     ` Török Edwin
2012-11-17 19:18       ` Samuel Hornus
2012-11-17 19:50       ` Markus Mottl
2012-11-17 19:46 ` Markus Mottl
2012-11-17 22:45   ` Samuel Hornus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).