{"action":"created","issue":{"url":"https://api.github.com/repos/simh/simh/issues/274","repository_url":"https://api.github.com/repos/simh/simh","labels_url":"https://api.github.com/repos/simh/simh/issues/274/labels{/name}","comments_url":"https://api.github.com/repos/simh/simh/issues/274/comments","events_url":"https://api.github.com/repos/simh/simh/issues/274/events","html_url":"https://github.com/simh/simh/issues/274","id":131755745,"number":274,"title":"VAX780 UNIX/32V (RP06): SET ASYNC CAUSES IRREVERSIBLE DATA CORRUPTION","user":{"login":"WILLIAMCORCORAN","id":15604988,"avatar_url":"https://avatars.githubusercontent.com/u/15604988?v=3","gravatar_id":"","url":"https://api.github.com/users/WILLIAMCORCORAN","html_url":"https://github.com/WILLIAMCORCORAN","followers_url":"https://api.github.com/users/WILLIAMCORCORAN/followers","following_url":"https://api.github.com/users/WILLIAMCORCORAN/following{/other_user}","gists_url":"https://api.github.com/users/WILLIAMCORCORAN/gists{/gist_id}","starred_url":"https://api.github.com/users/WILLIAMCORCORAN/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WILLIAMCORCORAN/subscriptions","organizations_url":"https://api.github.com/users/WILLIAMCORCORAN/orgs","repos_url":"https://api.github.com/users/WILLIAMCORCORAN/repos","events_url":"https://api.github.com/users/WILLIAMCORCORAN/events{/privacy}","received_events_url":"https://api.github.com/users/WILLIAMCORCORAN/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-05T21:13:03Z","updated_at":"2016-04-01T16:29:03Z","closed_at":"2016-04-01T16:29:02Z","body":"VAX780 UNIX/32V (RP06): SET ASYNC CAUSES IRREVERSIBLE DATA CORRUPTION \r\n\r\nBe advised: Use of the SIMH vax780 simulator (OSX) with UNIX/32V in combination with 'SET ASYNC' may cause permanent data corruption to the rp06 disk image.  Therefore, any use of the vax780 simulator UNIX/32V with an rp06 disk image should only use 'SET NOASYNC'  to avoid this corruption.  \r\n\r\nAdditionally, this corruption has been found only with the APPLE OSX operating system.  No other operating systems were tested.   \r\n\r\nThe following steps will show how to reproduce the symptoms of corruption:  \r\n\r\n1. Ensure your config file has 'SET ASYNC' (See ADVISEMENT above). \r\n2. Boot the UNIX/32V image using the recent vax780 simulator \r\n3. Create at least one additional rp06 drive (This helps demo the corruption)\r\n4. Modify your UNIX/32v /etc/rc file to mount the additional disk drive as /tmp \r\n5. Boot to MULTIUSER\r\n5. Create a simple C program --- The old standard \"hello world\" will work just fine. \r\n6. cc -o hello hello.c  (Compile your program) \r\n7. The C compiler will respond with: Fatal error in /lib/ccom \r\n8. This is a symptom of the corruption, most likely in /tmp. \r\n9. If you attempt to compile larger C programs, such as fsck.c \r\n    you will find that the C program will start to become scrambled---even though your C program does not live in /tmp and is called from the core OS (rp06) boot drive.  \r\n\r\nWARNING: Running UNIX/32V with VAX780 (RP06) under OSX for any length of time will slowly and insidiously corrupt the OS proper.  So, if you decide to revert back to \"SET NOASYNC,\" you will be surprised to see corruption and the documented misbehavior as you would find with \"SET ASYNC.\"   Don't be fooled.  The issue is not really tied to \"SET NOASYNC\" at that point; rather, running \"SET ASYNC\" has corrupted your RP06 image to the point where the image is simply useless.   This is somewhat of a tricky situation as it can be very misleading.  I can affirm that running UNIX/32V with vax780 under (OSX) with \"SET NOASYNC\" is quite reliable and not prone to corruption.    \r\n\r\nNote: I have been working with @markpizz and I have previously provided all relevant disk images that demonstrate this issue.  Due to my work issues, I have been out of town.  Please let me know if the team would like me to provide new disk images that demonstrate this issue.  \r\n\r\nNext: This issue has been time consuming to replicate and understand.  Out of band, @markpizz determined that this was a timing issue.  I have tried various settings and code changes provided to me by @markpizz all to no avail.   I have communicated these findings and results to @markpizz out of band at various times over the past few months.   \r\n\r\nAny delay here is mine and I regret not being able to be more responsive.  The demands of my family and job have recently prevented a timely response from me---please forgive me.  \r\n\r\nFinally, I have reconfirmed and reproduced this issue using the latest version of SIMH with OSX:  \r\n\r\n\r\nVAX 11/780 simulator V4.0-0 Beta\r\n\tSimulator Framework Capabilities:\r\n\t\t64b data\r\n\t\t64b addresses\r\n\t\tEthernet Packet transports:PCAP:NAT:UDP\r\n\t\tIdle/Throttling support is available\r\n\t\tVirtual Hard Disk (VHD) support\r\n\t\tAsynchronous I/O support\r\n\t\tFrontPanel API Version 1\r\n\tHost Platform:\r\n\t\tCompiler: GCC 5.2.0\r\n\t\tSimulator Compiled: Feb  5 2016 at 15:33:14\r\n\t\tMemory Access: Little Endian\r\n\t\tMemory Pointer Size: 64 bits\r\n\t\tLarge File (>2GB) support\r\n\t\tSDL Video support: No Video Support\r\n\t\tRegEx support for EXPECT commands\r\n\t\tOS clock resolution: 1ms\r\n\t\tTime taken by msleep(1): 2ms\r\n\t\tOS: Darwin corky 15.2.0 Darwin Kernel Version 15.2.0: Fri Nov 13 19:56:56 PST 2015; root:xnu-3248.20.55~2/RELEASE_X86_64 x86_64\r\n\r\n        git commit id: f03bae6c\r\n "},"comment":{"url":"https://api.github.com/repos/simh/simh/issues/comments/204460179","html_url":"https://github.com/simh/simh/issues/274#issuecomment-204460179","issue_url":"https://api.github.com/repos/simh/simh/issues/274","id":204460179,"user":{"login":"WILLIAMCORCORAN","id":15604988,"avatar_url":"https://avatars.githubusercontent.com/u/15604988?v=3","gravatar_id":"","url":"https://api.github.com/users/WILLIAMCORCORAN","html_url":"https://github.com/WILLIAMCORCORAN","followers_url":"https://api.github.com/users/WILLIAMCORCORAN/followers","following_url":"https://api.github.com/users/WILLIAMCORCORAN/following{/other_user}","gists_url":"https://api.github.com/users/WILLIAMCORCORAN/gists{/gist_id}","starred_url":"https://api.github.com/users/WILLIAMCORCORAN/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WILLIAMCORCORAN/subscriptions","organizations_url":"https://api.github.com/users/WILLIAMCORCORAN/orgs","repos_url":"https://api.github.com/users/WILLIAMCORCORAN/repos","events_url":"https://api.github.com/users/WILLIAMCORCORAN/events{/privacy}","received_events_url":"https://api.github.com/users/WILLIAMCORCORAN/received_events","type":"User","site_admin":false},"created_at":"2016-04-01T16:29:02Z","updated_at":"2016-04-01T16:29:02Z","body":"Be advised: @markpizz has directed that \"[I close this] issue[] now and reopen [this issue] when specific details that identify a root cause have been identified.\"\r\n\r\nI will close this case as directed."}}