Comments (6)
Hi,
Could somebody propose a workaround? May be Patrick Marlier could help.
Regards.
22 02 2012, 13:11 nicity [email protected]:
GC_mark_from crashes on executable built on MacOSX Lion, which has ASLR option on
Please see detailed description at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52179
Reply to this email directly or view it on GitHub:
#13
from bdwgc.
Per garbage collection implementation fix for D language / MacOSX Lion (dlang/druntime#43) :
When ASLR is enabled, the stack address of Mac OS X is no longer fixed at 0xc000_0000 — actually, often higher than this
pthread_get_stackaddr_np() can be used to retrieve the stack start
from bdwgc.
Hi Patrick and nicity,
Patrick -
No, thank you - AICS, it is a false alarm, I fixed it a year ago without any knowledge of ASLR (stack pointer hard-coding is a bad thing, and once one man (it was Morten Hermansen) had called GC_INIT on iPad device from non-primordial thread and GC had crushed then - after that I've fixed the code to use pthread_get_stackaddr_np). See part of commit faef04e (related to STACKBOTTOM) - faef04e
nicity -
Am I right that you do not have such problem with (or haven't tested) BDWGC snapshot (or 7.2alpha6 tarball)?
Regards.
22 02 2012, 20:53 nicity [email protected]:
Per garbage collection implementation fix for D language / MacOSX Lion (dlang/druntime#43) :
When ASLR is enabled, the stack address of Mac OS X is no longer fixed at 0xc000_0000 — actually, often higher than this
pthread_get_stackaddr_np() can be used to retrieve the stack start
Reply to this email directly or view it on GitHub:
#13 (comment)
23 02 2012, 00:16 Patrick Marlier [email protected]:
Hi Ivan and Jack,
Unfortunately, I can only have an access to a darwin10 and I cannot
reproduce the bug with it. I will try to ask around me if somebody has a
darwin11. So when I get access to one, I will definitely try to have a
look at it.Regards,
Patrick.
On 02/22/2012 06:46 AM, Ivan Maidanski wrote:
Hi,
Could somebody propose a workaround? May be Patrick Marlier could help.
Regards.
22 02 2012, 13:11 [email protected]:
GC_mark_from crashes on executable built on MacOSX Lion, which has ASLR option on
Please see detailed description at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52179
Reply to this email directly or view it on GitHub:
#13
from bdwgc.
Thank you for pointing to commit of the fix!
I have patched BDWGC 7.0 and it works.
I tried to use 7.2alpha6 after encountering stack bottom problem but had a problem building it for x86 Mac in the same way as 7.0, namely exporting CXX with -arch i386 before calling configure.
from bdwgc.
Hi nicity,
Could you explain your problem with -arch in more details? Could you try the recent BDWGC snapshot? (exporting CXXFLAGS="-O2 -arch i386" should work for you but I haven't tried.)
git clone git://github.com/ivmai/bdwgc.git -b release
cd bdwgc
git clone git://github.com/ivmai/libatomic_ops.git -b release
CFLAGS="-O2 -arch i386" CXXFLAGS="-O2 -arch i386" ./configure --enable-cplusplus
make check
Regards.
23 02 2012, 23:43 nicity [email protected]:
Thank you for pointing to commit of the fix!
I have patched BDWGC 7.0 and it works.
I tried to use 7.2alpha6 after encountering stack bottom problem but had a problem building it for x86 Mac in the same way as 7.0, namely exporting CXX with -arch i386 before calling configure.
Reply to this email directly or view it on GitHub:
#13 (comment)
from bdwgc.
Thank you, setting both variables CFLAGS and CXXFLAGS worked correctly on release branch of BDWGC
from bdwgc.
Related Issues (20)
- Downstream libgc releases (Feb 2024) HOT 21
- GC hangs with "parallel mark" if using `GC_allow_register_threads()` HOT 11
- Debugging an issue with GC seemingly not happening on Emscripten/WebAssembly
- Upstream TLS support HOT 2
- How final are the finalizers? HOT 2
- Problem getting finalizers to work HOT 3
- Add examples collection of small programs showing how to use GC for varioues features and with different configurations HOT 2
- Support CHERI extension
- using extra pointer bits on x86_64 (tagged pointer support) HOT 3
- Resolve warnings reported by cppcheck 2.13.3
- rare case of infinite loop on Android HOT 9
- gctest hang on msys64 if mprotected-based incremental collection is on HOT 5
- zig-msvc target error: 'unistd.h' file not found HOT 18
- Specify soversion for shared libs built by Zig
- Unexpected heap growth in gctest if no parallel marker
- cordtest hang on Windows if shared build by Zig using msvc HOT 7
- Some Windows gnu builds hang in zig build
- gctest hang sometimes on Windows if compiled with threads discovery
- Redirect malloc_usable_size() in leak_detector.h HOT 6
- Compilation with TCC fails on ARM macs HOT 4
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 bdwgc.