Miles' Blog
http://2yup.com/blojsom/blog/miles/
Welcome 2 My Planet
MILES
miles@2yup.com
2007-03-05T14:10:13+08:00
en
-
A permission problem during MRTG intallation|MRTG安装中的权限问题
http://2yup.com/blojsom/blog/miles/develop/trouble-shooting/?permalink=76B0B3CB1EC7DB77A68EA1E636BABECD.txt
今天给136配置了MRTG服务,用来监控流量。由于安装过太多次,所以整个过程都很顺利。安装到位后启动时出现如下错误:<br/>
<pre style="width: 600px; overflow: scroll;">
2007-03-05 13:39:49 -- ERROR: Skipping webupdates because rateup did not return anything sensible
2007-03-05 13:39:49 -- WARNING: rateup died from Signal 0
with Exit Value 1 when doing router '127.0.0.1_16777219'
Signal was 0, Returncode was 1
2007-03-05 13:39:49 -- ERROR: Skipping webupdates because rateup did not return anything sensible
2007-03-05 13:39:49 -- WARNING: rateup died from Signal 0
with Exit Value 1 when doing router '127.0.0.1_16777220'
Signal was 0, Returncode was 1
</pre>
上网搜了一下,没有找到贴题的文章,但是看到好几个由于权限问题导致的MRTG错误。所以检查了一下MRTG的output dir,把这个目录的权限设置为Everyone可写,问题解决。看来应该是启动MRTG的帐户对这个目录权限不足造成了写入文件失败。特此记录,一面日后重蹈覆辙。
2007-03-05T14:10:13+08:00
http://2yup.com/blojsom/commentapi/develop/trouble-shooting/?permalink=76B0B3CB1EC7DB77A68EA1E636BABECD.txt
-
firefox wmlbrowser extension的select bug终于解决了
http://2yup.com/blojsom/blog/miles/develop/trouble-shooting/?permalink=8C258734D5119E7E5F91993B53F33A4C.txt
bug#9321, <code>"Data from select/option fields are not sent"</code>终于在0.6.9版被shoot down了,大快人心啊!!<br><br>
这个extension许久都没有动作了,0.6.8还是年初的版本。hoho~~ 难道和我不懈的骚扰有关系?前段时间和Project Owner[Matthew Wilson]通过信催这个问题,他当时的回答居然是:
<pre>
Sorry about that, I'd forgotten about it to be honest. I'll try and sort
something out soon.
Matthew
</pre>
当时真是晕啊~~这么好的DD难道只有我一个人用么???? :|
2005-05-26T16:20:49+08:00
http://2yup.com/blojsom/commentapi/develop/trouble-shooting/?permalink=8C258734D5119E7E5F91993B53F33A4C.txt
-
cvs错误:cannot find .: No such file or directory
http://2yup.com/blojsom/blog/miles/develop/trouble-shooting/?permalink=8713647BF0843D1DFD0EE7BC5E1BADB1.txt
服务器重整以后,cvs update/commit时候会出现如下错误提示:<br>
<code>cvs server: cannot open directory . for empty check: Invalid argument</code><br>
虽然不影响使用,但是却很让人不爽。<br><br>
而chacl时候,则是:<br>
<code>cvs [server aborted]: cannot find .: No such file or directory</code><br>
干脆就直接出错。研究了一下cvsnt里面的设置,感觉应该只和cvsroot及temp目录有关——毕竟只用到这两个目录而已。检查之后发现winnt/temp没有对cvsuser这个系统帐号的权限。设置之后问题解决。<br><br>
虽然cvsuser只是一个停用了的cvs用户绑定帐号,但是权限管理方面仍然遵循着ntfs的规则。这么说来停用的意义应该仅仅是限制登录。
2005-05-10T09:47:22+08:00
http://2yup.com/blojsom/commentapi/develop/trouble-shooting/?permalink=8713647BF0843D1DFD0EE7BC5E1BADB1.txt
-
JTDS: A bug while preforming full-text search
http://2yup.com/blojsom/blog/miles/develop/trouble-shooting/?permalink=1B68003ED298F4025346C8BE94202A48.txt
When took JTDS as MSSQL jdbc driver and did a pre-query like this:<br>
<code>select * from tbltopic where contains(topic, ?)</code><br>
we got a SQLException saying:<br>
<code>...ResultSet is TYPE_FORWARD_ONLY...</code><br>
And this exception did not come up while using a regular sql statement:<br>
<code>select * from tbltopic where contains(topic, '+keyword+')</code><br><br>
Is this a bug or something of JTDS? :(
2005-04-19T15:29:59+08:00
http://2yup.com/blojsom/commentapi/develop/trouble-shooting/?permalink=1B68003ED298F4025346C8BE94202A48.txt
-
d-o-e PI以及奇怪的namespace问题
http://2yup.com/blojsom/blog/miles/develop/trouble-shooting/?permalink=D3AA3336B811161854CAD604A10CAE0C.txt
在xslt中,经常有需要保留<>,不把它替换成&lt;&gt;的需求。比如今天就遇到了需要在xslt中利用xalan调用java static method,生成部分wml代码的情况。按规范上说,只需要用
<pre>
<xsl:value-of disable-output-escaping="yes" select="string('<')"/>
</pre>
这样的方式,就可以达到目的。这种方法在MSXML中完全没有问题。可是,到了java中情况就完全不同了。上述代码得到的是这样的一个半成品:
<pre>
<?javax.xml.transform.disable-output-escaping?>
</pre>
意思似乎是让你再找个什么玩意作二次转换。可是找了一圈也没有找到处理这个d-o-e PI的办法。鉴于时间有限,只能用笨办法了:就是字符串分析替换。邮件列表里面很多人都遇到了这个问题而且一筹莫展,真搞不懂这个设计是什么意思 :|<br><br>
做了半天苦力搞好了这个问题,新的,更BT的问题又来了。这样的一个xsl文件:
<pre>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:funcs="xalan://com.yupstudio.app.downwap.common.util.XSLTFuncs">
<xsl:output
method="wml"
omit-xml-declaration="no"
indent="no"
doctype-public="-//WAPFORUM//DTD WML 1.3//EN"
doctype-system="http://www.wapforum.org/DTD/wml13.dtd" />
......
</pre>
实在搞不清楚为什么会有这样的输出:
<pre>
<wml
xmlns:funcs="xalan://com.yupstudio.app.downwap.common.util.XSLTFuncs">
</pre>
这个namespace说明的attr为什么会加入这里?要知道到生成这个结果的时候,xalan已经发挥完作用了啊!解决方式仍然是简单粗暴:用regexp直接搞掉<wml>tag的所有attr。<br><br>
最后,一个字总结今天的心得——郁闷成P了!<br><br>
<hr size=1>
补充一下,前两天这个namespace错误又有出现。观察现象发现当主xsl和include进来的xsl的<code>xsl:stylesheet</code>标签中的xmlns声明部分有不同时就会使得included xsl的顶级标记中出现xmlns的声明。<br><br>
例如主xsl(main.xsl):
<pre>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:funcs="xalan://com.yupstudio.app.downwap.common.util.XSLTFuncs">
</pre>
从xsl(footer.xsl):
<pre>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:funcs="xalan://com.yupstudio.app.downwap.common.util.XSLTFuncs"
xmlns:digest="xalan://com.yupstudio.app.downwap.common.util.DigestUtil">
</pre>
那么在footer xsl负责解析的wml底部的那个<code>P</code>标记就会成为:
<pre>
<xmlns:digest="xalan://com.yupstudio.app.downwap.common.util.DigestUtil">
</pre>
修改主从的xmlns定义一致即可解决问题。
--08-01-18
2005-03-25T19:16:40+08:00
http://2yup.com/blojsom/commentapi/develop/trouble-shooting/?permalink=D3AA3336B811161854CAD604A10CAE0C.txt
-
一个奇怪的中文编码问题的粗暴解决办法
http://2yup.com/blojsom/blog/miles/develop/trouble-shooting/?permalink=7DB5202DA15F7811F7956DE0C0B5A9ED.txt
老系统中文编码有问题。如果不设置contentType为<code>text/html; charset=gb2312</code>,则虽然是html源文件是中文,但是需要更改IE的charset设置(这时候实际上察看http header看到的contentType是<code>text/html; charset=iso8859-1</code>);如果设置了contentType为gb2312,则html源里面的中文直接成了???。<br><br>
这个老系统当时运行于jdk1.3+tomcat3下,当时就不知道是那根筋不对,怎么都搞不定,最后套了一个客户端包IE,强制了编码才掩盖了问题。现在3年多过去了,怎么也得长点本事吧?于是就开始想尽办法折腾。试过了所有的方法,包括设置filter,给html加所有相关的<meta>,甚至包括设置jb的默认字符集,都完全无效。实在气不过,甚至反编译了tomcat的HttpServletResponse、JspWriter等的实现代码,一时也没看出门道。。<br><br>
最后,心一横,给问题定了性:不就是一个老系统么?咱不浪费那个时间,简单粗暴地解决问题就算搞完!下面就是暴力解决法:
<pre>
public class HtmlMimeResponseWrapper extends HttpServletResponseWrapper {
//....
public PrintWriter getWriter() throws IOException {
PrintWriter writer = super.getWriter();
MyWriter myWriter = new MyWriter(writer);
return myWriter;
}
//...
}
</pre>
没错!就是用一个filter,把他的PrintWriter包裹起来。decorator里面decorate,哈哈。。PrintWriter是一个内部类,细节如下:
<pre>
class MyWriter extends PrintWriter {
PrintWriter writer;
public MyWriter(PrintWriter writer) {
super(writer);
this.writer = writer;
}
// 关键在这里!
public void write(String buf) {
String newbuf = null;
try {
newbuf = new String(buf.getBytes("iso-8859-1"));
}
catch (UnsupportedEncodingException ex) {
}
writer.write(newbuf);
}
public boolean checkError() {
return writer.checkError();
}
public void print(Object obj) {
writer.print(obj);
}
public void print(String s) {
writer.print(s);
}
public void print(boolean b) {
writer.print(b);
}
public void print(char c) {
writer.print(c);
}
public void print(char[] s) {
writer.print(s);
}
public void print(double d) {
writer.print(d);
}
public void print(float f) {
writer.print(f);
}
public void print(int i) {
writer.print(i);
}
public void print(long l) {
writer.print(l);
}
public void println() {
writer.println();
}
public void println(Object x) {
writer.println(x);
}
public void println(String x) {
writer.println(x);
}
public void println(boolean x) {
writer.println(x);
}
public void println(char x) {
writer.println(x);
}
public void println(char[] x) {
writer.println(x);
}
public void println(double x) {
writer.println(x);
}
public void println(float x) {
writer.println(x);
}
public void println(int x) {
writer.println(x);
}
public void println(long x) {
writer.println(x);
}
public void close() {
writer.close();
}
public void flush() {
writer.flush();
}
public void write(String str, int off, int len) {
writer.write(str, off, len);
}
public void write(char[] cbuf) {
writer.write(cbuf);
}
public void write(char[] cbuf, int off, int len) {
String s=new String(cbuf, off, len);
this.write(s);
}
public void write(int c) {
writer.write(c);
}
}
</pre>
现在把问题从头掐了。虽然粗暴了一点,不过效果达到了。对于那些没有时间深究,或者懒得深究的问题,用这样的方法还是不错的。<br><br>
另外值得一提的是jb的Delegate member wizard功能。通过他可以快速的作出一个Wrapper类,不用把super class的方法都一个一个去机械的实现,很是省力。只不过以前的jb里,这个功能处于Wizard主菜单,而现在则藏到了Edit下。。害我一顿好找 :(
2005-01-21T08:14:45+08:00
http://2yup.com/blojsom/commentapi/develop/trouble-shooting/?permalink=7DB5202DA15F7811F7956DE0C0B5A9ED.txt
-
mail.jar无法释放
http://2yup.com/blojsom/blog/miles/develop/trouble-shooting/?permalink=410B0EE02ED089BE4324C5CABBC86203.txt
环境:win2k+tomcat5.0.24
我的webapp用到了java mail api。按理说每次上传新的xxx.war以后,tomcat会先清除现有的xxx目录,然后展开新war。可是我这个应用却出了问题:web-inf/lib/mail.jar无法删除,提示占用(其他的jar、jsp已经全部删掉了)!只有shutdown tomcat才可以删除并重新deploy。。<br><br>
释放java mail资源的地方只有<br>
<code>transport.close();</code><br>
不过以前也是这样的,似乎并没有问题。<br><br>
究竟怎么回事儿啊??去sun和google转了好大一圈,还是无解。。。
2004-12-09T10:04:51+08:00
http://2yup.com/blojsom/commentapi/develop/trouble-shooting/?permalink=410B0EE02ED089BE4324C5CABBC86203.txt
-
firefox和ie对于<input type=file>的不同处理
http://2yup.com/blojsom/blog/miles/develop/trouble-shooting/?permalink=61563D6D78BEE022BD1CA19D08F539B1.txt
传递过来的filename,IE会是全路径,而firefox则是文件名。因为这个前两天还搞出来一个bug。
其实按理说,后者更合理。因为对于server端,没有必要也没有权利得到客户端的文件完整路径信息。
2004-12-07T14:27:08+08:00
http://2yup.com/blojsom/commentapi/develop/trouble-shooting/?permalink=61563D6D78BEE022BD1CA19D08F539B1.txt