Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring in panguin-client functionality #20

Closed
cipriangal opened this issue Aug 10, 2018 · 8 comments
Closed

Bring in panguin-client functionality #20

cipriangal opened this issue Aug 10, 2018 · 8 comments

Comments

@cipriangal
Copy link
Collaborator

The pan online gui functionality should be imported to japan.

@paulmking
Copy link
Collaborator

@cipriangal The command to generate a memory mapped root file from a data file on tape is something like this:
./build/qwparity -r 3866 --enable-mapfile --circular-buffer 10000 --enable-tree-trim no --conf prexinj.conf

@paulmking
Copy link
Collaborator

@cipriangal The map file info gets printed to console, to aid you in getting the client linked up. Here's what I have on my devel machine:
================== RealTime Producer Memory Map File =================
Memory mapped file: /dev/shm//QwMemMapFile.map
Title: RealTime Producer File
Option: CREATE
Mapped Memory region: 0x7f23533c6000 - 0x7f23633c6000 (256.00 MB)
Current breakval: 0x7f23533d1000

@cipriangal
Copy link
Collaborator Author

@paulmking
The command does produce something similar to what you quote:

================== RealTime Producer Memory Map File =================
Memory mapped file:   /dev/shm//QwMemMapFile.map
Title:                RealTime Producer File
Option:               CREATE
Mapped Memory region: 0x7f14324d9000 - 0x7f14424d9000 (256.00 MB)
Current breakval:     0x7f14324e4000
======================================================================

but it crashes at the end (with both qwparity_simple, and qwparity). Here is what I did:

Setup:
[apar@adaq3 ~/ciprian/japan]$ source ~/pking/reset_env.csh
[apar@adaq3 ~/ciprian/japan]$ cd ~/ciprian/japan/build
rebuild

[apar@adaq3 ~/ciprian/japan]$ build/qwparity_simple -r 4556 --enable-mapfile --circular-buffer 10000 --enable-tree-trim no --conf Parity/prminput/prexCH.conf > x5_screen.txt
 *** Break *** segmentation violation



===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0  0x00007fa3b0aa317c in waitpid () from /lib64/libc.so.6
#1  0x00007fa3b0a20e52 in do_system () from /lib64/libc.so.6
#2  0x00007fa3b6d6194f in TUnixSystem::StackTrace (this=0x13c8e58) at /raid/stage/ROOT/root-6.12.06/core/unix/src/TUnixSystem.cxx:2412
#3  0x00007fa3b6d6407c in TUnixSystem::DispatchSignals (this=0x13c8e58, sig=kSigSegmentationViolation) at /raid/stage/ROOT/root-6.12.06/core/unix/src/TUnixSystem.cxx:3643
#4  <signal handler called>
#5  operator delete (ptr=0x7fa38ce9d008) at /raid/stage/ROOT/root-6.12.06/core/newdelete/src/NewDelete.cxx:279
#6  0x00007fa3a8fd8222 in ~DenseMap (this=0x40f1148, __in_chrg=<optimized out>) at /raid/stage/ROOT/root-6.12.06/interpreter/llvm/src/include/llvm/ADT/DenseMap.h:640
#7  ~TClingClassInfo (this=0x40f10f8, __in_chrg=<optimized out>) at /raid/stage/ROOT/root-6.12.06/core/metacling/src/TClingClassInfo.h:53
#8  TCling::SetClassInfo (this=0x144f1e8, cl=0x40f0d98, reload=<optimized out>) at /raid/stage/ROOT/root-6.12.06/core/metacling/src/TCling.cxx:3500
#9  0x00007fa3b6d0d749 in TClass::SetUnloaded (this=0x40f0d98) at /raid/stage/ROOT/root-6.12.06/core/meta/src/TClass.cxx:6006
#10 0x00007fa3b6cce374 in ROOT::RemoveClass (cname=0x7fa3b507e0fa "TVirtualIndex") at /raid/stage/ROOT/root-6.12.06/core/cont/src/TClassTable.cxx:851
#11 0x00007fa3b6d28da5 in ROOT::TGenericClassInfo::~TGenericClassInfo (this=<optimized out>, __in_chrg=<optimized out>) at /raid/stage/ROOT/root-6.12.06/core/meta/src/TGenericClassInfo.cxx:221
#12 0x00007fa3b0a17f4a in __cxa_finalize () from /lib64/libc.so.6
#13 0x00007fa3b4ffd183 in __do_global_dtors_aux () from /adaqfs/apps/ROOT/6.12-06/lib/libTree.so.6.12
#14 0x00007ffe6386a460 in ?? ()
#15 0x00007fa3b70ae1ca in _dl_fini () from /lib64/ld-linux-x86-64.so.2
===========================================================


The lines below might hint at the cause of the crash.
You may get help by asking at the ROOT forum http://root.cern.ch/forum.
Only if you are really convinced it is a bug in ROOT then please submit a
report at http://root.cern.ch/bugs. Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#5  operator delete (ptr=0x7fa38ce9d008) at /raid/stage/ROOT/root-6.12.06/core/newdelete/src/NewDelete.cxx:279
#6  0x00007fa3a8fd8222 in ~DenseMap (this=0x40f1148, __in_chrg=<optimized out>) at /raid/stage/ROOT/root-6.12.06/interpreter/llvm/src/include/llvm/ADT/DenseMap.h:640
#7  ~TClingClassInfo (this=0x40f10f8, __in_chrg=<optimized out>) at /raid/stage/ROOT/root-6.12.06/core/metacling/src/TClingClassInfo.h:53
#8  TCling::SetClassInfo (this=0x144f1e8, cl=0x40f0d98, reload=<optimized out>) at /raid/stage/ROOT/root-6.12.06/core/metacling/src/TCling.cxx:3500
#9  0x00007fa3b6d0d749 in TClass::SetUnloaded (this=0x40f0d98) at /raid/stage/ROOT/root-6.12.06/core/meta/src/TClass.cxx:6006
#10 0x00007fa3b6cce374 in ROOT::RemoveClass (cname=0x7fa3b507e0fa "TVirtualIndex") at /raid/stage/ROOT/root-6.12.06/core/cont/src/TClassTable.cxx:851
#11 0x00007fa3b6d28da5 in ROOT::TGenericClassInfo::~TGenericClassInfo (this=<optimized out>, __in_chrg=<optimized out>) at /raid/stage/ROOT/root-6.12.06/core/meta/src/TGenericClassInfo.cxx:221
#12 0x00007fa3b0a17f4a in __cxa_finalize () from /lib64/libc.so.6
#13 0x00007fa3b4ffd183 in __do_global_dtors_aux () from /adaqfs/apps/ROOT/6.12-06/lib/libTree.so.6.12
#14 0x00007ffe6386a460 in ?? ()
#15 0x00007fa3b70ae1ca in _dl_fini () from /lib64/ld-linux-x86-64.so.2
===========================================================


Segmentation fault (core dumped)
[apar@adaq3 ~/ciprian/japan]$ ./build/qwparity_simple -r 4556 --enable-mapfile --circular-buffer 10000 --enable-tree-trim no --conf prexCH.conf >x5_screen.txt

 *** Break *** segmentation violation



===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0  0x00007f1456ce217c in waitpid () from /lib64/libc.so.6
#1  0x00007f1456c5fe52 in do_system () from /lib64/libc.so.6
#2  0x00007f145cfa094f in TUnixSystem::StackTrace (this=0x86ce58) at /raid/stage/ROOT/root-6.12.06/core/unix/src/TUnixSystem.cxx:2412
#3  0x00007f145cfa307c in TUnixSystem::DispatchSignals (this=0x86ce58, sig=kSigSegmentationViolation) at /raid/stage/ROOT/root-6.12.06/core/unix/src/TUnixSystem.cxx:3643
#4  <signal handler called>
#5  operator delete (ptr=0x7f14330dc008) at /raid/stage/ROOT/root-6.12.06/core/newdelete/src/NewDelete.cxx:279
#6  0x00007f144f217222 in ~DenseMap (this=0x35c9648, __in_chrg=<optimized out>) at /raid/stage/ROOT/root-6.12.06/interpreter/llvm/src/include/llvm/ADT/DenseMap.h:640
#7  ~TClingClassInfo (this=0x35c95f8, __in_chrg=<optimized out>) at /raid/stage/ROOT/root-6.12.06/core/metacling/src/TClingClassInfo.h:53
#8  TCling::SetClassInfo (this=0x8f31e8, cl=0x35c9298, reload=<optimized out>) at /raid/stage/ROOT/root-6.12.06/core/metacling/src/TCling.cxx:3500
#9  0x00007f145cf4c749 in TClass::SetUnloaded (this=0x35c9298) at /raid/stage/ROOT/root-6.12.06/core/meta/src/TClass.cxx:6006
#10 0x00007f145cf0d374 in ROOT::RemoveClass (cname=0x7f145b2bd0fa "TVirtualIndex") at /raid/stage/ROOT/root-6.12.06/core/cont/src/TClassTable.cxx:851
#11 0x00007f145cf67da5 in ROOT::TGenericClassInfo::~TGenericClassInfo (this=<optimized out>, __in_chrg=<optimized out>) at /raid/stage/ROOT/root-6.12.06/core/meta/src/TGenericClassInfo.cxx:221
#12 0x00007f1456c56f4a in __cxa_finalize () from /lib64/libc.so.6
#13 0x00007f145b23c183 in __do_global_dtors_aux () from /adaqfs/apps/ROOT/6.12-06/lib/libTree.so.6.12
#14 0x00007ffceedca530 in ?? ()
#15 0x00007f145d2ed1ca in _dl_fini () from /lib64/ld-linux-x86-64.so.2
===========================================================


The lines below might hint at the cause of the crash.
You may get help by asking at the ROOT forum http://root.cern.ch/forum.
Only if you are really convinced it is a bug in ROOT then please submit a
report at http://root.cern.ch/bugs. Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#5  operator delete (ptr=0x7f14330dc008) at /raid/stage/ROOT/root-6.12.06/core/newdelete/src/NewDelete.cxx:279
#6  0x00007f144f217222 in ~DenseMap (this=0x35c9648, __in_chrg=<optimized out>) at /raid/stage/ROOT/root-6.12.06/interpreter/llvm/src/include/llvm/ADT/DenseMap.h:640
#7  ~TClingClassInfo (this=0x35c95f8, __in_chrg=<optimized out>) at /raid/stage/ROOT/root-6.12.06/core/metacling/src/TClingClassInfo.h:53
#8  TCling::SetClassInfo (this=0x8f31e8, cl=0x35c9298, reload=<optimized out>) at /raid/stage/ROOT/root-6.12.06/core/metacling/src/TCling.cxx:3500
#9  0x00007f145cf4c749 in TClass::SetUnloaded (this=0x35c9298) at /raid/stage/ROOT/root-6.12.06/core/meta/src/TClass.cxx:6006
#10 0x00007f145cf0d374 in ROOT::RemoveClass (cname=0x7f145b2bd0fa "TVirtualIndex") at /raid/stage/ROOT/root-6.12.06/core/cont/src/TClassTable.cxx:851
#11 0x00007f145cf67da5 in ROOT::TGenericClassInfo::~TGenericClassInfo (this=<optimized out>, __in_chrg=<optimized out>) at /raid/stage/ROOT/root-6.12.06/core/meta/src/TGenericClassInfo.cxx:221
#12 0x00007f1456c56f4a in __cxa_finalize () from /lib64/libc.so.6
#13 0x00007f145b23c183 in __do_global_dtors_aux () from /adaqfs/apps/ROOT/6.12-06/lib/libTree.so.6.12
#14 0x00007ffceedca530 in ?? ()
#15 0x00007f145d2ed1ca in _dl_fini () from /lib64/ld-linux-x86-64.so.2
===========================================================


Segmentation fault (core dumped)

@paulmking
Copy link
Collaborator

@cipriangal I'll try to take a look at it and see if I can give you some suggestion. Which branch were you on?

@cipriangal
Copy link
Collaborator Author

@paulmking: develop. Please give me until the end of the day to push back the changes I made to the configuration files so that you don't have to go through them.

I'll also post a list of questions here about some things I am still confused about the configuration files.

@cipriangal
Copy link
Collaborator Author

cipriangal commented Nov 15, 2018

@paulmking : finished the push.

The output from running is at ~/ciprian/japan/x4*.txt for the normal analysis and x5_screen.txt for the memory resident rootfile. Looking through the output I have a couple of questions:

  • it looks like the QW_PRMINPUT, QWANALYSIS, are no really required. Do we really want to set that as an error? Do we want to remove the lookup for these variables?
  • Why is it expecting to have Analysis/prminput/ configuration files? (it reports that:
./Analysis/prminput doesn't exist. Adding user-defined configuration file qwparity_simple.conf

*we should not initialize configurations files for -h option (right now it looks like it gives the warnings when you run with -h) --> this probably should go into a separate issue.
*i think i have defined q_targ correctly but why is it complaining it can’t find it? (https://github.com/JeffersonLab/japan/blob/develop/Parity/prminput/prexCH_beamline.map#L64)
*I must have the configuration for the helicity set all wrong (see x4_screen.txt). Can you take a look at it and let me know what seems to be the problem? .. as far as I talked to Bob the CH crate does not read the helicity information. Can we remove that from the requirements for the analyzer? (it seems to default to +--+). What happens if we have random helicity? I will go to the counting house and see if we have the helicity signal plugged into the flexIO board.

@paulmking
Copy link
Collaborator

@cipriangal There may have been some changes in how ROOT expects us to work with the memory-mapped files since we used this in Qweak. I'm trying to trace it back....

@paulmking
Copy link
Collaborator

The panguin functionality was brought into develop by #50 .
It is able to open a disk resident ROOT file and plot from it.
The memory-mapped ROOT file functionality is dependent upon us finding a solution to the map file crashes as described in #69.

When we get a map-file generator, we can open a new issue about getting panguin to connect to it,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants