We still have trouble with VxSim and DMTCP.  Mr. Kapil Arya helped me 
troubleshoot a bit back in August, but he has since had more important things 
to do and has not been able to help us.

Is there someone else who might be able to do a bug fix on DMTCP for us?  
Depending on the circumstances, we might be able to pay to support someone, 
and/or include them in our research.

Jim

From: Leek, Jim
Sent: Thursday, August 6, 2020 12:34 PM
To: Kapil Arya <kapil.arya...@gmail.com>
Cc: dmtcp-forum@lists.sourceforge.net
Subject: RE: [Dmtcp-forum] DMTCP not working with VxWorks Simulator

Unfortunately VxSim is proprietary software from Wind River.  It comes with a 
VxWorks development kit, but that costs a lot of money.  They do have a 
university program to get a free license, but I doubt you want to go to that 
much trouble just to help me.

If you can tell me what to look for I would be happy to help debug the issue.

Jim

From: Kapil Arya <kapil.arya...@gmail.com<mailto:kapil.arya...@gmail.com>>
Sent: Thursday, August 6, 2020 5:23 AM
To: Leek, Jim <le...@llnl.gov<mailto:le...@llnl.gov>>
Cc: dmtcp-forum@lists.sourceforge.net<mailto:dmtcp-forum@lists.sourceforge.net>
Subject: Re: [Dmtcp-forum] DMTCP not working with VxWorks Simulator

Hi Jim,

Thanks for the bug report. Can you please also provide pointers to setting up 
VxSim locally? That would help us reproduce the issue(s).

Best,
Kapil


On Fri, Aug 7, 2020 at 12:44 AM Leek, Jim via Dmtcp-forum 
<dmtcp-forum@lists.sourceforge.net<mailto:dmtcp-forum@lists.sourceforge.net>> 
wrote:
VxWorks is a real-time operating system, usually used for embedded systems.   
The development system comes with a simulator (VxSim) that can be used to 
prototype development projects.  I don't know a huge amount about VxSim.  I do 
know: It is not an emulator.  The VxWorks image to run is compiled to the 
native instruction set.  (In this case 32-bit x86).  It uses signals to control 
some behavior, so it catches all signals, but it seems to pass them on.  It 
uses fork internally, perhaps to launch the target process and intercept it's 
system calls?

Anyway, we were hoping we could checkpoint VxSim with our VxWorks application 
running inside it.  As an example we have a VxWorks application that just 
prints out the run time every few seconds.  If I just run VxSim, it works fine:

/nfs/casc/overture/ROSE/vxworks/vxworks-6.9/host/x86-linux2/bin/vxsim -memsize 
0x3ff00000
time 00:02:01
time 00:02:12

However, when it is run under dmtcp_launch,  dmtcp prints out a number of 
complaints, including one about VxSim sucking up signals. The VxSim startup 
text that normally prints never appears, nor do the times appear, VxSim uses 
100% of a CPU (normal behavior is about 2% when startup is finished), and it 
can't be killed without -9.  (Also unusual).

----------
$ dmtcp_launch vxsim -memsize 0x3ff00000
[40000] NOTE at processinfo.cpp:240 in findMiscAreas; REASON='bottom-most page 
of stack (page with highest address) was
invisible in /proc/self/maps. It is made visible again now.'
[41000] WARNING at socketconnection.cpp:222 in TcpConnection; 
REASON='JWARNING(false) failed'
type = 2
Message: Datagram Sockets not supported. Hopefully, this is a short lived 
connection!
[41000] WARNING at socketconnection.cpp:222 in TcpConnection; 
REASON='JWARNING(false) failed'
type = 2
Message: Datagram Sockets not supported. Hopefully, this is a short lived 
connection!
[40000] WARNING at signalwrappers.cpp:141 in sigaction; REASON='JWARNING(false) 
failed'
"Application trying to use DMTCP's signal for it's own use.\n" "  You should 
employ a different signal by setting the\n" "  environment variable 
DMTCP_SIGCKPT to the number\n" "  of the signal that DMTCP should use for 
checkpointing." = Application trying to use DMTCP's signal for it's own use.
You should employ a different signal by setting the
environment variable DMTCP_SIGCKPT to the number
of the signal that DMTCP should use for checkpointing.
stopSignal = 12
----------

I tried changing the signal that gets sent, but couldn't find any that didn't 
give the same warning.  And some checkpoint files did get generated, but trying 
them causes a segfault:

$ ./dmtcp_restart_script.sh
which: no dmtcp_rm_loclaunch in PATH
Segmentation fault (core dumped)

-------
I also tried the --no-coordinator option, but it didn't work at all:
$ dmtcp_launch --no-coordinator vxsim -memsize 0x3ff00000
[40000] NOTE at processinfo.cpp:240 in findMiscAreas; REASON='bottom-most page 
of stack (page with highest address) was
invisible in /proc/self/maps. It is made visible again now.'
[40000] ERROR at coordinatorapi.cpp:650 in createNewConnectionBeforeFork; 
REASON='JASSERT(!noCoordinator()) failed'
Message: Process attempted to call fork() while in --no-coordinator mode
Because the coordinator is embedded in a single process,
DMTCP will not work with multiple processes.
vxsim (40000): Terminating...

--------
So, I'm at a complete loss.  Is there anything I can do here, or is DMTCP just 
not going to work for this?

Thanks,
Jim


_______________________________________________
Dmtcp-forum mailing list
Dmtcp-forum@lists.sourceforge.net<mailto:Dmtcp-forum@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/dmtcp-forum
_______________________________________________
Dmtcp-forum mailing list
Dmtcp-forum@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dmtcp-forum

Reply via email to