[
https://issues.apache.org/jira/browse/GEODE-7342?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Charlie Black updated GEODE-7342:
---------------------------------
Description:
PutAll crashes with this sample application:
https://github.com/charliemblack/gemfire-native-client-one-two-way-ssl/tree/putAllIssue
Sample steps to run:
```
{{cd <project>/scripts
./gen_certs.sh
./startGemFireOneWaySSL.sh
cd <project>
cmake-build-debug/SampleApp certs/one-way-client-keystore.pem
certs/client-ca-certificate.pem
cmake-build-debug/SampleApp certs/one-way-client-keystore.pem
certs/client-ca-certificate.pem}}
```
I had to run the application twice. First run the region should be empty and
the second run the region has data in it.
Stack dump:
```
{{#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f74abb83801 in __GI_abort () at abort.c:79
#2 0x00007f74abbcc897 in __libc_message (action=action@entry=do_abort,
fmt=fmt@entry=0x7f74abcf9b9a "%s\n")
at ../sysdeps/posix/libc_fatal.c:181
#3 0x00007f74abbd390a in malloc_printerr (str=str@entry=0x7f74abcfb7a8
"munmap_chunk(): invalid pointer")
at malloc.c:5350
#4 0x00007f74abbdaecc in munmap_chunk (p=0x55da03e98510) at malloc.c:2846
#5 __GI___libc_free (mem=0x55da03e98520) at malloc.c:3117
#6 0x00007f74ac7805f6 in
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() [clone
.constprop.1855] ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#7 0x00007f74ac73645f in
apache::geode::client::VersionedCacheableObjectPartList::~VersionedCacheableObjectPartList()
[clone .lto_priv.2694] ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#8 0x00007f74ac7805f6 in
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() [clone
.constprop.1855] ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#9 0x00007f74ac6f0a98 in apache::geode::client::PutAllWork::~PutAllWork() ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#10 0x00007f74ac7210d3 in
std::vector<std::shared_ptr<apache::geode::client::CqQuery>,
std::allocator<std::shared_ptr<apache::geode::client::CqQuery> > >::~vector() ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#11 0x00007f74ac6efb36 in
apache::geode::client::ThinClientRegion::singleHopPutAllNoThrow_remote(apache::geode::client::ThinClientPoolDM*,
std::unordered_map<std::shared_ptr<apache::geode::client::CacheableKey>,
std::shared_ptr<apache::geode::client::Serializable>,
apache::geode::client::internal::dereference_hash<std::shared_ptr<apache::geode::client::CacheableKey>
>,
apache::geode::client::internal::dereference_equal_to<std::shared_ptr<apache::geode::client::CacheableKey>
>,
std::allocator<std::pair<std::shared_ptr<apache::geode::client::CacheableKey>
const, std::shared_ptr<apache::geode::client::Serializable> > > > const&,
std::shared_ptr<apache::geode::client::VersionedCacheableObjectPartList>&,
std::chrono::duration<long, std::ratio<1l, 1000l> >,
std::shared_ptr<apache::geode::client::Serializable> const&) ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#12 0x00007f74ac67ba8e in
apache::geode::client::LocalRegion::putAllNoThrow(std::unordered_map<std::shared_ptr<apache::geode::client::CacheableKey>,
std::shared_ptr<apache::geode::client::Serializable>,
apache::geode::client::internal::dereference_hash<std::shared_ptr<apache::geode::client::CacheableKey>
>,
apache::geode::client::internal::dereference_equal_to<std::shared_ptr<apache::geode::client::CacheableKey>
>,
std::allocator<std::pair<std::shared_ptr<apache::geode::client::CacheableKey>
const, std::shared_ptr<apache::geode::client::Serializable> > > > const&,
std::chrono::duration<long, std::ratio<1l, 1000l> >,
std::shared_ptr<apache::geode::client::Serializable> const&) ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#13 0x00007f74ac74a453 in
apache::geode::client::LocalRegion::putAll(std::unordered_map<std::shared_ptr<apache::geode::client::CacheableKey>,
std::shared_ptr<apache::geode::client::Serializable>,
apache::geode::client::internal::dereference_hash<std::shared_ptr<apache::geode::client::CacheableKey>
>,
apache::geode::client::internal::dereference_equal_to<std::shared_ptr<apache::geode::client::CacheableKey>
>,
std::allocator<std::pair<std::shared_ptr<apache::geode::client::CacheableKey>
const, std::shared_ptr<apache::geode::client::Serializable> > > > const&,
std::chrono::duration<long, std::ratio<1l, 1000l> >,
std::shared_ptr<apache::geode::client::Serializable> const&) [clone
.localalias.305] [clone .lto_priv.4223] ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#14 0x000055da023a7eb7 in main (argc=3, argv=0x7ffdb3a12568) at
/home/demo/CLionProjects/SampleApp/main.cpp:101
}}
```
was:
PutAll crashes with this sample application:
https://github.com/charliemblack/gemfire-native-client-one-two-way-ssl/tree/putAllIssue
Sample steps to run:
```
cd <project>/scripts
./gen_certs.sh
./startGemFireOneWaySSL.sh
cd <project>
cmake-build-debug/SampleApp certs/one-way-client-keystore.pem
certs/client-ca-certificate.pem
cmake-build-debug/SampleApp certs/one-way-client-keystore.pem
certs/client-ca-certificate.pem
```
I had to run the application twice. First run the region should be empty and
the second run the region has data in it.
Stack dump:
```
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f74abb83801 in __GI_abort () at abort.c:79
#2 0x00007f74abbcc897 in __libc_message (action=action@entry=do_abort,
fmt=fmt@entry=0x7f74abcf9b9a "%s\n")
at ../sysdeps/posix/libc_fatal.c:181
#3 0x00007f74abbd390a in malloc_printerr (str=str@entry=0x7f74abcfb7a8
"munmap_chunk(): invalid pointer")
at malloc.c:5350
#4 0x00007f74abbdaecc in munmap_chunk (p=0x55da03e98510) at malloc.c:2846
#5 __GI___libc_free (mem=0x55da03e98520) at malloc.c:3117
#6 0x00007f74ac7805f6 in
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() [clone
.constprop.1855] ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#7 0x00007f74ac73645f in
apache::geode::client::VersionedCacheableObjectPartList::~VersionedCacheableObjectPartList()
[clone .lto_priv.2694] ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#8 0x00007f74ac7805f6 in
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() [clone
.constprop.1855] ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#9 0x00007f74ac6f0a98 in apache::geode::client::PutAllWork::~PutAllWork() ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#10 0x00007f74ac7210d3 in
std::vector<std::shared_ptr<apache::geode::client::CqQuery>,
std::allocator<std::shared_ptr<apache::geode::client::CqQuery> > >::~vector() ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#11 0x00007f74ac6efb36 in
apache::geode::client::ThinClientRegion::singleHopPutAllNoThrow_remote(apache::geode::client::ThinClientPoolDM*,
std::unordered_map<std::shared_ptr<apache::geode::client::CacheableKey>,
std::shared_ptr<apache::geode::client::Serializable>,
apache::geode::client::internal::dereference_hash<std::shared_ptr<apache::geode::client::CacheableKey>
>,
apache::geode::client::internal::dereference_equal_to<std::shared_ptr<apache::geode::client::CacheableKey>
>,
std::allocator<std::pair<std::shared_ptr<apache::geode::client::CacheableKey>
const, std::shared_ptr<apache::geode::client::Serializable> > > > const&,
std::shared_ptr<apache::geode::client::VersionedCacheableObjectPartList>&,
std::chrono::duration<long, std::ratio<1l, 1000l> >,
std::shared_ptr<apache::geode::client::Serializable> const&) ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#12 0x00007f74ac67ba8e in
apache::geode::client::LocalRegion::putAllNoThrow(std::unordered_map<std::shared_ptr<apache::geode::client::CacheableKey>,
std::shared_ptr<apache::geode::client::Serializable>,
apache::geode::client::internal::dereference_hash<std::shared_ptr<apache::geode::client::CacheableKey>
>,
apache::geode::client::internal::dereference_equal_to<std::shared_ptr<apache::geode::client::CacheableKey>
>,
std::allocator<std::pair<std::shared_ptr<apache::geode::client::CacheableKey>
const, std::shared_ptr<apache::geode::client::Serializable> > > > const&,
std::chrono::duration<long, std::ratio<1l, 1000l> >,
std::shared_ptr<apache::geode::client::Serializable> const&) ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#13 0x00007f74ac74a453 in
apache::geode::client::LocalRegion::putAll(std::unordered_map<std::shared_ptr<apache::geode::client::CacheableKey>,
std::shared_ptr<apache::geode::client::Serializable>,
apache::geode::client::internal::dereference_hash<std::shared_ptr<apache::geode::client::CacheableKey>
>,
apache::geode::client::internal::dereference_equal_to<std::shared_ptr<apache::geode::client::CacheableKey>
>,
std::allocator<std::pair<std::shared_ptr<apache::geode::client::CacheableKey>
const, std::shared_ptr<apache::geode::client::Serializable> > > > const&,
std::chrono::duration<long, std::ratio<1l, 1000l> >,
std::shared_ptr<apache::geode::client::Serializable> const&) [clone
.localalias.305] [clone .lto_priv.4223] ()
from
/home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
#14 0x000055da023a7eb7 in main (argc=3, argv=0x7ffdb3a12568) at
/home/demo/CLionProjects/SampleApp/main.cpp:101
```
> PutAll Crashes in this sample app
> ---------------------------------
>
> Key: GEODE-7342
> URL: https://issues.apache.org/jira/browse/GEODE-7342
> Project: Geode
> Issue Type: Bug
> Components: native client
> Reporter: Charlie Black
> Priority: Major
>
> PutAll crashes with this sample application:
> https://github.com/charliemblack/gemfire-native-client-one-two-way-ssl/tree/putAllIssue
> Sample steps to run:
> ```
> {{cd <project>/scripts
> ./gen_certs.sh
> ./startGemFireOneWaySSL.sh
> cd <project>
> cmake-build-debug/SampleApp certs/one-way-client-keystore.pem
> certs/client-ca-certificate.pem
> cmake-build-debug/SampleApp certs/one-way-client-keystore.pem
> certs/client-ca-certificate.pem}}
> ```
> I had to run the application twice. First run the region should be empty
> and the second run the region has data in it.
> Stack dump:
> ```
> {{#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> #1 0x00007f74abb83801 in __GI_abort () at abort.c:79
> #2 0x00007f74abbcc897 in __libc_message (action=action@entry=do_abort,
> fmt=fmt@entry=0x7f74abcf9b9a "%s\n")
> at ../sysdeps/posix/libc_fatal.c:181
> #3 0x00007f74abbd390a in malloc_printerr (str=str@entry=0x7f74abcfb7a8
> "munmap_chunk(): invalid pointer")
> at malloc.c:5350
> #4 0x00007f74abbdaecc in munmap_chunk (p=0x55da03e98510) at malloc.c:2846
> #5 __GI___libc_free (mem=0x55da03e98520) at malloc.c:3117
> #6 0x00007f74ac7805f6 in
> std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() [clone
> .constprop.1855] ()
> from
> /home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
> #7 0x00007f74ac73645f in
> apache::geode::client::VersionedCacheableObjectPartList::~VersionedCacheableObjectPartList()
> [clone .lto_priv.2694] ()
> from
> /home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
> #8 0x00007f74ac7805f6 in
> std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() [clone
> .constprop.1855] ()
> from
> /home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
> #9 0x00007f74ac6f0a98 in apache::geode::client::PutAllWork::~PutAllWork() ()
> from
> /home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
> #10 0x00007f74ac7210d3 in
> std::vector<std::shared_ptr<apache::geode::client::CqQuery>,
> std::allocator<std::shared_ptr<apache::geode::client::CqQuery> > >::~vector()
> ()
> from
> /home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
> #11 0x00007f74ac6efb36 in
> apache::geode::client::ThinClientRegion::singleHopPutAllNoThrow_remote(apache::geode::client::ThinClientPoolDM*,
> std::unordered_map<std::shared_ptr<apache::geode::client::CacheableKey>,
> std::shared_ptr<apache::geode::client::Serializable>,
> apache::geode::client::internal::dereference_hash<std::shared_ptr<apache::geode::client::CacheableKey>
> >,
> apache::geode::client::internal::dereference_equal_to<std::shared_ptr<apache::geode::client::CacheableKey>
> >,
> std::allocator<std::pair<std::shared_ptr<apache::geode::client::CacheableKey>
> const, std::shared_ptr<apache::geode::client::Serializable> > > > const&,
> std::shared_ptr<apache::geode::client::VersionedCacheableObjectPartList>&,
> std::chrono::duration<long, std::ratio<1l, 1000l> >,
> std::shared_ptr<apache::geode::client::Serializable> const&) ()
> from
> /home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
> #12 0x00007f74ac67ba8e in
> apache::geode::client::LocalRegion::putAllNoThrow(std::unordered_map<std::shared_ptr<apache::geode::client::CacheableKey>,
> std::shared_ptr<apache::geode::client::Serializable>,
> apache::geode::client::internal::dereference_hash<std::shared_ptr<apache::geode::client::CacheableKey>
> >,
> apache::geode::client::internal::dereference_equal_to<std::shared_ptr<apache::geode::client::CacheableKey>
> >,
> std::allocator<std::pair<std::shared_ptr<apache::geode::client::CacheableKey>
> const, std::shared_ptr<apache::geode::client::Serializable> > > > const&,
> std::chrono::duration<long, std::ratio<1l, 1000l> >,
> std::shared_ptr<apache::geode::client::Serializable> const&) ()
> from
> /home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
> #13 0x00007f74ac74a453 in
> apache::geode::client::LocalRegion::putAll(std::unordered_map<std::shared_ptr<apache::geode::client::CacheableKey>,
> std::shared_ptr<apache::geode::client::Serializable>,
> apache::geode::client::internal::dereference_hash<std::shared_ptr<apache::geode::client::CacheableKey>
> >,
> apache::geode::client::internal::dereference_equal_to<std::shared_ptr<apache::geode::client::CacheableKey>
> >,
> std::allocator<std::pair<std::shared_ptr<apache::geode::client::CacheableKey>
> const, std::shared_ptr<apache::geode::client::Serializable> > > > const&,
> std::chrono::duration<long, std::ratio<1l, 1000l> >,
> std::shared_ptr<apache::geode::client::Serializable> const&) [clone
> .localalias.305] [clone .lto_priv.4223] ()
> from
> /home/demo/dev/pivotal-gemfire-native-10.0.2-build.9-Ubuntu16-64bit/pivotal-gemfire-native/lib/libpivotal-gemfire.so
> #14 0x000055da023a7eb7 in main (argc=3, argv=0x7ffdb3a12568) at
> /home/demo/CLionProjects/SampleApp/main.cpp:101
> }}
> ```
--
This message was sent by Atlassian Jira
(v8.3.4#803005)