eudaq / eudaq

EUDAQ Data Acquisition Framework
GNU Lesser General Public License v3.0
29 stars 144 forks source link

OnlineMonitor not working/tested on Windows #17

Open hperrey opened 10 years ago

hperrey commented 10 years ago

The OnlineMonitor has not yet been successfully been built/tested on Windows.

Need to accomplish:

hperrey commented 10 years ago

Status:


"C:\Users\telescope\Desktop\EUDAQ\build\INSTALL.vcxproj" (default target) (1) ->
"C:\Users\telescope\Desktop\EUDAQ\build\ALL_BUILD.vcxproj" (default target) (2) ->
"C:\Users\telescope\Desktop\EUDAQ\build\onlinemon\OnlineMon.exe.vcxproj" (default target) (11) ->
(ClCompile target) ->
  c:\root\include\TVirtualX.h(200): error C2059: syntax error : 'constant' [C:\Users\telescope\Desktop\EUDAQ\build\onlinemon\OnlineMon.exe.
vcxproj]
  c:\root\include\TVirtualX.h(200): error C2059: syntax error : 'constant' [C:\Users\telescope\Desktop\EUDAQ\build\onlinemon\OnlineMon.exe.
vcxproj]
  c:\root\include\TVirtualX.h(200): error C2059: syntax error : 'constant' [C:\Users\telescope\Desktop\EUDAQ\build\onlinemon\OnlineMon.exe.
vcxproj]
  c:\root\include\TVirtualX.h(200): error C2059: syntax error : 'constant' [C:\Users\telescope\Desktop\EUDAQ\build\onlinemon\OnlineMon.exe.
vcxproj]
  c:\root\include\TVirtualX.h(200): error C2059: syntax error : 'constant' [C:\Users\telescope\Desktop\EUDAQ\build\onlinemon\OnlineMon.exe.
vcxproj]
  c:\root\include\TVirtualX.h(200): error C2059: syntax error : 'constant' [C:\Users\telescope\Desktop\EUDAQ\build\onlinemon\OnlineMon.exe.
vcxproj]

    77 Warning(s)
    6 Error(s)
hperrey commented 10 years ago

Richard suggested to comment out TVirtualX.h Line 200 in ROOT: virtual Window_t CreateWindow(); the code compiles then, but the resulting binary crashes when trying to read in a .raw file (log level debug):

ProcessEvent 0
Warning in <TGListTreeItem::SetPictures>: opened picture not specified, defaulti
ng to ofolder_t
Warning in <TGListTreeItem::SetPictures>: closed picture not specified, defaulti
ng to folder_t
Warning in <TGListTreeItem::SetPictures>: opened picture not specified, defaulti
ng to ofolder_t
Warning in <TGListTreeItem::SetPictures>: closed picture not specified, defaulti
ng to folder_t
Warning in <TGListTreeItem::SetPictures>: opened picture not specified, defaulti
ng to ofolder_t
Warning in <TGListTreeItem::SetPictures>: closed picture not specified, defaulti
ng to folder_t
Warning in <TGListTreeItem::SetPictures>: opened picture not specified, defaulti
ng to ofolder_t
Warning in <TGListTreeItem::SetPictures>: closed picture not specified, defaulti
ng to folder_t

No further debugging has been done at this point.

arummler commented 9 years ago

@simonspa After the latest fix the OnlineMonitor compiles again but it crashes with the same sympton as described in this issue. I compiled it using Visual C++ 2013, Qt 5.5 and root_v5.34.32.win32.vc12.debug and used the debug configuration. The crash appears within ROOT after the "theApp.Run()" has been called in file "TGWin32.cxx", method "TGWin32::GetWindowSize", line "if (GDK_DRAWABLE_TYPE(id) == GDK_DRAWABLE_PIXMAP) {". Does anybody have an idea what's happening? Otherwise, I will try to put together a minimal example and post a bug report on the ROOT tracker.

runtime_err1 runtime_err2 runtime_err3 runtime_err4 runtime_err5

arummler commented 9 years ago

Okay, it seems it does no longer occur if the lines Cvs_left->MapSubwindows(); Cvs_left->MapWindow(); in void OnlineMonWindow::registerTreeItem(std::string item) are taken out. But the tree is not shown as well. Furthermore, there occur sporadically other run time errors when it is attempted to access elements beyond a vector. Solved this by replacing reserve by resize and rewriting the getWidthX and getWidthY methods of SimpleCluster. vec2 run_time_error_vector eudaq_runtime

simonspa commented 9 years ago

@arummler so if I see it correctly, with your fixes the only leftover thing is ROOT drawing the tree? Maybe this would really be a call for the ROOT bug tracker...

arummler commented 9 years ago

@simonspa I am trying to figure out a minimal example which provokes this behaviour and which in case that there is no other reason could be posted on the ROOT bug tracker. But this is a slippery bug. I tried e.g. not to create a RootMonitor object but directly an OnlineMonWindow from the main routine and to call regularly the registerTreeItem method from a dedicated TTimer. Unfortunately (or fortunately?), this works perfectly fine without any issues - a tree is shown. What I observe is that after a certain number of entries an error in the gdk library occures. If I disable the registerHisto calls in HitmapCollection::register:Plane this is still true. But even before it crashes no tree is shown. So I am a bit puzzled what the exact boundary conditions are which are necessary to provoke this. But I am still trying to corner this thing.

arummler commented 8 years ago

Reminder to self: Needs to retest

arummler commented 8 years ago

Still true