From: "Török Edwin" <edwintorok@gmail.com>
To: caml-list@inria.fr
Subject: Re: [Caml-list] Array.make exception and parser
Date: Tue, 04 Jan 2011 16:57:00 +0200 [thread overview]
Message-ID: <4D23353C.8020803@gmail.com> (raw)
In-Reply-To: <AANLkTinYBmZV94CpJsAN4sg94UYJayxrMZyW+LPm46HW@mail.gmail.com>
On 2011-01-04 15:41, Jean Krivine wrote:
> Hi all,
>
> I am encountering a weird problem, I am trying to parse a very large file
> (around 1.2 GB) according to a grammar defined in ocamlyacc.
On a 32-bit or 64-bit architecture?
> During the parsing I get the exception
>
> Invalid_argument "Array.make".
>
> This is strange because I am not using any array.
You can try calling 'Printexc.record_backtrace true' on startup, and
compile with -g. If you compile to bytecode the stacktrace will usually
be better, but that is not always accurate either.
Another way is to run your bytecode in ocamldebug, and use 'backstep'
from the point where exception is raised.
> My guess it that a big chunk of the file I am parsing is matching a non
> terminal, something like
>
> rule:
> non_term END {blah};
>
> where non_term is going to be 1GB of characters. Does anyone know what
> could be raising the exception ?
Trying to allocate a too big array:
#ifdef ARCH_SIXTYFOUR
#define Max_wosize (((intnat)1 << 54) - 1)
#else
#define Max_wosize ((1 << 22) - 1)
#endif
if (wsize > Max_wosize) caml_invalid_argument("Array.make");
>
> Thanks!
> J
>
next prev parent reply other threads:[~2011-01-04 14:57 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-04 13:41 Jean Krivine
2011-01-04 14:56 ` Daniel Bünzli
2011-01-04 14:57 ` Daniel Bünzli
2011-01-04 14:57 ` Török Edwin [this message]
2011-01-04 15:14 ` Jean Krivine
2011-01-04 15:31 ` Daniel Bünzli
2011-01-04 16:22 ` Yitzhak Mandelbaum
2011-01-04 16:42 ` Daniel Bünzli
2011-01-04 17:03 ` Yitzhak Mandelbaum
2011-01-04 17:04 ` Jean Krivine
2011-01-04 17:22 ` Daniel Bünzli
2011-01-04 15:38 ` bluestorm
2011-01-04 17:43 ` Jean Krivine
[not found] ` <1125074892.441923.1294163043602.JavaMail.root@zmbs2.inria.fr>
2011-01-04 17:53 ` Francois Pottier
[not found] ` <1259991756.440008.1294155536392.JavaMail.root@zmbs2.inria.fr>
2011-01-04 17:45 ` Francois Pottier
2011-01-04 19:30 ` Daniel Bünzli
2011-01-04 19:52 ` Yitzhak Mandelbaum
2011-01-04 20:36 ` Daniel Bünzli
[not found] ` <1263353434.442766.1294169448342.JavaMail.root@zmbs2.inria.fr>
2011-01-04 20:31 ` Francois Pottier
2011-01-04 20:40 ` Lukasz Stafiniak
2011-01-04 21:03 ` Török Edwin
2011-01-05 3:24 ` Yitzhak Mandelbaum
2011-01-05 14:12 ` Boris Yakobowski
2011-01-05 21:12 ` Boris Yakobowski
2011-01-05 13:37 ` Xavier Leroy
2011-01-05 13:46 ` Jean Krivine
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D23353C.8020803@gmail.com \
--to=edwintorok@gmail.com \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox