View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0032591 | Lazarus | IDE | public | 2017-10-21 01:54 | 2018-10-02 14:06 |
Reporter | Max V. Terentiev | Assigned To | Juha Manninen | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | Linux | OS | CentOS x64 | ||
Product Version | 1.8RC5 | ||||
Summary | 0032591: Anchor docking fall with AV and hang IDE after moving Code Explorer to another place | ||||
Description | Anchor docking package fall with AV and hang IDE while moving some windows to another place. | ||||
Steps To Reproduce | 1. Install anchor docking package. 2. Create new project. 3. Drag Code explorer tab like in Drag.png screenshot 4. Drop it like in Drop.png screenshot. And you have AV error and IDE not responding. | ||||
Tags | No tags attached. | ||||
Fixed in Revision | r56143, r56156, r56349 | ||||
LazTarget | - | ||||
Widgetset | GTK 2 | ||||
Attached Files |
|
related to | 0032342 | resolved | Juha Manninen | Lazarus | anchordocking crash |
related to | 0019914 | closed | Zeljan Rikalo | Lazarus | GTK2 Notebook: Tab switching stops working, after BeginDrag |
related to | 0031895 | closed | Mattias Gaertner | Lazarus | Close button in docked ToDo list closes IDE |
related to | 0032660 | closed | Juha Manninen | Packages | Anchordoching: Loading layout twice destroys layout |
related to | 0034371 | resolved | Juha Manninen | Lazarus | AnchorDocking: crash on drag-and-dock tab page |
|
|
|
|
|
|
|
Note: IDE stop responding if I press Abort button on AV error window |
|
Just tested current trunk (revision 56140). Windows 7 work fine here. GTK2 (Linux Mint 17.3 KDE): #0 fpc_check_object at :0 0000001 ?? at :0 0000002 DOMOUSEUP(0x7fffec889770, {MSG = 514, KEYS = 0, XPOS = -149, YPOS = 196, POS = {X = -149, Y = 196}, DUMMY = 6148914689817771883, RESULT = 1}, MBLEFT) at include/control.inc:2316 0000003 WMLBUTTONUP(0x7fffec889770, {MSG = 514, KEYS = 0, XPOS = -149, YPOS = 196, POS = {X = -149, Y = 196}, DUMMY = 6148914689817771883, RESULT = 1}) at include/control.inc:2757 0000004 SYSTEM$_$TOBJECT_$__$$_DISPATCH$formal at :0 0000005 .Ld244 at :0 0000006 .Ld243 at :0 0000007 ?? at :0 0000008 ?? at :0 0000009 ?? at :0 0000010 ?? at :0 0000011 ?? at :0 0000012 ?? at :0 0000013 ?? at :0 0000014 .Ld137 at :0 0000015 ?? at :0 0000016 WNDPROC(0x7fffec889770, {MSG = 514, UNUSEDMSG = 1431655765, WPARAM = 0, LPARAM = 6148914689817771883, RESULT = 1}) at include/control.inc:2256 0000017 WNDPROC(0x7fffec889770, {MSG = 514, UNUSEDMSG = 1431655765, WPARAM = 0, LPARAM = 6148914689817771883, RESULT = 1}) at include/wincontrol.inc:5409 0000018 DELIVERMESSAGE(0x7fffec889770, 0) at lclmessageglue.pas:112 0000019 DELIVERMESSAGE(0x7fffec889770, 0) at gtk2/gtk2proc.inc:3706 0000020 DELIVERMOUSEUPMESSAGE(0x25152f0, 0x26e9080, 0x7fffec889770) at gtk2/gtk2callback.inc:2339 0000021 GTKMOUSEBTNRELEASE(0x25152f0, 0x26e9080, 0x7fffec889770) at gtk2/gtk2callback.inc:2414 0000022 ?? at :0 0000023 g_closure_invoke at :0 0000024 ?? at :0 0000025 g_signal_emit_valist at :0 0000026 g_signal_emit at :0 0000027 ?? at :0 0000028 gtk_propagate_event at :0 0000029 gtk_main_do_event at :0 0000030 ?? at :0 0000031 g_main_context_dispatch at :0 0000032 ?? at :0 0000033 g_main_context_iteration at :0 0000034 APPWAITMESSAGE(0x7ffff7f7c430) at gtk2/gtk2widgetset.inc:2434 0000035 IDLE(0x7ffff7f7bcf0, true) at include/application.inc:407 0000036 HANDLEMESSAGE(0x7ffff7f7bcf0) at include/application.inc:1277 0000037 RUNLOOP(0x7ffff7f7bcf0) at include/application.inc:1413 0000038 APPRUN(0x7ffff7f7c430, {Proc = {procedure (POINTER)} 0x7fffffffe2d0, Self = 0x7ffff7f7bcf0}) at include/interfacebase.inc:54 0000039 RUN(0x7ffff7f7bcf0) at include/application.inc:1401 0000040 main at lazarus.pp:147 Qt (Linux Mint 17.3 KDE Qt4): #0 fpc_check_object at :0 0000001 ?? at :0 0000002 CANSENDLCLMESSAGE(0x7fffdb5f47f0) at qt/qtwidgets.pas:2295 0000003 SLOTMOUSE(0x7fffdb5f47f0, 0x2575e50, 0x2df0730) at qt/qtwidgets.pas:3720 0000004 SLOTTABBARMOUSE(0x7fffdb5f47f0, 0x2575e50, 0x7fffffffd470) at qt/qtwidgets.pas:10535 0000005 EVENTFILTER(0x7fffdb5f47f0, 0x2575e50, 0x7fffffffd470) at qt/qtwidgets.pas:10608 0000006 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) at :0 0000007 QApplicationPrivate::notify_helper(QObject*, QEvent*) at :0 0000008 QApplication::notify(QObject*, QEvent*) at :0 0000009 QCoreApplication::notifyInternal(QObject*, QEvent*) at :0 0000010 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) at :0 0000011 ?? at :0 0000012 QApplication::x11ProcessEvent(_XEvent*) at :0 0000013 ?? at :0 0000014 g_main_context_dispatch at :0 0000015 ?? at :0 0000016 g_main_context_iteration at :0 0000017 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at :0 0000018 ?? at :0 0000019 QCoreApplication::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at :0 0000020 QCoreApplication_processEvents at :0 0000021 APPWAITMESSAGE(0x7ffff7f741b0) at qt/qtobject.inc:321 0000022 IDLE(0x7ffff7f73cf0, true) at include/application.inc:407 0000023 EVENTFILTER(0x7ffff7f741b0, 0x2ddd310, 0x7fffffffdfb0) at qt/qtobject.inc:766 0000024 QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) at :0 0000025 QApplicationPrivate::notify_helper(QObject*, QEvent*) at :0 0000026 QApplication::notify(QObject*, QEvent*) at :0 0000027 QCoreApplication::notifyInternal(QObject*, QEvent*) at :0 0000028 ?? at :0 0000029 ?? at :0 0000030 g_main_context_dispatch at :0 0000031 ?? at :0 0000032 g_main_context_iteration at :0 0000033 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at :0 0000034 ?? at :0 0000035 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at :0 0000036 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) at :0 0000037 QCoreApplication::exec() at :0 0000038 APPRUN(0x7ffff7f741b0, {Proc = {procedure (POINTER)} 0x7fffffffe2e0, Self = 0x7ffff7f73cf0}) at qt/qtobject.inc:299 0000039 RUN(0x7ffff7f73cf0) at include/application.inc:1401 0000040 main at lazarus.pp:147 |
|
Looks like 0032342 |
|
Maybe a result of this (I get this warning before the AV): WARNING: TAnchorDockPageControl.Destroy with LCLRefCount>0. Hint: Maybe the component is processing an event? $000000000072EF3E line 730 of lazloggerbase.pas $0000000000753FED line 127 of lclclasses.pp $00000000005F2A59 line 5081 of include/control.inc $00000000005D7F8D line 6629 of include/wincontrol.inc $0000000000675D86 line 356 of include/customnotebook.inc $0000000000430F50 $00000000013DC222 line 4489 of anchordocking.pas $00000000013DBF3C line 4456 of anchordocking.pas $00000000013D6B3A line 3500 of anchordocking.pas $00000000013D679F line 3439 of anchordocking.pas $00000000013E0B52 line 5403 of anchordocking.pas $00000000013D7F8D line 3784 of anchordocking.pas $00000000013D7B0D line 3725 of anchordocking.pas $00000000005DC4FB line 7941 of include/wincontrol.inc $00000000005E5F86 line 1733 of include/control.inc $00000000005CEB09 line 3893 of include/wincontrol.inc $00000000005BC06D line 120 of include/dragmanager.inc $00000000005BE281 line 625 of include/dragmanager.inc $00000000005BE9B6 line 728 of include/dragmanager.inc $00000000005BF049 line 823 of include/dragmanager.inc $00000000005E8207 line 2313 of include/control.inc $00000000005E9209 line 2757 of include/control.inc $000000000043147F $00000000005D3D96 line 5409 of include/wincontrol.inc $000000000083733F line 112 of lclmessageglue.pas $0000000000706A0E line 3706 of gtk2/gtk2proc.inc $000000000071B093 line 2339 of gtk2/gtk2callback.inc $000000000071B28A line 2414 of gtk2/gtk2callback.inc $00007FFFF6C9F815 $00000000025142F0 |
|
Hey, wow, finally I could reproduce it while debugging. After dragging and dropping a docked tab onto a non-docked position outside the IDE, procedure TControl.DoMouseUp is called. The control itself is TAnchorDockPageControl DoMouseUp calls : DragManager.MouseUp(Button, KeysToShiftState(Message.Keys), P.X, P.Y); which finally calls : procedure TDockPerformer.DragStop which somewhere freed all children under the dockmanager, including the original caller TAnchorDockPageControl. It is strange I could not reproduce properly earlier. I have option -gt enabled, now data in a freed object shows as $f0f0f0f0 but why it was not trapped earlier? [Edit] The actual freeing happens in procedure TAnchorDockMaster.SimplifyPendingLayouts; BT: # 0 SIMPLIFYPENDINGLAYOUTS(0x7ffff7f6bac0) at anchordocking.pas:3479 # 1 DODOCK(0x7fffe4a9b990, 0x0, {LEFT = -17, TOP = 346, RIGHT = 162, BOTTOM = 987, TOPLEFT = {X = -17, Y = 346}, BOTTOMRIGHT = {X = 162, Y = 987}, VECTOR = {-17, 346, 162, 987}}) at anchordocking.pas:4734 # 2 DOCK(0x7fffe4a9b990, 0x0, {LEFT = -17, TOP = 346, RIGHT = 162, BOTTOM = 987, TOPLEFT = {X = -17, Y = 346}, BOTTOMRIGHT = {X = 162, Y = 987}, VECTOR = {-17, 346, 162, 987}}) at include/control.inc:4657 # 3 DOCK(0x7fffe4a9b990, 0x0, {LEFT = -17, TOP = 346, RIGHT = 162, BOTTOM = 987, TOPLEFT = {X = -17, Y = 346}, BOTTOMRIGHT = {X = 162, Y = 987}, VECTOR = {-17, 346, 162, 987}}) at include/customform.inc:3080 # 4 DOFLOATMSG(0x7fffe4a9b990, 0x7fffe47d11c0) at include/wincontrol.inc:5610 # 5 DRAGSTOP(0x7fffe3b7e280, true) at include/dragmanager.inc:607 # 6 DRAGSTOP(0x7ffff7fb0300, true) at include/dragmanager.inc:728 # 7 MOUSEUP(0x7ffff7fb0300, MBLEFT, [], 105, 300) at include/dragmanager.inc:823 # 8 DOMOUSEUP(0x7fffe4bef670, {MSG = 514, KEYS = 0, XPOS = -925, YPOS = 122, POS = {X = -925, Y = 122}, DUMMY = 8060003, RESULT = 0}, MBLEFT) at include/control.inc:2313 # 9 WMLBUTTONUP(0x7fffe4bef670, {MSG = 514, KEYS = 0, XPOS = -925, YPOS = 122, POS = {X = -925, Y = 122}, DUMMY = 8060003, RESULT = 0}) at include/control.inc:2757 # 10 SYSTEM$_$TOBJECT_$__$$_DISPATCH$formal at :0 |
|
The current bug I have fixed here. Application.ReleaseComponent instead of FreeAndNil works. Now Win32 and Qt are working. Just GTK2 further deliver a mouse message for the deleted tab control. |
|
Try Application.QueueAsyncCall for deleting tab control? |
|
Calling TAnchorDockMaster.SimplifyPendingLayouts with Application.QueueAsyncCall should be enough. ... and more findings. There already is : procedure TAnchorDockMaster.AsyncSimplify(Data: PtrInt); begin FQueueSimplify:=false; SimplifyPendingLayouts; end; which is called from TAnchorDockMaster.SetQueueSimplify with: Application.QueueAsyncCall(@AsyncSimplify,0) It may be enough to replace the call to SimplifyPendingLayouts with setting property QueueSimplify:=True; |
|
@Juha: I found a other possible solution. Don't know what is better. So I assign this issue to you, so you can decide. |
|
anchordock.patch (3,198 bytes)
Index: components/anchordocking/anchordocking.pas =================================================================== --- components/anchordocking/anchordocking.pas (revision 56140) +++ components/anchordocking/anchordocking.pas (working copy) @@ -649,6 +649,7 @@ // simplification/garbage collection procedure BeginUpdate; procedure EndUpdate; + function IsReleasing(AControl: TControl): Boolean; procedure NeedSimplify(AControl: TControl); procedure NeedFree(AControl: TControl); procedure SimplifyPendingLayouts; @@ -3439,6 +3440,11 @@ SimplifyPendingLayouts; end; +function TAnchorDockMaster.IsReleasing(AControl: TControl): Boolean; +begin + Result := fNeedFree.IndexOf(AControl) >= 0; +end; + procedure TAnchorDockMaster.NeedSimplify(AControl: TControl); begin if Self=nil then exit; @@ -3460,7 +3466,7 @@ procedure TAnchorDockMaster.NeedFree(AControl: TControl); begin //debugln(['TAnchorDockMaster.NeedFree ',DbgSName(AControl),' ',csDestroying in AControl.ComponentState]); - if fNeedFree.IndexOf(AControl)>=0 then exit; + if IsReleasing(AControl) then exit; if csDestroying in AControl.ComponentState then exit; fNeedFree.Add(AControl); AControl.DisableAutoSizing{$IFDEF DebugDisableAutoSizing}(ADAutoSizingReason){$ENDIF}; @@ -3484,7 +3490,7 @@ while i>=0 do begin AControl:=TControl(fNeedSimplify[i]); if (csDestroying in AControl.ComponentState) - or (fNeedFree.IndexOf(AControl)>=0) then begin + or IsReleasing(AControl) then begin fNeedSimplify.Delete(i); Changed:=true; end else if (AControl is TAnchorDockHostSite) then begin @@ -3513,7 +3519,7 @@ // free unneeded controls for i := fNeedFree.Count - 1 downto 0 do if not (csDestroying in TControl(fNeedFree[i]).ComponentState) then - TControl(fNeedFree[i]).Free; + Application.ReleaseComponent(TComponent(fNeedFree[i])); fNeedFree.Clear; finally fSimplifying:=false; @@ -4470,6 +4476,7 @@ Site: TAnchorDockHostSite; begin if Pages=nil then exit; + if DockMaster.IsReleasing(Pages) then exit; if Pages.PageCount=1 then begin {$IFDEF VerboseAnchorDockPages} debugln(['TAnchorDockHostSite.SimplifyPages "',Caption,'" PageCount=1']); @@ -4486,7 +4493,7 @@ if SiteType=adhstPages then FSiteType:=adhstOneControl; // free Pages - FreePages; + DockMaster.NeedFree(Pages); if SiteType=adhstOneControl then SimplifyOneControl; finally Index: lcl/interfaces/gtk2/gtk2callback.inc =================================================================== --- lcl/interfaces/gtk2/gtk2callback.inc (revision 56140) +++ lcl/interfaces/gtk2/gtk2callback.inc (working copy) @@ -2339,8 +2339,8 @@ DeliverMessage(AWinControl, MessI); if MessI.Result <> 0 then begin - // issue #19914 - if GTK_IS_NOTEBOOK(Widget) then + // issue #19914 and #32591 + if GTK_IS_NOTEBOOK(Widget) and AWinControl.HandleAllocated then begin if g_object_get_data({%H-}PGObject(AWinControl.Handle),'lclnotebookdragging') <> nil then begin |
|
Thanks, I just committed my change after testing for some time. Now I got an occasional AV and memory leak when the IDE is closed, after an IDE window was docked into a tab. It is better than the earlier behavior or course. TApplication.HandleException Access violation Stack trace: $000000000132E832 line 3675 of anchordocking.pas $000000000059227F line 307 of lazmethodlist.pas $00000000006C4988 line 1991 of include/control.inc $00000000006C485E line 1959 of include/control.inc $0000000000485F69 line 1374 of include/customform.inc $00000000006CD932 line 4508 of include/control.inc $0000000000482F31 line 492 of include/customform.inc $000000000048954D line 2295 of include/customform.inc $0000000000481E51 line 183 of include/customform.inc $000000000133800B line 5487 of anchordocking.pas It happened only sometimes. Do others get it? Please test everybody. |
|
I made a clean rebuild with 56143. I further got the AV at the same position (Linux Mint 17.3 KDE GTK2 and Qt). The patch above works for win32, GTK2 and Qt (as I could test). |
|
Huh! I assigned the issue back to you, Michl. I apparently don't understand AnchorDocking code well enough. I give up. |
|
;) me too. Just debugging works fine. Do you want to revert your changes or are them always good? I have not debugged it now. |
|
You can revert what needs to be reverted. Michl, I _again_ hurried and committed poorly tested code. Now it seems that using an async call for every SimplifyPendingLayouts solves the issue. There are 3 more such calls. I will not commit it but I uploaded a patch for you to test. I have tested on Linux with both GTK2 and QT. No crashes nor memory leaks so far. When I get something working, I should calm down for 2 hours and test before committing anything. |
|
0001-AnchorDocking-Use-async-call-for-SimplifyPendingLayo.patch (1,544 bytes)
From 8926808ce9592f4170ce17e45221d415e1f98edb Mon Sep 17 00:00:00 2001 From: juha <juha.manninen62@gmail.com> Date: Sun, 22 Oct 2017 00:12:00 +0300 Subject: [PATCH] AnchorDocking: Use async call for SimplifyPendingLayouts always. --- components/anchordocking/anchordocking.pas | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/anchordocking/anchordocking.pas b/components/anchordocking/anchordocking.pas index 1981cc72..689459d5 100644 --- a/components/anchordocking/anchordocking.pas +++ b/components/anchordocking/anchordocking.pas @@ -3436,7 +3436,7 @@ begin RaiseGDBException(''); dec(fUpdateCount); if fUpdateCount=0 then - SimplifyPendingLayouts; + QueueSimplify:=True; // SimplifyPendingLayouts; end; procedure TAnchorDockMaster.NeedSimplify(AControl: TControl); @@ -3736,7 +3736,7 @@ begin try BeginUpdateLayout; try - DockMaster.SimplifyPendingLayouts; + DockMaster.QueueSimplify:=True; // SimplifyPendingLayouts; NewControl.DisableAutoSizing{$IFDEF DebugDisableAutoSizing}('TAnchorDockHostSite.ExecuteDock NewControl'){$ENDIF}; if (NewControl.Parent=Self) and (SiteType=adhstLayout) then begin @@ -6706,7 +6706,7 @@ begin if Site=nil then exit; DockMaster.RestoreLayouts.Add(DockMaster.CreateRestoreLayout(Site),true); Site.CloseSite; - DockMaster.SimplifyPendingLayouts; + DockMaster.QueueSimplify:=True; // SimplifyPendingLayouts; end; procedure TAnchorDockPageControl.MoveLeftButtonClick(Sender: TObject); -- 2.14.2 |
|
I tested win32, gtk2 and qt. Your patch works fine here. By testing, I had one AV in qt, but can't replicate it. So it looks good! I assign this issue to you for applying your work. |
|
Ok, applied. Now it gets more testing. Resolving. |
|
A regression reported in 0032660 is fixed in r56349. |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-10-21 01:54 | Max V. Terentiev | New Issue | |
2017-10-21 01:54 | Max V. Terentiev | File Added: Drag.png | |
2017-10-21 01:54 | Max V. Terentiev | File Added: Drop.png | |
2017-10-21 01:57 | Max V. Terentiev | File Added: Error.png | |
2017-10-21 01:58 | Max V. Terentiev | Note Added: 0103634 | |
2017-10-21 08:52 | Juha Manninen | Relationship added | related to 0031895 |
2017-10-21 12:00 | Michl | Note Added: 0103639 | |
2017-10-21 12:08 | Benito van der Zander | Note Added: 0103640 | |
2017-10-21 12:46 | Juha Manninen | Relationship added | related to 0032342 |
2017-10-21 14:57 | Michl | Note Added: 0103646 | |
2017-10-21 14:58 | Michl | Assigned To | => Michl |
2017-10-21 14:58 | Michl | Status | new => assigned |
2017-10-21 16:38 | Juha Manninen | Note Added: 0103649 | |
2017-10-21 16:49 | Michl | Note Added: 0103650 | |
2017-10-21 17:13 | Juha Manninen | Note Edited: 0103649 | View Revisions |
2017-10-21 17:14 | Juha Manninen | Note Edited: 0103649 | View Revisions |
2017-10-21 18:19 | Michl | Note Edited: 0103650 | View Revisions |
2017-10-21 18:24 | Andrey Zubarev | Note Added: 0103656 | |
2017-10-21 19:03 | Juha Manninen | Note Added: 0103657 | |
2017-10-21 19:03 | Juha Manninen | Note Edited: 0103657 | View Revisions |
2017-10-21 19:33 | Michl | Relationship added | related to 0019914 |
2017-10-21 20:09 | Juha Manninen | Note Edited: 0103657 | View Revisions |
2017-10-21 20:14 | Michl | Note Added: 0103659 | |
2017-10-21 20:15 | Michl | Assigned To | Michl => Juha Manninen |
2017-10-21 20:15 | Michl | File Added: anchordock.patch | |
2017-10-21 20:16 | Juha Manninen | Fixed in Revision | => r56143 |
2017-10-21 20:16 | Juha Manninen | LazTarget | => - |
2017-10-21 20:16 | Juha Manninen | Status | assigned => resolved |
2017-10-21 20:16 | Juha Manninen | Resolution | open => fixed |
2017-10-21 20:19 | Juha Manninen | Note Added: 0103660 | |
2017-10-21 20:32 | Juha Manninen | Note Edited: 0103660 | View Revisions |
2017-10-21 20:33 | Juha Manninen | Status | resolved => assigned |
2017-10-21 20:33 | Juha Manninen | Resolution | fixed => reopened |
2017-10-21 20:34 | Juha Manninen | Note Edited: 0103660 | View Revisions |
2017-10-21 20:36 | Michl | Note Added: 0103662 | |
2017-10-21 20:38 | Michl | Note Edited: 0103662 | View Revisions |
2017-10-21 20:49 | Juha Manninen | Note Edited: 0103660 | View Revisions |
2017-10-21 20:52 | Juha Manninen | Assigned To | Juha Manninen => Michl |
2017-10-21 20:54 | Juha Manninen | Note Added: 0103663 | |
2017-10-21 21:07 | Michl | Note Added: 0103664 | |
2017-10-21 22:12 | Juha Manninen | Note Added: 0103666 | |
2017-10-21 23:20 | Juha Manninen | File Added: 0001-AnchorDocking-Use-async-call-for-SimplifyPendingLayo.patch | |
2017-10-21 23:28 | Juha Manninen | Note Edited: 0103666 | View Revisions |
2017-10-21 23:31 | Juha Manninen | Note Edited: 0103666 | View Revisions |
2017-10-22 00:04 | Michl | Note Added: 0103670 | |
2017-10-22 21:55 | Michl | Assigned To | Michl => Juha Manninen |
2017-10-22 21:56 | Michl | Note Edited: 0103670 | View Revisions |
2017-10-23 00:27 | Juha Manninen | Fixed in Revision | r56143 => r56143, r56156 |
2017-10-23 00:27 | Juha Manninen | Note Added: 0103698 | |
2017-10-23 00:27 | Juha Manninen | Status | assigned => resolved |
2017-10-23 00:27 | Juha Manninen | Resolution | reopened => fixed |
2017-11-09 21:02 | Michl | Relationship added | related to 0032660 |
2017-11-10 09:19 | Juha Manninen | Status | resolved => assigned |
2017-11-10 09:19 | Juha Manninen | Resolution | fixed => reopened |
2017-11-10 10:55 | Juha Manninen | Fixed in Revision | r56143, r56156 => r56143, r56156, r56349 |
2017-11-10 10:55 | Juha Manninen | Note Added: 0103992 | |
2017-11-10 10:55 | Juha Manninen | Status | assigned => resolved |
2017-11-10 10:55 | Juha Manninen | Resolution | reopened => fixed |
2018-10-02 14:06 | Juha Manninen | Relationship added | related to 0034371 |