什么是只有Beak才知道的不可挽回的错误!? (或小于点)

时间:2009-05-27 22:16:07

标签: java iis coldfusion

我曾经在我工作的一家商店每隔几天发生一次错误,其中一位用户称之为“Beak”,因为她认为这让她想起了一个:

<

......在源头看起来像:

<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>

通过在ColdFusion服务器上弹跳JRun可以很容易地逆转“Beak”,当我直接控制我的服务器时,这对我来说已经足够了,弹跳它就没有时间,也没有太严重的影响。

现在我在一家我没有管理员访问网络服务器的商店,而且(从商业角度来看),服务器在任何特定时刻都在交易大美元符号,并且不能只是被退回

除了随机收集的B和P之外,谷歌无法搜索任何其他内容,这种不懈的好奇心永远受到挫败。

但是现在......现在我已经......所以我知道了。

我不能说它是CF,事实上,我怀疑它实际上是Java ......或者IIS ......或者宇宙用刺耳的喙形状的棍子戳我......

Beak究竟是什么,我怎么让它消失?


编辑混淆......

我不能说我可以让问题更清楚,但我可以说缺乏清晰度主要是错误的一个功能,而不是我缺乏包容性。

错误不是来自一段代码......没有特定的行号...查看日志文件从未透露过在问题发生之前运行的模板或模板。

一旦触发,错误会影响从服务器请求的每个模板,其效果是返回此字符串,而不是其他任何内容,以响应HTTP请求:<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>

重新启动JRun服务会导致问题消失...重置Web服务器(在所有情况下为IIS)或数据库服务器(MSSQL,MySQL和Access)或服务器本身(Windows,各种版本,各种硬件)是不必要的。

老实说,我没想到之前没有看到过这种错误的人甚至没有回应。我很欣赏那些有意义的人尝试过,但这不是Web Developer Oversight错误(在传统意义上),并且可能不需要代码片段来识别或解决它。

我希望这至少可以澄清我缺乏信息的程度,以阐明我为什么要求提供更多信息。

3 个答案:

答案 0 :(得分:5)

查看生成此输出的页面的源代码会有所帮助。你所描述的不是任何程序语言的“错误”,而是某个函数的结果,或者可能是某些资源在偶尔不可用时的期望。您可以采取的措施包括收集尽可能多的有关导致问题发生的信息。以下是调试未知问题时应遵循的一般指导原则。

  1. 问题是否因信息不同而间歇性?如果是这样,那么可能不是某些明确的代码行是错误的,而是对某些外部资源(如数据库)的假设,开发人员认为这些资源总是可用的(您的代码必须考虑用户将体验到的内容)数据库不可用。)
  2. 问题可以在不同的环境(如工作站)上重现吗?平台之间的微妙变化(Debian与Red Hat,甚至Java 1.6.10与Java 1.6.9)之间的微妙变化可能会引发意想不到的问题。
  3. 可以用不同的信息重现问题吗?也许问题出现是因为开发人员认为某些无效值永远不会超过某些早期的过滤器,因此从不困扰在生成错误的函数中捕获无效值,这是常见的是编写得很糟糕的Web应用程序,因为人们倾向于认为HTML表单只允许输入一组特定的值
  4. 希望这有帮助。

答案 1 :(得分:3)

奇怪的问题,这是一个奇怪的答案。

a)小于点(“&lt;。”)是J编程语言中的符号用法,据我所知,它与Java底层ColdFusion没有任何关系。这意味着(我引自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)此精确错误在另一个论坛上被用户kaht用作签名,因此他们可能对此有所了解。签名中的链接将您带到lessthandot.com,这是一个包含大量难题的编程论坛。论坛名称由“Beak”提示。

如果您可以发布错误的完整输出,那么找出导致它的原因还有很长的路要走;正如您所认识的,重新启动CF服务器并不是永久的解决方案。

答案 2 :(得分:1)

也许这是内存泄漏?这可以解释它“随机”发生并通过重启JRun来修复的事实。

“beak”(<P><B><P><B><P><B><P> ...)可以由应用中的cferror模板生成。您应该尝试更改错误模板(如果没有错误模板,请创建一个),以便它只包含以下行。

<cfdump var="#cferror#">

根据您提供的信息,这是我最好的猜测。人们要求提供更多信息,我认为拒绝是错误的。我可以从经验告诉你,如果你坚持认为你的疏忽,你会更快地找到这类问题的答案。