digitalmars.D.learn - seg fault, now what?
- Ryan (12/12) Sep 17 2016 Is there an alternative to reporting bugs via bugzilla?
- Stefan Koch (2/14) Sep 17 2016 Post the program somewhere otherwise we cannot help.
- Ryan (94/112) Sep 17 2016 import std.experimental.allocator;
- Steven Schveighoffer (5/10) Sep 19 2016 Slightly OT, but with a gmail/yahoo address, generally the spam filter
- Kagamin (2/4) Sep 19 2016 mailmetrash.com :)
Is there an alternative to reporting bugs via bugzilla? I tried to open an account, but they recommend not using your main e-mail address because it will be posted to the web for all the spammers to find. But I don't have another e-mail address, and it seems a bit much to create a fake e-mail account for a few bug reports. I also tried to post to the threads about bugs, but they are all bugzilla archives. I've narrowed it down to a pretty simple little program that demonstrates the bug, and even tried it on DMD/LDC2, for mac, ubuntu, and windows 10. Thanks,
Sep 17 2016
On Saturday, 17 September 2016 at 21:12:08 UTC, Ryan wrote:Is there an alternative to reporting bugs via bugzilla? I tried to open an account, but they recommend not using your main e-mail address because it will be posted to the web for all the spammers to find. But I don't have another e-mail address, and it seems a bit much to create a fake e-mail account for a few bug reports. I also tried to post to the threads about bugs, but they are all bugzilla archives. I've narrowed it down to a pretty simple little program that demonstrates the bug, and even tried it on DMD/LDC2, for mac, ubuntu, and windows 10. Thanks,Post the program somewhere otherwise we cannot help.
Sep 17 2016
On Saturday, 17 September 2016 at 21:44:22 UTC, Stefan Koch wrote:On Saturday, 17 September 2016 at 21:12:08 UTC, Ryan wrote:import std.experimental.allocator; import std.experimental.allocator.gc_allocator; import std.experimental.allocator.mallocator; import std.experimental.allocator.building_blocks; import std.stdio; import std.range; struct S { // The allocator used for this instance private IAllocator myAlloc; // My payload private double[] _payload; // No empty payloads allowed disable this(); // Create an initialized payload this(size_t sz, double init, IAllocator alloc = theAllocator) { // Set the allocator first! myAlloc = alloc; _payload = myAlloc.makeArray!double(sz, init); assert(_payload, "Failed allocation..."); assert(_payload.length == sz, "Something is awry."); assert(_payload[0] == init, "Copy failed."); assert(_payload[$-1] == init, "Copy failed."); } // postblit - deep copy payload - I have an implementation for this, but it // is not needed to demo seg fault.... disable this(this); // Destructor to return memory ~this() { // No way _payload is null assert(_payload, "_payload is null"); // So give it back, I'm done with it for now myAlloc.dispose(_payload); } // Something to do with the object void ack() { writeln("ack"); stdout.flush(); } // Lots of other stuff..... // . // . // . } void main() { // Always works foreach(i; iota(1,5_000)) { writef("Doing default %d...", i); stdout.flush(); S s = S(i, i*i); s.ack(); } // Always works IAllocator alloc = allocatorObject(GCAllocator.instance); foreach(i; iota(1,5_000)) { writef("Doing GCAllocator %d...", i); stdout.flush(); S s = S(i, i*i, alloc); s.ack(); } // Always works alloc = allocatorObject(Mallocator.instance); foreach(i; iota(1,5_000)) { writef("Doing Mallocator %d...", i); stdout.flush(); S s = S(i, i*i, alloc); s.ack(); } // This one will seg fault on linux/mac/ldc2 win, not dmd windows. Why? auto ft = FreeTree!Mallocator(); alloc = allocatorObject(&ft); foreach(i; iota(1,5_000)) { writef("Doing FreeTree!Mallocator %d...", i); stdout.flush(); S s = S(i, i*i, alloc); s.ack(); } // This one will seg fault on linux/mac/ldc2 win, not dmd windows. Why? auto ft2 = FreeTree!GCAllocator(); alloc = allocatorObject(&ft2); foreach(i; iota(1,5_000)) { writef("Doing FreeTree!GCAllocator %d...", i); stdout.flush(); S s = S(i, i*i, alloc); s.ack(); } }Is there an alternative to reporting bugs via bugzilla? I tried to open an account, but they recommend not using your main e-mail address because it will be posted to the web for all the spammers to find. But I don't have another e-mail address, and it seems a bit much to create a fake e-mail account for a few bug reports. I also tried to post to the threads about bugs, but they are all bugzilla archives. I've narrowed it down to a pretty simple little program that demonstrates the bug, and even tried it on DMD/LDC2, for mac, ubuntu, and windows 10. Thanks,Post the program somewhere otherwise we cannot help.
Sep 17 2016
On 09/17/2016 11:58 PM, Ryan wrote:On Saturday, 17 September 2016 at 21:44:22 UTC, Stefan Koch wrote:[...][... code ...] Reduced and filed: https://issues.dlang.org/show_bug.cgi?id=16506Post the program somewhere otherwise we cannot help.
Sep 17 2016
On Saturday, 17 September 2016 at 22:48:49 UTC, ag0aep6g wrote:On 09/17/2016 11:58 PM, Ryan wrote:Wow. Thank you.On Saturday, 17 September 2016 at 21:44:22 UTC, Stefan Koch wrote:[...][... code ...] Reduced and filed: https://issues.dlang.org/show_bug.cgi?id=16506Post the program somewhere otherwise we cannot help.
Sep 17 2016
On 9/17/16 5:12 PM, Ryan wrote:Is there an alternative to reporting bugs via bugzilla? I tried to open an account, but they recommend not using your main e-mail address because it will be posted to the web for all the spammers to find. But I don't have another e-mail address, and it seems a bit much to create a fake e-mail account for a few bug reports.Slightly OT, but with a gmail/yahoo address, generally the spam filter is quite good. I've used my yahoo address for years on bugzilla and this forum, and never had adverse spamming issues. -Steve
Sep 19 2016
On Saturday, 17 September 2016 at 21:12:08 UTC, Ryan wrote:But I don't have another e-mail address, and it seems a bit much to create a fake e-mail account for a few bug reports.mailmetrash.com :)
Sep 19 2016