Back Midas Rome Roody Rootana
  Root Display GUI, Page 6 of 7  Not logged in ELOG logo
ID Date Author Topic Subjectdown
  134   02 Mar 2008 Exaos LeeBug ReportROODY kills analyzer too!!
I compiled roody svn231 with ROOT 5.18.00 and gcc 4.1 on Debain Linux 4.0 (AMD64).
I tested the roody with the "examples/experiment" in MIDAS svn4124 and
encountered the following error:
Error in <TFile::TFile>: file /last.root does not exist

 *** Break *** segmentation violation

 Program received signal SIGSEGV, Segmentation fault.
 [Switching to Thread 1090525536 (LWP 17985)]
 0x00000000004114e6 in root_server_thread (arg=<value optimized out>) at src/mana.c:5333
 Current language:  auto; currently c++
 (gdb) next
 [midas.c:2416:bm_validate_client_index,ERROR] Invalid client index 1 in buffer 'SYSMSG'. Client name '', pid 0 should be 17973
 0x00002b800b8a5460 in sighandler () from /opt/ROOT/Versions/Current/lib/libCore.so.5.18
 (gdb) next
 Single stepping until exit from function _Z10sighandleri, 
 which has no line number information.
 Cannot remove breakpoints because program is no longer writable.
 It might be running in another process.
 Further execution is probably impossible.
 0x00002b800b8a546e in sighandler () from /opt/ROOT/Versions/Current/lib/libCore.so.5.18
 ptrace: &#23052;&#8451;&#28225;&#38317;&#65348;&#37340;&#26473;&#28058;&#9660;.
 (gdb) next
 Single stepping until exit from function _Z10sighandleri, 
 which has no line number information.
 Cannot remove breakpoints because program is no longer writable.
 It might be running in another process.
 Further execution is probably impossible.
 0x00002b800b8a546e in sighandler () from /opt/ROOT/Versions/Current/lib/libCore.so.5.18
 ptrace: &#23052;&#8451;&#28225;&#38317;&#65348;&#37340;&#26473;&#28058;&#9660;.
 (gdb) next
 Single stepping until exit from function _Z10sighandleri, 
 which has no line number information.
 Cannot remove breakpoints because program is no longer writable.
 It might be running in another process.
 Further execution is probably impossible.
 0x00002b800b8a546e in sighandler () from /opt/ROOT/Versions/Current/lib/libCore.so.5.18

The system information is as the following:
$ uname -a
Linux daq-heg 2.6.18-5-amd64 #1 SMP Sat Dec 22 20:43:59 UTC 2007 x86_64 GNU/Linux

$ gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v 
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr 
--enable-shared --with-system-zlib --libexecdir=/usr/lib 
--without-included-gettext --enable-threads=posix --enable-nls 
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu 
--enable-libstdcxx-debug --enable-mpfr --enable-checking=release 
x86_64-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)

$ root-config --config
linuxx8664gcc --prefix=/opt/ROOT/Versions/5.18.00-gcc 
--datadir=/opt/ROOT/Versions/5.18.00-gcc/share 
--docdir=/opt/ROOT/Versions/5.18.00-gcc/doc 
--incdir=/opt/ROOT/Versions/5.18.00-gcc/include 
--libdir=/opt/ROOT/Versions/5.18.00-gcc/lib 
--etcdir=/opt/ROOT/Versions/5.18.00-gcc/etc 
--elispdir=/opt/ROOT/Versions/5.18.00-gcc/share/emacs/site-lisp --enable-cern 
--with-cern-libdir=/usr/lib --enable-fftw3 --enable-gdml --enable-mathcore 
--enable-mathmore --enable-opengl --enable-python --enable-qt --enable-roofit 
--enable-ruby --enable-shared --enable-soversion --enable-ssl --enable-xml 
--enable-xft --enable-xrootd --enable-g4root 
--with-g4-incdir=/opt/GEANT4/Versions/9.0.p01/include 
--with-g4-libdir=/opt/GEANT4/Versions/9.0.p01/lib/Linux-g++

Any idea to fix this problem?
  135   03 Mar 2008 Randolf PohlBug ReportROODY kills analyzer too!!
Hi,

I had the very same problem last summer during our beam time. Don't know the revision, but it was the tarball I downloaded around mid-July.
Symptom: The MIDAS (online) analyzer crashed as soon as roody was started. Started, i.e. before any user interaction became even possible. And the crash happened always. 100.0%.

My workaround was: Use roody rev. 220.
No crashes, beam time saved.

I attach 2 outputs I saved at that time.

Oh, yes: I still have the sources and such. Last modified date is July 9 and earlier (see attachment 3). I can send them around if you want to find the revision and bracket the offending commits. (I wish you were using "git". Ever read about git-bisect?)

Cheers,

Randolf

PS: Konstantin, I had promised you to try and pin down the problem after the run. Obviously I forgot, sorry. Please tell me if I can be of any help now.
  39   10 Mar 2004 Joe Peak finding added to MIDASviewer
The peak find panel has been added to MIDASviewer.  Click on the speed
button to open the panel.  Click the Find button to find peaks, and do a fit
if the attempt to fit check box is checked.  Fitting seems slow, but that is
all internal to ROOT.
  113   18 Apr 2006 Joe ChumaBug FixPause/Restart Refresh button added
A Pause/restart refresh button has been added to the Roody frame so users may quickly pause and restart online histogram refreshing.
  122   27 Aug 2006 Konstantin OlchanskiInfoNew version coming up...
FYI, I am presently working in an updated version of roody.

The user interface, GUI and user-visible functionality I am leaving alone. The under-the-hood handling of 
histogram data I am reworking using our latest understanding of the workings of ROOT (object ownership, 
etc) and C++ (hey, with STL std::map, C++ is as easy as perl!).

The updated version may also fix some of the existing problems- crashes caused by confused object 
ownership rules, long startup times (current code has to look at every existing histogram before starting- 
slow if many histograms in an online folder) and inability to display TGraph objects (that is what started 
me working on the code).

While at it, we will move the Roody code repository from CVS to SVN.

K.O.
  125   26 Sep 2006 Konstantin OlchanskiInfoNew version coming up...
> FYI, I am presently working in an updated version of roody.

The new version of Roody has been commited.

It has been tested only on Linux (SL4.3) and while we are shaking out the new bugs,
all are welcome to try it and report any problems. It should not eat your data.

If the new version does not work for you at all, the old version was preserved as
an SVN branch, accessible using this SVN command:
svn checkout svn://ladd00.triumf.ca/roody/branches/roody-v1 roody-v1

K.O.
  128   26 Sep 2006 Konstantin OlchanskiInfoNew version coming up...
> > FYI, I am presently working in an updated version of roody.
> 
> The new version of Roody has been commited.
> 
> It has been tested only on Linux (SL4.3) and while we are shaking out the new bugs,
> all are welcome to try it and report any problems. It should not eat your data.
> 
> If the new version does not work for you at all, the old version was preserved as
> an SVN branch, accessible using this SVN command:
> svn checkout svn://ladd00.triumf.ca/roody/branches/roody-v1 roody-v1

(the email notification for this message did not work at first, trying again)

K.O.
  142   22 Nov 2009 Exaos LeeSuggestionNew main.cxx for roody
The original "main.cxx" always produced "segmentation fault" on my system. So I 
rewrite a new one as the attached "main_el.cxx". It works stable on my systems. I 
use "getopt.h" to parse the command line options. Also, the options are altered 
as the following:
-------------------
--mhost, -M <mhost>   connect to MIDAS server <mhost>
--rhost, -R <rhost>   connect to ROOT server <rhost>
--port, -p <port>     connect to port <port>
--config, -c <xml>    Using config file <xml> in XML format
-------------------
The main_el.cxx doesn't pass options to TApplication except root file names. 
Please see the source in detail. I hope it may help.
  25   14 Aug 2003 Greg Miroodas
MAIN GUI
========
Invocation:
TTriumfFileGUI -h 
 ->Displays Usage message
TTriumfFileGUI host
 ->Opens GUI and connects to host on default port 9090
TTriumfFileGUI host:port
 ->Opens GUI and connects to host on port (to be implemented)
TTriumfFileGUI file.root
 ->Opens GUI and opens file.root for browsing
TTriumfFileGUI file.hbook
 ->Opens GUI and opens file.hbook for browsing (to be implemented)
TTriumfFileGUI
 ->Opens GUI

File Menu
 -> Open .root
	Opens file selection dialog to find and open a ROOT file
 -> Open .hbook
	Opens file selection dialog to find and open an HBOOK file
 -> Online
	Opens hostname entry dialog ... Will try and access that host on
        port 9090 (currently using 9090 as default port)
 	If hostname:port, will try and access hostname on proper port 
        (Not Yet Implemented)
 -> Save
	Not Yet Implemented -> Idea:
		Will bring up a save dialog which will allow user to save 
		all opened histograms
 -> Exit
	Closes the program

Refresh Menu
 ->Not Yet Implemented -> Idea: (Radio Buttons)
     ->Stop Refresh
	 Stops the refreshing of online histograms by stopping the TTimer
     ->Refresh 1 sec  \
     ->Refresh 3 sec   |
     ->Refresh 5 sec   |-- Change TTimer time length (and start it)
     ->Refresh 10 sec /

Zones Menu 
  ->Not Yet Implemented -> Idea: (Radio Button)
     ->1x1
     ->1x2
     ->2x1
     ->2x2
     ->3x3
     -> ...
	Each of these will changes force all the new TCanvas() created to be 
	divided into zones
	If double clicked (TGListTree or TGListView) will create new canvas,
        unless option is changed in AddHist to Menu.
        If from context menu -> can overlay in current pad
                             -> can plot in current pad (removes old hist)
                             -> can create new canvas
                             -> can plot in next pad (if last pad ... plot 
                                in first pad)

AddHist to Menu:
  ->Not Yet Implemented -> Idea: (Radio Button)
      -> 4 Options:
	-> plot in new canvas
        -> plot in current pad
        -> plot in next pad
        -> overlay in current pad
      -> Depending on which one is checked the double click functionality 
         will change

Open Files Panel (TGListTree)
  ->Shows open files (offline and online) as well as TH*, TProfile*, TTree ...
  ->Need to add ContextMenus
	ContextMenu (depends on UserData)
	 ->Close Files (remove file from list)
	 ->Plot Options (for histograms) ->see AddHist to menu options
  ->Need to have: when item selected in TGListTree, items in TGListView
    are deselected

Open Histograms Panel (TGListView)
  ->Shows open histograms (i.e. goes over gROOT->GetListOfCanvases())
  ->Need to add ContextMenus
      ->Histogram stuff ->see AddHist to menu options
  ->Need to have: when item selected in TGListView, itesms in TGListTree
    are deselected

Buttons
  ->Not yet Implemented
  ->Refresh (goes over all open histograms)
  ->Banish 
     ->if histogram selected ... removes from associated Pad and 
       deletes from list (in TGListView)
     ->if file is selected in TGListTree ... removes file (may need to close 
       TTreeViewer ... but histograms are made persistent so no need to 
       close)
     ->Save same functionality as the File->Save
  ->Clear (clears currently selected histogram)
  38   05 Mar 2004 Joe MIDASviewer update
Committed MainFrame.cxx/.h with a fix for the problem of segmentation faults
while updating online histograms.  The problem was the pointers to the
histograms needed to be changed in the TGLVContainers when the histograms
were deleted and recreated due to being updated.  The main difficulty was
getting a handle on which TGLVEntry matched which histogram, when the
histogram pointers were obtained from the TPad and not the TGLVContainer. 
Anyway, you can now view online histograms without the program crashing.
  22   30 Jul 2003 Greg List of Development Components for MIROODAS
Here is the list of components that must/should be developed for MIROODAS:

1. Peak Finding Panel (1D w/ TSpectrum, 2D w/ TSpectrum2 ... note 2D is not
functional yet)
    *THIS is a new feature*
2. Fit Panel
    *This will be a remake of the old feature ... with some improvements*
3. Draw Options Panel
    *This will be a remake of the old feature ... with some improvements*
4. Stat Option Panel 
    *THIS is a new feature*
5. TCanvas
    including: custum context menus which will associate with the new features
6. TTreeViewer
    including: necessary bug fixes and developments as discussd in the meeting
7. Attributes Panel
    *Remake all Attributes Panels and combine into one panel*
  23   30 Jul 2003 Greg List of Development Components for MIROODAS
> 2. Improved Fit Panel
> 3. Improved Draw Options Panel
> 5. TCanvas updates
> 6. TTreeViewer updates
> 7. Improve Attributes Panel

What are these "improvements" and "updates"? We cannot plan without good data.

K.O.
  31   01 Jan 2004 Konstantin Implement "Draw in next pad" and ilk
I commited fixes for a few annoying problems:
1) get rid of useless "delete/create TCanvas"
2) make the "zones" actually work
3) implement "draw in new canvas", "draw in current pad", "draw in next pad"
and "overplot in current pad"
4) consolidate all drawing into a single "DrawObject()" function.
K.O.
  147   23 Feb 2012 Exaos LeeForumHow to access the SVN repo anonymously?
I found that the SVN repo is forbidden for anonymous users now.
  148   13 May 2012 Konstantin OlchanskiForumHow to access the SVN repo anonymously?
> I found that the SVN repo is forbidden for anonymous users now.

Please use username "svn", password "svn", per instructions here:
http://www.triumf.info/wiki/DAQwiki/index.php/DaqSvn

K.O.
  149   24 May 2012 Konstantin OlchanskiForumHow to access the SVN repo anonymously?
> I found that the SVN repo is forbidden for anonymous users now.

It is possible that you are referencing the SVN repo using the "svn:" access method. This access method was recently 
disabled.

Please switch to the "https:" method (username/password svn/svn) using this command:

cd .../roody
svn switch --relocate svn://ladd00.triumf.ca/roody https://ladd00.triumf.ca/svn/roody

K.O.
  75   30 Nov 2004 chris pearsonSuggestionHistogram zeroing, and extended histogram display manipulation
  We need a simple way of zeroing online spectra, using the roody viewer to
select which spectra are to be zeroed.

   We would also like the histogram view to be unaffected by refreshing. 
Currently the y axis is autoscaled after a refresh.

  We would also like a quicker way of manipulating the histogram display, than
by the awkward, particularly for canvases containing multiple histograms, axis
manipulation currently available.  This could be a toolbar similar to the view
editor that already exists - are the contents of this customisable, or would a
separate toolbar be needed?, and would ideally contain the following ...
   4 buttons, which could each be labelled with a single arrow, for shifting the
histogram left/right/up/down (e.g. by half the corresponding axis's range).  4
buttons, which could each be labelled with double arrows, for scaling the x/y
axes (scaling by factors of 2 and 0.5, about the axis's initial position).  3
buttons for toggling linear/log scale on each axis (these are in the current
view editor).  3 more buttons, for resetting the view to default, for retaining
the current view and for reverting to a previously retained view.
  We would also like to be able to attach markers to a histogram (requiring
another button to remove markers).  markers would be placed using mouse clicks
on the histogram, *and* by a text entry box for typing channel numbers.  Markers
would be labelled with x,y.  There would then be a button to expand an axis
between the last 2 placed markers.  The markers would also be used for analysis
such as integral and peakfind/fitting.
  The view manipulation toolbar would be one per canvas, so there would also
need to be a toggle button to apply the view manipulation commands to all the
histograms on that canvas, or to just the currently selected histogram[s] (a way
to select several, rather than just one, histograms would be useful)

   This would be very much quicker and easier to use than selecting items from
long menus, which themselves need to be called by selecting specific, often very
small, regions of a canvas.

Chris
  76   01 Dec 2004 Konstantin OlchanskiSuggestionHistogram zeroing, and extended histogram display manipulation
>   We need a simple way of zeroing online spectra, using the roody viewer to
> select which spectra are to be zeroed.

Problem confirmed: there is a button for "clear all", but no buttons for "clear
selected histograms" and "clear just this one histogram". It was suggested that the
right-click context menu for each histogram should have a "clear" action. Maybe same
for a "group".

>    We would also like the histogram view to be unaffected by refreshing. 
> Currently the y axis is autoscaled after a refresh.

I thought this was fixed a long time ago...

>   We would also like a quicker way of manipulating the histogram display, than
> by the awkward, particularly for canvases containing multiple histograms, axis
> manipulation currently available.

I am thinking along the lines of locking the "zooming" of all histograms: on a 2x2
panel of histograms, rezooming any one of them would rezoom the others the same way.

> This could be a toolbar similar to the view
> editor that already exists - are the contents of this customisable, or would a
> separate toolbar be needed?, and would ideally contain the following ...
>    4 buttons, which could each be labelled with a single arrow, for shifting the
> histogram left/right/up/down (e.g. by half the corresponding axis's range).  4
> buttons, which could each be labelled with double arrows, for scaling the x/y
> axes (scaling by factors of 2 and 0.5, about the axis's initial position).  3
> buttons for toggling linear/log scale on each axis (these are in the current
> view editor).  3 more buttons, for resetting the view to default, for retaining
> the current view and for reverting to a previously retained view.

This does not sound like something I can do in 5 minutes, maybe Joe Chuma would take
this on?

>   We would also like to be able to attach markers to a histogram (requiring
> another button to remove markers).  markers would be placed using mouse clicks
> on the histogram, *and* by a text entry box for typing channel numbers.  Markers
> would be labelled with x,y.  There would then be a button to expand an axis
> between the last 2 placed markers.  The markers would also be used for analysis
> such as integral and peakfind/fitting.

Maybe I am missing something, but is this not "standard root" functionality, using
the pad editor and adding "TLabels"?

>   The view manipulation toolbar would be one per canvas, so there would also
> need to be a toggle button to apply the view manipulation commands to all the
> histograms on that canvas, or to just the currently selected histogram[s] (a way
> to select several, rather than just one, histograms would be useful)

I like this: a control for selecting if the action is applied to just one histogram
or to all histograms in a group.

>    This would be very much quicker and easier to use than selecting items from
> long menus, which themselves need to be called by selecting specific, often very
> small, regions of a canvas.

I see: ROOT is geared very much for manipulating ONE graphical object at a time. We
want to manipulate MANY identical objects at the same time and the existing tools
are inadequate, for example because each object is physically very small and it is
hard to point-and-click it.

K.O.
  77   01 Dec 2004 Konstantin OlchanskiSuggestionHistogram zeroing, and extended histogram display manipulation
> >    We would also like the histogram view to be unaffected by refreshing. 
> > Currently the y axis is autoscaled after a refresh.
> 
> I thought this was fixed a long time ago...

Never mind that.

Vertical scale of online histograms *has* to change after a refresh- the number of
counts in an online histogram increases as it accumulates more data and the histogram
would grow up out of the visual range unless it is rescaled.

Now, we can be smart about this: for a zoomed histogram, we can freeze the "y" scaling
or we can maintain the zoom ratio while rescaling.

K.O.
  51   05 Jul 2004 Konstantin HBOOK support
I commited changes to TTriumfFileGUI.{h,cxx} to add support for looking at
HBOOK files. K.O.
ELOG V3.1.4-2e1708b5