[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2017-07-19 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

--- Comment #11 from github-bugzi...@puremagic.com ---
Commit pushed to dmd-cxx at https://github.com/dlang/druntime

https://github.com/dlang/druntime/commit/d50aba0083b03659f60c3f157a674d9846d8228f
fix Issue 14573 - classes without destructor leak monitor/mutex

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-06-17 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

--- Comment #10 from github-bugzi...@puremagic.com ---
Commit pushed to stable at https://github.com/D-Programming-Language/druntime

https://github.com/D-Programming-Language/druntime/commit/d50aba0083b03659f60c3f157a674d9846d8228f
fix Issue 14573 - classes without destructor leak monitor/mutex

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-05-20 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

github-bugzi...@puremagic.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-05-20 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

--- Comment #9 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/D-Programming-Language/druntime

https://github.com/D-Programming-Language/druntime/commit/d50aba0083b03659f60c3f157a674d9846d8228f
fix Issue 14573 - classes without destructor leak monitor/mutex

- set finalize bit when constructing the monitor

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-05-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

--- Comment #6 from Martin Nowak c...@dawg.eu ---
(In reply to safety0ff.bugz from comment #5)
 The first idea that came to mind was to add FINALIZE in _d_monitor_create,
 not sure if it'll work.

Interesting idea.

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-05-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

--- Comment #5 from safety0ff.bugz safety0ff.b...@gmail.com ---
(In reply to Martin Nowak from comment #4)
 
 I'm so tired of this reverting business, let's just fix the bug.
 We have 2 options
 
 - introduce a finalizeMonitor flag that tells the GC to only free the monitor
 - try to add a quickpath in rt_finalize2 to skip destruction, but keep the
 FINALIZE flag, even for classes without a dtor

I think introducing another flag will be overhead for little gain (flags aren't
cheap currently.)

The first idea that came to mind was to add FINALIZE in _d_monitor_create, not
sure if it'll work.

I don't have the time for a fix that will require me to check the monitor
source code, which is why I talked about reverting + comment.

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-05-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

Martin Nowak c...@dawg.eu changed:

   What|Removed |Added

   Assignee|nob...@puremagic.com|c...@dawg.eu

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-05-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

Martin Nowak c...@dawg.eu changed:

   What|Removed |Added

   Keywords||pull

--- Comment #8 from Martin Nowak c...@dawg.eu ---
https://github.com/D-Programming-Language/druntime/pull/1272

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-05-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

--- Comment #4 from Martin Nowak c...@dawg.eu ---
(In reply to safety0ff.bugz from comment #3)
 Probably best just to revert the commit in question for now and leave a
 comment in _d_newclass explaining why classes need the FINALIZE flag
 regardless.

I'm so tired of this reverting business, let's just fix the bug.
We have 2 options

- introduce a finalizeMonitor flag that tells the GC to only free the monitor
- try to add a quickpath in rt_finalize2 to skip destruction, but keep the
FINALIZE flag, even for classes without a dtor

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-05-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

--- Comment #7 from Martin Nowak c...@dawg.eu ---
(In reply to Martin Nowak from comment #6)
 Interesting idea.

Even better would be to pick up the old explicit @monitor idea and finally
implement it.
https://github.com/D-Programming-Language/dmd/pull/3547

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-05-13 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

Daniel Kozak kozz...@gmail.com changed:

   What|Removed |Added

 CC||kozz...@gmail.com

--- Comment #1 from Daniel Kozak kozz...@gmail.com ---
introduce in this commit:
https://github.com/D-Programming-Language/druntime/commit/380781c699a23a2f8d656826f7e87643605fc4bb

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-05-13 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

Martin Nowak c...@dawg.eu changed:

   What|Removed |Added

 CC||c...@dawg.eu

--- Comment #2 from Martin Nowak c...@dawg.eu ---
Sounds like the object mutexes aren't freed. They're usually explicity
destroyed when finalizing a class. Might need to collect them by the GC
separately.

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-05-13 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

safety0ff.bugz safety0ff.b...@gmail.com changed:

   What|Removed |Added

 CC||safety0ff.b...@gmail.com

--- Comment #3 from safety0ff.bugz safety0ff.b...@gmail.com ---
Probably best just to revert the commit in question for now and leave a comment
in _d_newclass explaining why classes need the FINALIZE flag regardless.

The other commit in PR #873 can stay.

--


[Issue 14573] [REG2.067] Extreme memory usage when `synchronized( object )` is used

2015-05-12 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14573

Martin Krejcirik m...@krej.cz changed:

   What|Removed |Added

   Hardware|x86_64  |All
Summary|Extreme memory usage when   |[REG2.067] Extreme memory
   |`synchronized( object )` is |usage when `synchronized(
   |used|object )` is used

--