Hi Dmitry,

I think you meant 2**61 rather than 2^61. In Python, ^ is the XOR operator,
so 2^61 would be 63, a rather low limit. :)

-Kenton

On Thu, Jun 9, 2016 at 8:55 AM, Dmitry Chichkov <[email protected]> wrote:

> It looks like that with capnp 0.5.3 / current pycapnp from pip, the
> traversal limit setting from Python is broken.
>
> The following code that attempts to access 500Mb file:
>    dataset = dataset_capnp.Dataset.read(open(sys.argv[1]),
> traversal_limit_in_words = 2^61)
>
> Fails with:
>    Traceback (most recent call last):
>   File "./display.py", line 41, in <module>
>     dataset = dataset_capnp.Dataset.read(open(sys.argv[1]),
> traversal_limit_in_words = 2^61)
>   File "capnp/lib/capnp.pyx", line 2885, in
> capnp.lib.capnp._StructModule.read (capnp/lib/capnp.cpp:61419)
>   File "capnp/lib/capnp.pyx", line 3399, in
> capnp.lib.capnp._StreamFdMessageReader.__init__ (capnp/lib/capnp.cpp:68129)
> capnp.lib.capnp.KjException: src/capnp/serialize.c++:179: failed: expected
> totalWords <= options.traversalLimitInWords; Message is too large.  To
> increase the limit on the receiving end, see capnp::ReaderOptions.
> stack: 0x7fd2148f1ec9 0x7fd2148f57ed 0x7fd214d84044 0x7fd2155980eb
> 0x5039eb 0x7fd2155965e2 0x499be5 0x4a1634 0x44e4a5 0x44ec9f 0x44f904
> 0x7fd2169eaec5 0x578c4e
>
>
> Is there a way to disable traversal limit permanently for a given .capnp
> file?    Or, if possible, disable it permanently across the library?
>
> Thanks,
> Dmitry
>
> P.S.   Having traversal limit doesn't make any sense at all for our
> application. We just read data from previously generated files....
> P.P.S.  Enabling it by default for 0.4 -> 0.5 had broken code for us. It
> was a nasty surprise.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Cap'n Proto" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> Visit this group at https://groups.google.com/group/capnproto.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Cap'n Proto" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/capnproto.

Reply via email to