[ 
https://issues.apache.org/jira/browse/PROTON-1371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15729604#comment-15729604
 ] 

ASF subversion and git services commented on PROTON-1371:
---------------------------------------------------------

Commit 1c7e70a28e547a393eea0522290d95d5d38fb7fd in qpid-proton's branch 
refs/heads/master from [~astitcher]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=1c7e70a ]

PROTON-1371: [C++ binding] Change container implementation to use handle-body
- This avoids the problem of a virtual member functions in the vtable being
  different depending on whether compiled with C++11 or C++03.


> proton::container::schedule crashes when mixing different language versions
> ---------------------------------------------------------------------------
>
>                 Key: PROTON-1371
>                 URL: https://issues.apache.org/jira/browse/PROTON-1371
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: cpp-binding
>    Affects Versions: 0.14.0
>            Reporter: Andrew Stitcher
>            Assignee: Andrew Stitcher
>            Priority: Blocker
>             Fix For: 0.16.0
>
>
> If you have a libqpid-proton-cpp compiled with C\+\+11 and then link to it 
> using a C\+\+03 and use the {{proton::container::schedule}} API then the 
> application will crash. This is because there is an extra virtual function 
> present in the middle of the C\+\+11 vtable compared to the C\+\+03 vtable. 
> So that when used from '03 the wrong member function gets called.
> The extra member function is present because of conditional compilation 
> dependent on the C\+\+ version doing the compilation.
> This should also be a problem the other way round too, so using a 
> libqpid-proton-cpp compiled with C\+\+03 from C\+\+11 will cause there to be 
> one fewer entry in the vtable, and using schedule will either get the wrong 
> version of schedule or call an entry of the end of the vtable.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to