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

Build issue #1

Open
wants to merge 32 commits into
base: master
Choose a base branch
from
Open

Build issue #1

wants to merge 32 commits into from

Conversation

lehecka
Copy link
Owner

@lehecka lehecka commented May 19, 2017

No description provided.

benjchristensen and others added 30 commits May 16, 2017 08:13
Reorganized folders to have main public APIs in the top folder and everything else in sub-folders.
* fixing memory leaking tests

* fixing benchmarks
* fixing compiler issues for gcc 6.0

* fixing more warnings
* fixing compiler issues for gcc 6.0

* make Debug build mode with ASAN default

* enabling default debug build only in APPLE development
* simplify ResumeCache

* add to activeStreams only on REQUEST_STREAM

* preserve channels and request_response

* reuse code
* make Debug build mode with ASAN default

* fixing broken test

* reverting CMakeList.txt changes
* ReactiveSocket.h removed from /src

... but it's copy/pasted into /test and still used by tests and tck which will need to be dealt with later

* TODOs and renaming

* RSocketServer holding Executor

* Fix unit test
It's not a payload. And it's got things for Setup and Resume.
ReactiveSocket -> RSocket & other file reorg
* Purge Obsolete Unit Tests

Most tests are now obsolete as they use old Subscriber/Subscription types and old ReactiveSocket.h APIs.
It was decided that it is much easier to clean house and rewrite new unit tests against the new APIs, so purging and will start rewriting over next couple days (after a few more API changes this purge make easier).

* Travis & Tests

- no more separate rsocket_tests
- yarpl is no longer in the experimental folder
It has never worked for the yarpl tests, so I'm confused as to why it was
enabled.  Here's what I get 100% of the time when running yarpl/yarpl-tests:

$ ./yarpl/yarpl-tests
[==========] Running 51 tests from 7 test cases.
[----------] Global test environment set-up.
[----------] 17 tests from Observable
[ RUN      ] Observable.SingleOnNext
[       OK ] Observable.SingleOnNext (98 ms)
[ RUN      ] Observable.MultiOnNext
[       OK ] Observable.MultiOnNext (0 ms)
[ RUN      ] Observable.OnError
[       OK ] Observable.OnError (0 ms)
ASAN:DEADLYSIGNAL
=================================================================
==69355==ERROR: AddressSanitizer: SEGV on unknown address 0x61100007f740 (pc 0x000100b2c207 bp 0x7fff5f4fe260 sp 0x7fff5f4fe230 T0)
    #0 0x100b2c206 in testing::TestCase::GetMutableTestInfo(int) (yarpl-tests:x86_64+0x10042b206)
    #1 0x100b2c57e in testing::TestCase::Run() (yarpl-tests:x86_64+0x10042b57e)
    #2 0x100b3ab5b in testing::internal::UnitTestImpl::RunAllTests() (yarpl-tests:x86_64+0x100439b5b)
    rsocket#3 0x100b6a5f9 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (yarpl-tests:x86_64+0x1004695f9)
    rsocket#4 0x100b3a566 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (yarpl-tests:x86_64+0x100439566)
    rsocket#5 0x100b3a417 in testing::UnitTest::Run() (yarpl-tests:x86_64+0x100439417)
    rsocket#6 0x10070344e in RUN_ALL_TESTS() (yarpl-tests:x86_64+0x10000244e)
    rsocket#7 0x10070321f in main (yarpl-tests:x86_64+0x10000221f)
    rsocket#8 0x7fffc67b8234 in start (libdyld.dylib:x86_64+0x5234)

==69355==Register values:
rax = 0x00006110000098c0  rbx = 0x00007fff5f4fe840  rcx = 0x000000000000ebd0  rdx = 0x000000000000ebd0
rdi = 0x000061200000b000  rsi = 0x0000000000000012  rbp = 0x00007fff5f4fe260  rsp = 0x00007fff5f4fe230
 r8 = 0x0000000000000000   r9 = 0x000000010298b760  r10 = 0x0000000000000000  r11 = 0x0000000000012068
r12 = 0x0000000000000000  r13 = 0x0000000000000000  r14 = 0x0000000000000000  r15 = 0x0000000000000000
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (yarpl-tests:x86_64+0x10042b206) in testing::TestCase::GetMutableTestInfo(int)
==69355==ABORTING
[1]    69355 abort      ./yarpl/yarpl-tests
Needed this change to build yarpl on Arch Linux, otherwise the thread scheduler
code fails to link.
Seems like we need to close it in ~RSocketRequester.  LSAN warnings stop for me
locally, but I'm not 100% sure of the logic here.
Missing gflags includes strikes again
* Adding automatic thread scheduling for application code calls

* formatting

* formatting

* adding comments
- failing tests related to Single that Ondrej will help with
- and fixed Flowables::range to match other ReactiveX implementations. it is {start, count} not {start, end}
* fixing yarpl tests

* fixing build

* polishing..

* fixing tests
* TcpDuplexConnection supports multiple calls to getOutput/setInput

* move setup and resume frame handling from StandardReactiveSocket to ConnectionAutomaton

* rebasing

* fixing resume server test

* fixing build after merge
lehecka and others added 2 commits May 18, 2017 21:28
* move setup and resume frame handling from StandardReactiveSocket to ConnectionAutomaton

* Flowables::fromGenerator operator

* fixing reference cycle after cancel

* addressing feedback

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

Successfully merging this pull request may close these issues.

3 participants