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