Lee, when I run this bat file, the cfserver continues to respond and service requests but if I look in the services control panel, it says that the Cold Fusion MX Application Server is not started. And when I try to start it generates a type 2 error. But at the same time the CFMX server is functioning. This happened on two machines. Any idea why?
Brook At 02:58 PM 25/10/02 -0700, you wrote: >Hello everyone.. Thought I would update you on the issues that caused >the "long" thread here. I'm posting here, because this is NOT about how >to manage communication between MM and ourselves. Rather, this is >specifically about the technical aspects of what's happening now. > >Here goes... (This is a long one!) > > > >** BIG - HUGE - HONKIN' - DISCLAIMER **************************** >I'm sending out this info for just that purpose.. INFO. It is NOT >recommended as a way for you to handle your own problems with CF(MX), >nor is this information, in any way shape or form, given at the behest >of, or suggestion from, Macromedia. These are MY observations and >workarounds. THEY MAY NOT WORK IN YOUR CASE -- PARTIALLY OR AT ALL, AND >MAY DESTROY DATA, GIVE YOU A HORRIBLE, PAINFUL AND INCURABLE DISEASE, >REMOTELY KILL YOUR PARENTS, GRANDPARENTS AND/OR REMAINING FAMILY WITH >NUCLEAR FALLOUT, AND/OR DRAIN YOUR BANK ACCOUNT, ALONG WITH ANY NUMBER >OF OTHER MORE PAINFUL AFTER-EFFECTS ((c)2002 ADOBE). You have been >warned. >***************************************************************** > > > > > >Issue #1: >~~~~~~~~~ >Server Spiraling Out Of Control > >Symptom: >~~~~~~~~ >At irregular intervals, IIS5 will begin to spiral upwards in the number >of "Current Connections", showing that many of them are not dead/dying >properly. Correspondingly, the number of "Running Requests" of the JRUN >(CFMX) service begin to rise as well, with a "floor" number staying >stable (not dying), yet ever increasing until the CFMX server will stop >responding to CFM file requests at all. > >If we restart only IIS, on some occassions CFM files CALLED DIRECTLY >will begin to fail with 404 errors. However, indirect calls to the same >files will work normally (sometimes). I.e., >"http://www.somedomain.com/index.cfm" fails with a 404, whereas >"http://www.somedomain.com" works fine (sometimes) (and yes.. there is >ONLY an "index.cfm" file -- no default.xxx or other "home" pages in the >dir). > >Workaround: >~~~~~~~~~~~ >We have noticed that simply using the PerfMonitor to restart the CFMX >and IIS services does not always work properly. Sometimes, as mentioned >above, the IIS server simply loses touch with CFMX and delivers bizarre >404 errors, where other times CFMX will simply not respond and the >entire site appears to be offline. This DOES NOT correspond (as far as >we can tell) in any significant way to whether the page connecting to an >outside datasource. > >Therefore, we decided to try simply restarting the "jrun.exe" service >directly using the "cfstop.bat" and "cfstart.bat" files that are located >in the <CFMX Root Dir>\bin directory. We trigger this restart using >PerfMon and setting "alerts" to make sure that we have no more than 25 >"Running Requests" for the JRUN service, and another that runs the >restart if we have more than 125 "Current Connections" to IIS. These >numbers may seem low. However, if we do not restart at these points, >either IIS or CFMX will begin to run VERY slowly, or simply not respond >at all. And since CFMX's Probes stop working when CFMX itself stops >working, a probe is useless. Besides, CF never does restart itself >properly "... after X unresponsive requests." > >Here is the BAT file that is used to restart the JRUN service: > >======= >@echo off >cls >REM ========== RESTART CFMX =============== >c: >cd \ROOTCFMXDIR\bin >call C:\ROOTCFMXDIR\bin\cfstop.bat >c:\winnt\system32\kill -f jrun.exe >c:\winnt\system32\kill -f jrun.exe >sleep 2 >call C:\ROOTCFMXDIR\bin\cfstart.bat >REM =========================================================== >Exit (interesting that this isn't needed, nor does it work.. So don't >ask me why it's here. :) ======= > >You may well ask "Why do you kill JRUN.EXE twice?" Good question! >Because JRUN.EXE is an actual service, we are effectively killing the >old service and opening a new one in a new CMD window (hidden of >course). We noticed that if we only kill it one time, it will not die. >Therefore, we will end up with dozens of CMD instances, along with >dozens of JRUN.EXE instances by day's end. We have found that killing >it twice does, indeed, get rid of the old instance, and properly create >only one new instance. > >It is important to note that there is no way (at least that I know of) >to cause PerfMon alerts to start themselves, upon a reboot caused >remotely. So if you're not there to start the alerts manually, they >will not restart the server if they are triggered. > >Lastly, we tried adding the CFMX ODBC services to this restart bat >file.. with no consequence other than it taking longer to come back to >life. So we took them back out. Currently, this work around causes the >server to go offline for about 10-15 seconds... each time it is >restarted. > >Status with Macromedia: >~~~~~~~~~~~~~~~~~~~~~~~ >Pending solution. > > ----- > > >Issue #2: >~~~~~~~~~ >NTEXT Fields in SQL Database Not Being Returned > >Symptom: >~~~~~~~~ >One of our clients called and complained that, quite suddenly after >5-1/2 years of things working very smoothly, the "notes" field in the >database results of his site suddenly were GONE! He'd be HACKED! Well, >of course, after some careful research, he hadn't been hacked. Rather, >SQL (or rather CFMX) suddenly stopped returning the data to the forms. > >Research Test: > > - Opened individual record via web and viewed it's contents. > - Sure enough, notes field is blank. > - Opened SQL Ent Mgr, verified there is data in the field within >the db. > - Wrote test.cfm page to run queries against the database. > - Using SELECT query, was able to say the following and get a >recordcount that is proper: > > <CFQUERY NAME="testq" DATASOURCE="mydatasourcenamehere"> > SELECT contactid, notes, testfield > FROM thetableiwant > WHERE notes not like '' > </CFQUERY> > > CFOUTPUT of "#testq.recordcount#" shows 15,332 records. >That's correct. However, > if we do the following, nothing is returned but a long column >of ">< - 0": > > <CFLOOP QUERY="testq"> > <CFOUTPUT> > >#notes#< - #len(notes)#<br><br> > </CFOUTPUT> > </CFLOOP> > - We changed the type of the field "notes" within the database >field to be "nvarchar" from "ntext". > - Voila! Data is returned normally. > - We added a new temp field called "testfieldagain" and gave it >an "ntext" type. > - Added data to a few of the records in the db. > - Rewrote the query above to pull those records. > - Recordcount was proper. > - Data was not returned properly. I.e., same results as before. > - Changed type from "ntext" to "nvarchar" and reran query. > - Voila! Data was returned normally. > > >Workaround: >~~~~~~~~~~~ >Change all your "ntext" data types to "nvarchar" -- and be CERTAIN to >make them REALLY LONG, otherwise truncating data will most likely occur. > >Status with Macromedia: >~~~~~~~~~~~~~~~~~~~~~~~ >Pending solution. > > > ----- > > >Issue #3: >~~~~~~~~~ >Database Oddities Including Disappearing Records and Changing Data > >Symptom: >~~~~~~~~ >A different client called to say that they were experiencing something >quite odd, and wondered if it had to do with the server's problems with >CFMX. The issue is that they have entered data into the database -- >confirmed that it is there -- and then simply had it change or >disappear. In some cases it would REappear after some time. In other >cases it would stay gone or changed. > >We confirmed this by going to the site, entering data, and then >refreshing the browser after some time. And sure enough, the old data >would come back into the results from the database, even after we had >CONFIRMED that it was returning the proper information. > >Research: > > - Created a new record via the web. > - Entered proper data and saved it. > - Went to main site and looked at data. Looks great. No >worries. > - 15-20 minutes later, refreshed browser - record was GONE. > - Went back into admin portion of site, re-entered data. > - Confirmed it was in the main site. Looked at it, and even >printed it out. > - 15-20 minutes later, refreshed browser - no such record! > - Noticed that in both cases, the server had run the restart >(from Issue #1 above). > - Changed an existing record in website interface. > - Looked at database (via SQL Ent. Mgr.). No change to record >-- old info still in record. > - Looked at main website -- record has new data! > - Looked back at database -- record has old data! > - Restart occurred. > - Refreshed browser -- old data in browser now! > - Changed record manually using SQL Ent. Mgr. > - Refreshed browser -- new data is there. > - Waited.. Restart occurred. > - Refreshed browser -- new data is STILL there! > >Our Conclusion: Something must be up with database drivers where data >is not truly being committed to database properly. After restart, >problem occurs storing data or some other database discussion issue.. So >database rolls back to previous state. > >Workaround: >~~~~~~~~~~~ >None that we can find. Adding "BEGIN" and "END" transaction statements >doesn't seem to help. (Suggestions anyone?) > >Status with Macromedia: >~~~~~~~~~~~~~~~~~~~~~~~ >Pending solution. > > > ----- > > >Issue #4 >~~~~~~~~~ >Use of any form of the word "Select" or "drop" in a text field being >stored in a datasource causes error message. > >Symptom: >~~~~~~~~ >If you use any form of those words, (i.e., select(ion), or drop(ped)) >you get a record storage error from CF. But the record itself is >actually stored normally. > >Workaround: >~~~~~~~~~~~ >This is actually a documented issue with CF (notice I didn't say "CFMX") >that was supposed to be fixed in the CFMX release. (See release notes: >http://www.macromedia.com/support/coldfusion/releasenotes/mx/releasenote >s_mx_updater.html#issues). > >However, issue is not yet resolved, apparently. See forum discussion >from my client: >http://webforums.macromedia.com/coldfusion/messageview.cfm?catid=6&threa >did=463648 > > > ----- > > >So.. I hope this helps, folks. Just wanted to give you all a heads-up >as to what's going on. Realize too that I'm working with Mike Collins >from Macromedia on these issues. He has been great, and has spent quite >a bit of "off" time helping me find the cause of these issues. I've >given him access to my CFMX Administrator as well as Terminal Services >access to the box in question. > >We're working on it! :) > > >Lee Fuller >Chief Technical Officer > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm

