Comments (2)
So the issue boils down to the way shared pointers are copied, this fixes the issue...but without calling the constructor each time for the FIFO element it'll segfault. The relevant section of the C++ memory header file is attached via screen shot below. Interestingly running this inside a debugger magically fixes the issues.
#include
#include
#include
int
main( int argc, char **argv )
{
std::shared_ptr< std::uint32_t > x = std::make_shared< std::uint32_t >();
*x = 100;
char data = (char) malloc( sizeof( char ) * sizeof( x ) );
#ifdef REPLICATE
auto test( reinterpret_cast< std::shared_ptr< std::uint32_t > >( data ) );
#else //FIX
auto test( new ( data ) std::shared_ptr< std::uint32_t >() );
#endif
/* should segfault **/
*test = x;
std::cout << x.use_count() << "\n";
std::cout << test->use_count() << "\n";
return( EXIT_SUCCESS );
}
from raftlib.
Solution to this bug is to use a template function specialization with std::enable_if for object types so that non POD will have the default in-place constructor called to initialize any data members that could potentially be needed....but that's just a first take something far simpler should fix this......
from raftlib.
Related Issues (20)
- Make include guards unique HOT 2
- update qthreads version HOT 1
- fix cmake required version warnings
- namespace collision with common name in units.hpp header
- Debug detailed Info HOT 3
- Clarification around work generation of GPUs and CPUs
- Compiling on Windows HOT 9
- Can't get stream operators to work HOT 6
- Download all submodules with code zip download HOT 1
- rbzip2 with Qthreads hanging/crashing HOT 4
- Map having no data source (a kernel has input only) could trigger segfault when execution starts. HOT 1
- File not found error for "hh.hpp" during raftlib compilation using pkgconfig HOT 5
- No such file or directory error for "raftutility". (example1.cc:9:10: fatal error: raftutility: No such file or directory) HOT 3
- Leading _kset_ to _kset_ join operator fails to parse in DSL HOT 1
- The const_map inilization could be deferred to when map execution settings are available
- CPU Consumption in a dormant system HOT 3
- hh.hpp file not found while compiling poc.cpp example HOT 1
- Unable to build v2020.07.01 from source - missing include file HOT 6
- Set task execution to happen on the main thread
- How to limit maximum capacity of a port?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from raftlib.