Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fueter core dump when posting payload size too large #6258

Closed
xchmwang opened this issue Aug 27, 2018 · 1 comment
Closed

fueter core dump when posting payload size too large #6258

xchmwang opened this issue Aug 27, 2018 · 1 comment

Comments

@xchmwang
Copy link

My Environment

  • ArangoDB Version: 3.3.14
  • Storage Engine: MMFiles
  • Deployment Mode: Single Server
  • Deployment Strategy: Manual Start (only run "arangod" on shell bash)
  • Configuration: default
  • Infrastructure: own
  • Operating System: Ubuntu 16.04
  • Used Package: Ubuntu .deb

Component, Query & Data

Affected feature:
fueter cpp driver

AQL query (if applicable):
None

AQL explain (if applicable):
None

Dataset:

Replication Factor & Number of Shards (Cluster only):

Steps to reproduce

  1. build from source code of fueter and velocypack, and install
  2. copy the example code of https://www.arangodb.com/2017/11/introduction-fuerte-arangodb-c-plus-plus-driver/

I post a slice object with large payload size.

const std::string k="hello";
const std::string v(100000, 'x');
VPackBuilder builder;
builder.openObject();
builder.add(k , VPackValue(v));
builder.close();
auto request = f::createRequest(f::RestVerb::Post, "/_api/document/blogpost"s);
request->addVPack(builder.slice());
auto result = connection->sendRequest(std::move(request));

  1. got process core dumped
    Problem:
    terminate called after throwing an instance of 'arangodb::fuerte::v1::ErrorCondition'
    Aborted (core dumped)

And I use lldb debug the problem, I got extend-bound error. I wonder if any limitation of posting payload size.

terminate called after throwing an instance of 'arangodb::fuerte::v1::ErrorCondition'
Process 121595 stopped

  • thread Changes to the README.md file #1: tid = 121595, 0x00007ffff600d428 libc.so.6gsignal + 56, name = 'a.out', stop reason = signal SIGABRT frame #0: 0x00007ffff600d428 libc.so.6gsignal + 56
    libc.so.6`gsignal:
    -> 0x7ffff600d428 <+56>: cmpq $-0x1000, %rax ; imm = 0xFFFFFFFFFFFFF000
    0x7ffff600d42e <+62>: ja 0x7ffff600d450 ; <+96>
    0x7ffff600d430 <+64>: rep
    0x7ffff600d431 <+65>: retq
    (lldb) bt
    error: a.out 0x0000009d: DW_TAG_member '_M_local_buf' refers to type 0x00020450 which extends beyond the bounds of 0x00000095
    error: a.out 0x000061a0: DW_TAG_member '_M_pod_data' refers to type 0x00020450 which extends beyond the bounds of 0x00006187
    error: a.out 0x000c14dc: DW_TAG_member '__size' refers to type 0x000c14f3 which extends beyond the bounds of 0x000c1457
  • thread Changes to the README.md file #1: tid = 121595, 0x00007ffff600d428 libc.so.6`gsignal + 56, name = 'a.out', stop reason = signal SIGABRT
    • frame #0: 0x00007ffff600d428 libc.so.6gsignal + 56 frame #1: 0x00007ffff600f02a libc.so.6abort + 362
      frame Segmentation Fault auf dem Mac #2: 0x00007ffff695084d libstdc++.so.6__gnu_cxx::__verbose_terminate_handler() + 365 frame #3: 0x00007ffff694e6b6 libstdc++.so.6??? + 6
      frame JSON.stringify #4: 0x00007ffff694e701 libstdc++.so.6std::terminate() + 17 frame #5: 0x00007ffff694e919 libstdc++.so.6__cxa_throw + 105
      frame Added actions to admin #6: 0x0000000000429cb8 a.outarangodb::fuerte::v1::Connection::sendRequest(this=0x0000000000771940, request=unique_ptr<arangodb::fuerte::v1::Request, std::default_delete<arangodb::fuerte::v1::Request> > @ 0x00007fffffffe0e0) + 374 at connection.cpp:61 frame #7: 0x0000000000410e3d a.outtest_4(int) + 708
      frame Struktur der Dokumentation #8: 0x0000000000412249 a.outmain + 112 frame #9: 0x00007ffff5ff8830 libc.so.6__libc_start_main + 240
      frame Actions #10: 0x0000000000410089 a.out`_start + 41

Expected result:

@xchmwang
Copy link
Author

It's the problem of Fuerte. When I use branch makeFuerteGreateAgain, it works well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants