-
1. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
Anit Kumar Panda Jul 14, 2014 7:13 AM (in response to WolfShade)How did you migrate the settings from ColdFusion (older server to new server)? Did you use CAR file? Can you share the exception logs from ColdFusion for further analysis?
It seems to be a permissions issue, however, logs will justify the same OR not.
Regards,
Anit Kumar
-
2. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
Charlie Arehart Jul 14, 2014 7:32 AM (in response to WolfShade)@Wolfshade, sorry to hear you’re having such trouble. You don’t indicate some things so I’m going to back up and point out some fundamentals, in case it may help, though I know you’re an experienced Admin who’s helped a lot of others here.
First, note that the Solr collections operate in a separate jvm from CF. By default, they are running as the Jetty Service on CF10 (in Windows), and CF is configured to connect to it via HTTP in the next page of the CF Admin (under “ColdFusion Collections”) called “Solr Server”. It is also possible for you to have installed a separate Jetty/Solr server (even on another box) and then configure that CF admin page to point there instead.
So when you say that the collections page give an error, the first suspicion should be connectivity from CF to that Jetty/Solr server.
What do you see for the domain, and for the port listed in its “Advanced Settings” page? Judging from the error, I suspect you will see localhost for the domain and “0” for the port, which would be odd. The default is 8985. If it’s 0, that may be your problem, and the question would be how it got changed. (Could have been done in the Admin, or someone could have been tweaking tue underlying neo-*.xml file(s).)
But then I see also at the bottom of that page that if you enable an https connection, the setting shows a default of 0 for that port. I’ve not tried using solr via ssl. Can you tell us if that checkbox is enabled in your admin? If so, perhaps the problem is that it’s trying to use that port. First, what happens if you uncheck that checkbox, and then re-visit the collections page? (And I assume you DO have the jetty/solr service running, right?)
In fact, you could try visiting the domain or IP and port listed on that page in a browser…the non-https one, so that if it lists localhost and 8985, what do you get when you visit localhost:8985/solr/? Of course, you’d need to be browsing on the same machine as solr to use localhost. CF can use it if Its on the same machine, but you’d need to use something else if you’re browsing from off the server.
You could also look in the coldfusion-out.log, in the \[instance]\logs, to see if perhaps there’s more reported there from when you tried to visit the collections page in the CF Admin.
HTH.
/charlie
-
3. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 14, 2014 8:15 AM (in response to Anit Kumar Panda)Hello, Anit,
Thanks for your reply.
There was no migration. When I originally installed CF10, I chose to use the built-in Tomcat webserver. After a few months, I decided that I wanted to match (as much as possible) our production environment, so started looking for instructions on how to switch from the Tomcat server to Apache (without re-installing CF Server.)
All the logs show is what I've already mentioned - that it's a security issue, and the template was denied, apparently due to a java socketpermission issue.
I thought "localhost:0" meant a dynamic port, not necessarily trying to go through port 0. I had found (can't find the link, now) an article that said something about editing the neo-security.xml file to turn off the built-in server, and did that.
At first, I was having issues with CreateObject(java) - until I discovered that one of the hotfixes I had applied then affected my Sandbox Security, pushing ALL cf functions into the "disable" column. I've gone through everything in Sandbox, nothing is in the disable column, now.
V/r,
^_^
-
4. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 14, 2014 8:27 AM (in response to Charlie Arehart)Hi, Charlie! Thank you for your time.
Did not know that Solr is a distinct JVM from the rest of CF. I've actually applied the Java update (to 7.55) twice - the first time I put it in Program Files; SA said that PF is locked, so I reinstalled to root of C:\ and pointed CF Admin Java/JVM to that location. Could this be interfering with Jetty/Solr?
Solr Advanced settings:
Host Name: localhost
Solr Home: C:\ColdFusion10\cfusion\jetty\multicore
Solr Admin Port: 8985
Solr Webapp: solr
Buffer Limit: 120
Solr Connection: NOT checked for HTTPS connection (I'm not logging on to CFAdmin via SSL/TLS)
Solr Admin HTTPS Port: 0 (odd - I'm not connecting via HTTPS)
If I browse to 127.0.0.1:8985/solr/ then I get the "Welcome to Solr!" message and links to each collection.
V/r,
^_^
-
5. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
Charlie Arehart Jul 14, 2014 8:59 AM (in response to WolfShade)Thanks for the update.
So to answer your first question, the JVM you put on the box does not affect wither CF or Solr, unless you tweak them to use it. You refer to changing the java home in the Java and JVM settings (which as you may know changes CF’s jvm.config file). That would affect CF, but not Solr. Solr uses its own config file, so unless you have changed that, no there’s no impact. That said, what if you remove the change of the CF JVM back to its default? Does that make things work? I’d think not, but it’s not clear if you’ve tried it.
As for your browsing the Solr URL and getting the welcome message, that’s great. At least it confirms you do have Solr running. And to be clear, you did that in a browser on the same machine running CF and Solr, right?
So now it’s back to the error and the 0 port. Again, I’ll be curious in the ColdFusion-out.log may have any more details, or the ColdFusion-error.log. Always worth checking.
BTW, the checkbox in the advanced settings for SSL has nothing to do with whether YOU are logging into the Admin itself via SSL (you made a comment about that). The setting is instead about whether CF should communicate with the Solr server using SSL. Not only does Solr run in a separate JVM, but in fact CF talks to it via http (or https). Indeed, under the covers, when you do a CFSEARCH (or CFINDEX or CFCOLLECTION), CF turns that into a series of CFHTTP calls from CF to the Solr server. (You can even monitor those requests using a tool like FusionReactor, since it can monitor any java app, and Solr and Jetty are indeed java apps.)
But anyway, I hear you saying that the https option is NOT checked there, so let’s see what the logs may have in store for you.
/charlie
-
6. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 14, 2014 9:12 AM (in response to Charlie Arehart)Charlie,
I did not make any changes to the Solr config files.
Switching back to CFs JVM (C:/ColdFusion10/jre) does allow me to view collections.
Yes, I did access the Solr admin from the same machine that CF is running on.
I should have checked the logs before switching back to the original CF JVM - both of those logs currently only show that the logs were initialized.
Understood about the checkbox in advanced settings; but I'm confused because even though the admin settings are for HTTP, it apparently is still trying to access via port 0, which is the port set for HTTPS access. So, I wonder if a config file was inadvertently altered that would push for port 0.
I'll reset back to the 7.55 JVM, trip the error message and then check the logs to see what they say.
V/r,
^_^
-
7. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 14, 2014 9:25 AM (in response to Charlie Arehart)Okay.. all the -out and -error logs show is that they initialized, even after triggering the collection view error several times.
Looking at the exception log shows (basically) what I've already posted:
"error", "[instance name]", "07/14/14", "11:13:28", "cfadmin", "access denied (""java.net.socketPermission"" ""localhost:0"" ""listen,resolve"") The specific sequence of files included or processed is: C:\ColdFusion10\cfusion\wwwroot\CFIDE\administrator\solr\index.cfm"
Event Gateway log states nothing but "Event Gateway Disabled", from today back to the beginning.
Not sure what else to look at.
V/r,
^_^
-
8. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
Anit Kumar Panda Jul 14, 2014 9:29 AM (in response to WolfShade)Just out of curiosity, are you able to access http://ip:port/CFIDE/administrator/solr/index.cfm.
Regards,
Anit Kumar
-
9. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 14, 2014 9:33 AM (in response to Anit Kumar Panda)Yes. 127.0.0.1:8985/solr/index.cfm brings up the "Welcome to Solr!" message and links to all collections on the server.
V/r,
^_^
-
10. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 14, 2014 12:16 PM (in response to WolfShade)Not feeling well. Heading home, early, today. Will pick up, tomorrow. Thank you to everyone who has offered advice.
V/r,
^_^
-
11. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
Charlie Arehart Jul 14, 2014 8:27 PM (in response to WolfShade)Saw your later note saying you were not feeling well. Hope that passes.
As for the below, it seems the bottom line is that there is some issue with having CF use the JVM you updated to (1.7.0_55). And is it that by changing back the JVM, are you saying all is working now? That would be great.
But either I am misunderstanding or I sense that you wanting to keep digging. Is it that you want to be able to update the CF JVM also and not have it be an issue?
Along those lines, first can you confirm for us what JVM you’re on now? (There have been two installers of CF10 since it came out, which implement different JVM versions by default, one as 1.6 and the later as 1.7.) You can view it with the System Info page of the CF Admin (“I” icon in the top right.) Will be helpful to know what works and what does not, for you and perhaps for other readers observing this thread.
I wonder then how things would go if both CF and Solr were at the same JVM level. As I said before, it’s a little more work to tweak the JVM settings for Solr. You’d need to edit the jetty.lax file (which was called solr.lax in CF9). There have been various discussions of that:
http://www.coldfusionmuse.com/index.cfm/2010/4/4/solr-troubleshooting-coldfusion-9
https://forums.adobe.com/message/3655764#3655764
Note that they refer to it as per CF9. I have added comments on each to clarify the changes for CF10. lax.nl.current.vm
/charlie
-
12. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 15, 2014 6:24 AM (in response to Charlie Arehart)Charlie,
Thank you. I am feeling better, today.
If I set Java/JVM settings to use the JVM that came with CF, I can see collections; pointing CF to the update breaks collection administration in CF Admin.
But, yes, if I can keep the 7.55 update and have access to collections, that would be ideal. If it's not possible, then it's not possible, but the thing is - I'm trying to get my DEV environment to match our production environment, and the production CF is using the 7.55 update and still has access to collections. So, our SA and myself are stumped as to why this would be. (I guess the OS, maybe, since I'm running Win7 64-bit and the production server is 2008 64-bit. But that seems a bit of a stretch.)
Is it possible that when I point CFAdmin JVM to the newer/updated version that something in a Solr config file is being altered, as well? OR, should be altered but isn't?
I'll type what details of my DEV installation I think may be pertinent:
Installation file: ColdFusion_10_WWEJ_win64.exe
Version: 10,0,13,287689
Tomcat Version: 7.0.23.0
Windows 7 (6.1)
Adobe Driver Version: 4.1 (Build 0001)
Java Version 1.7.0_55 (so, currently, collections cannot be administered)
Java File Encoding: Cp1252
Java VM Version: 24.55-b03
Java Class Version: 51.0
Java Ext Dirs:
C:\Java7\jdk\jre\lib\ext
C:\Windows\Sun\Java\lib\ext
If there is anything else that might help pinpoint the issue, please advise.
V/r,
^_^
-
13. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 15, 2014 2:01 PM (in response to WolfShade)Finally got around to editing the Jetty config files. No change; the exact same error message about security and port 0. Put everything back the way it was.
I'll give it a few more days to see if any other ideas pop. If not, then I'll (begrudgingly) put my CF10 back to Java 6 and go from there. I guess it's not CRITICAL that my dev matches prod exactly; but it might help with certain troubleshooting (esp if said troubleshooting involves Java.)
Thank you, all, esp. Charlie.
V/r,
^_^
-
14. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
Charlie Arehart Jul 16, 2014 5:56 AM (in response to WolfShade)So close. Before you move on, can you confirm first that you did restart the Jetty service after making that change? I’ll assume so.
Second, and along those lines, can you do anything to confirm that Jetty/Solr is indeed picking up that changed JVM? It would be best if you could get it to report itself what JVM it’s using. I’m not aware of any way to get Solr/Jetty to reports its version in any interface or logs. Anyone else? Here’s another thought that could at least confirm that you did change the right file and it WAS looking at that change: change the lax fil’s pointer to the JVM to be a wrong directory. Then when you restart solar/jetty, you should have it fail to come up. Can you confirm if that’s so?
It would just be great to resolve this problem, and while you could file a bug report, it may take a while to get resolved that way. Since you’re willing to “give it a few more days”, hope this is one of the “ideas” you’ll consider.
/charlie
-
15. Re: Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 16, 2014 6:45 AM (in response to Charlie Arehart)Yes. I made the change to the config file, stopped the Jetty service, restarted the Application service, then started Jetty and tested.
I'll give that idea (change lax to incorrect folder and restart) a go and report back what happens. Thanks for another troubleshooting idea.
V/r,
^_^
-
16. Re: Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 16, 2014 6:59 AM (in response to WolfShade)!
Weird. I made the change so that the JVM is pointing to C:\\Java7\\jdk\\jre\\fakefolder\\javaw.exe (it doesn't exist).
On the one hand, both Jetty and Application server started. On the other hand, Event Viewer/Application shows:
The description for Event ID 3 from source ColdFusion 10 Application Server cannot be found. (Ditto for Event ID 4)
So the services are starting, instead of failing and throwing an exception.
This makes me think that those edits are being seen by Jetty/Solr. So changing Solr to the same JVM as the CF Server is using (the updated 7.55) makes no difference when it comes to administering the collections.. still the same error message about security and the template being denied.
V/r,
^_^
-
17. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
Charlie Arehart Jul 16, 2014 9:40 AM (in response to WolfShade)Well, that’s a bit of a guess though, right? It could be that the change is making no difference, and so you have NOT yet gotten it to run the same JVM as CF. I’d think we’d want to get to the bottom of that to really know if this is or is not your problem/solution. What we need is a way to see the JVM reported for Jetty.
If there’s not an interface that reports it, nor a log entry that does, you could start it from the command-line (not sure how to do that readily though) and use a jvm tool to get it to report it.
Let’s see if anyone knows of a way to get that JVM version value reported, or if you find one. I’m afraid I can’t try to investigate it now or likely at all today.
HTH.
/charlie
-
18. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 17, 2014 6:52 AM (in response to Charlie Arehart)I've been Googling for some way to CFDUMP anything related to Jetty. No luck, so far, but I'll keep searching. There must be some way to CreateObject(java) the Jetty information.
V/r,
^_^
-
19. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 25, 2014 7:07 AM (in response to Charlie Arehart)This has suddenly become an issue for production.
Apparently one of our production servers is CF9 (the rest are CF10) and on the CF9 server, every update after 7.45 is breaking Solr collections - every search triggers an email to the admin giving the exact same error message that my CF10 dev gives me when I try to go to the ColdFusion Collections in CFAdmin if the CFAdmin is pointing to 7.55 instead of the Java that comes with CF10.
Are there any recent known issues with CF9 or CF10 and the latest 3 or 4 Java updates??
V/r,
^_^
-
20. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Jul 25, 2014 8:19 AM (in response to WolfShade)I filed a bug report with Adobe. Please vote for it?
Bug#3795112 - CF9/CF10 - Java Updates 7.51+ break Solr collections
V/r,
^_^
-
21. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Aug 25, 2014 9:16 AM (in response to Anit Kumar Panda)Sorry for taking such a long time to respond. Things have been hectic, and I just returned from vacation.
When browsing to 127.0.0.1/CFIDE/administrator/solr/index.cfm it will error (unable to determine the line of the template that caused the error) with the same message as if I accessed it via CFAdmin.
I did (just today) discover that Sandbox Security plays a role in this. If I keep the JVM pointed to the updated Java and turn off Sandbox Security, I can access the Solr collections just fine. But I cannot turn off Sandbox Security in production - big no-no.
Editing JVM security and config files have not made a difference.
V/r,
-
22. Re: Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Aug 27, 2014 9:18 AM (in response to Charlie Arehart)I still have not found a way to output any of the Jetty specifics. I have noticed that this is an issue if Sandbox Security is turned on.
I have modified the java.policy file in the 7.55 JVM as follows:
// set the following to java.policy grant codebase "file:${{java.home}}/../db/lib/*"{ permission java.net.SocketPermission "localhost:1024-","listen,resolve"; }; // added the following to "grant{};" permission java.net.SocketPermission "localhost:0","connect,listen,accept,resolve"; permission java.net.SocketPermission "localhost:1024-","connect,listen,accept,resolve";I have also modified jetty.lax as follows:
//changed lax.nl.current.vm=C:\\ColdFusion10\\jre\\bin\\javaw.exe to lax.nl.current.vm=C:\\Java7\\jdk\\jre\\bin\\javaw.exe //changed lax.nl.java.option.additional=-server -Xmx1024m -XX:+AggressiveOpts -XX:+ScavengeBeforeFullGC -XX:-UseParallelGC -DSTOP.PORT=8077 -DSTOP.KEY=cfstop -Dsolr.solr.home=multicore to lax.nl.java.option.additional=-server -Xms1024m -Xmx1024m -XX:+UseConcMarkSweepGC -DSTOP.PORT=8077 -DSTOP.KEY=cfstop -Dsolr.solr.home=multicore //changed lax.nl.win32.java.launcher.platform=0 to lax.nl.win32.java.launcher.platform=2
I am still getting the access denied error message IF BOTH 7.55 JVM is selected AND Sandbox Security is on.
I have found ONE other person who is having this same issue. (sigh)
HTH,
V/r,
-
23. Re: Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Aug 29, 2014 6:14 AM (in response to Charlie Arehart)A co-worker discovered the solution to the issue we've been having with Java 7.51+ breaking Solr collections on CF9/CF10.
I sincerely hope that Adobe plans on including this fix. I'll be updating my bugbase entry, soon.
Modify neo-security.xml as follows:
Locate the line that is
<var name=' { path to CFIDE } '>
(Obviously, enter the path to your CFIDE folder in place of above attribute value.)The next line _should_ define the length of an array. Increase the value by 1.
Immediately below that, add the following:
2<struct>
3 <var name='CLASS'>
4 <string>java.net.SocketPermission</string>
5 </var>
6 <var name='TARGET'>
7 <string>127.0.0.1:0</string>
8 </var>
9 <var name='ACTION'>
10 <string>listen,resolve</string>
11 </var>
12</struct>Save neo-security.xml, restart CF Application service, and test.
HTH,
V/r,
^_^
-
24. Re: CF10: Switched from Tomcat webserver to Apache2 - now cannot access ColdFusion Collections
WolfShade Aug 29, 2014 8:51 AM (in response to WolfShade)UPDATE: Okay.. this did correct the CFAdmin issue of being able to see the collections, but it broke CFSEARCH. So, we had to undo the manual neo-security.xml edit, go into Sandbox Security and click on the entry for CFIDE, then add "127.0.0.1" which enters as "connect,resolve". NOW, manually edit the neo-security.xml file, scroll down to the bottom of /wwwroot/ var, copy and paste the whole struct for 127.0.0.1, give both of them ":0-" to cover the whole range of ports, change the ACTION of the second struct to "listen,resolve", save the file, restart the CF Application service, and test.
I'm sure different setups will require different things, but this should serve as a template for what needs to be done.




