views:

247

answers:

3

I used to get an error every couple days at a shop I worked at, one of the users called it "Beak" because she thought it reminded her of one:

<.

...which, in the source, looks like:

<P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><.</B>

"Beak" can be readily reserved by bouncing JRun on the Coldfusion server, and that was enough for me when I had direct control over my server, and bouncing it took no time and impacted no one too severely.

Now I'm in a shop where I don't have admin access to the webserver, and moreover (from a business perspective), the servers are transacting big dollar signs at any given moment, and can't just be bounced.

My undying curiosity was perpetually thwarted by Google's inability to search for anything other than a random collection of B's and P's.

But NOW... Now I have SO... and SO knows.

I can't say its CF, in fact, I suspect its Java actually... or IIS... or the cosmos poking me with an annoying beak shaped stick...

What the heck is Beak, and how do I make it go away.


Edits for the confused...

I can't say I can make the question much clearer, but I can say the lack of clarity was mostly a function of the error, and not my lack of inclusion.

The error doesn't come from a piece of code... there is no specific line number... Looking through log files has never revealed a template or templates that are run before the problem occurs.

Once triggered the error affects every template that is requested from the server, that effect is to return this string of letters, and nothing else, in response to the HTTP request: <P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><B><P><.</B>

Restarting the JRUN service causes the issue to go away... resetting the web server (IIS in all cases) or the database server (MSSQL, MySQL and Access) or the server itself (windows, various versions, various hardware) is unnecessary.

I honestly didn't expect anyone who HASN'T SEEN THIS EXACT ERROR before to even respond. I appreciate that well meaning folks have tried, but this isn't a Web Developer Oversight error (in the traditional sense) and code snippets will probably not be required to identify or resolve it.

I hope this clarifies my lack of information at least more to the degree to elucidate why I am asking for more information.

+4  A: 

It would help to see the source code for the page that is generating this output. What you are describing is not something that is a "fault" of any program language but rather the result of a function or perhaps an expectation that some resource is available when occasionally it is not. Things you can do to solve this would include collecting as much information about what causes the problem to occur. Here are some general guidelines to follow when debugging an unknown problem.

  1. Is the problem intermittent with the same information? If so, then it is likely not some explicit line of code that is wrong but rather an assumption about some external resource (like a database) which the developer assumes will always be available (your code has to consider what the user will experience if the database is not available).
  2. Can the problem be reproduced on a different environment (like your workstation)? Sometimes subtle changes between platforms (Debian vs. Red Hat, or even Java 1.6.10 vs. Java 1.6.9) can introduce unexpected issues.
  3. Can the problem be reproduced with different information? Maybe the problem occurs because the developer assumes that some invalid value could never get past some earlier filter and thus never bothers to trap invalid values at the function that is generating the error, this is common is poorly written web applications because people tend to assume that HTML FORMs only allow a certain set of values to be entered

Hope this helps.

Jason Sperske
Sorry... I should have been more clear I suppose... the lack of information IS the issue.1. Once "triggered" any page attempting to render on that server will display error.2. As I mentioned, this has occured on two mostly different environments, for two completely separate companies, and two WILDLY DIFFERENT codebases.3. The problem can not be reproduced. If it could be reproduced I could Identify at least WHY it occurs.
OhkaBaka
+1  A: 

Strange question, so a strange answer.

a) Less than dot ("<.") is a symbol use in the J programming language, which to my knowledge doesn't have any relationship with the Java underlying ColdFusion. It means (I quote from a course on J run by Steven Phillips in Japan

Monadic case: Returns the next integer less than y 
Dyadic case: Returns x if x is smaller than y, else y

b) This precise error is used as a signature by user kaht on another forum, so they might know something about it. The link in the signature takes you to lessthandot.com, a programming forum with plentiful puzzles. I don't know the origin of the forum name but it's unlikely to be related to "Beak".

If you can post the full output of the error then it'd go a long way to figuring out what's causing it; restarting the CF server isn't a permanent solution, as you recognise.

Alistair Knock
a) You're correct in that it is likely unrelated.b) I found Kaht's signature as well, as of yet I have had no response from the owner about the nature of the signature.c) that IS the full output of the error. The ENTIRETY of the html passed from the server is that string.
OhkaBaka
In that case I'd be inclined to say this needs a support call to Adobe (assuming you haven't already done so), unless you're happy to wait it out until someone else turns up. Assuming that you were running the same set of source code each time, there's surely got to be a trigger in there that causes this failure (not saying the code is wrong, but there's a common denominator).
Alistair Knock
I believe this has happened on 3 different codebases at two different companies. So the only common denominator I can find is that it occurs on windows and CF... and that I witnessed it.Maybe I've done tech support for too long and I'm jaded, but between "Is it happening right now (No)," "can you reproduce it (No)," and "do you have any third party software installed (Yes)"... I feel it isn't going to get much love from tech support.AND... its a curiosity not worth the pain of tech support hold, I've only seen it once in this environment in a year.
OhkaBaka
I see what you mean, but don't see any harm in resubmitting the question on the Adobe CF forums if you haven't already done so, just in case it's spotted by someone who has experienced the error. To me there is some pattern - something is outputting (probably in a loop) p and b tags 14 times before flipping out. Either that or put it down to force majeure.
Alistair Knock
+1  A: 

Maybe it's a memory leak? That would explain the fact that it happens "randomly" and is fixed by restarting JRun.

The "beak" (<P><B><P><B><P><B><P>...) could be generated by a cferror template in your application. You should try changing your error template (and create one if you don't have one) so that it contains only the following line.

<cfdump var="#cferror#">

That's my best guess, based on the information you provided. People have asked for more information, and I think it's a mistake to refuse. I can tell you from experience you will find answers to problems like this sooner and more often if you cling to the assumption that there was an oversight on your part.

Patrick McElhaney
Thought about Memory leaks, God knows CF has issues there... but it can happen within minutes of the last time it happened, or months... Memory issues can occur in between, without any apparent affect.CF Error is a good idea, but we've been through 3 templates, none of which have that code in them (in any manner I've been able to see)... and no errors are recorded in the log.LOL... I hardly think I'm refusing information, I just don't have any to share, I apologize to all if thats how it seems.
OhkaBaka