You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Charlie Black (Jira)" <ji...@apache.org> on 2019/10/23 18:09:00 UTC

[jira] [Updated] (GEODE-7342) PutAll Crashes in this sample app

     [ 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)