Artifact
5e8f92601f25ee6b6a58ac89fabc68f03bc5536c:
Ticket change
[5e8f92601f]
- Ticket
[3f02165606] i18n: fossil ui can't show artifacts with non-ascii chars in the name on Windows status still Open with 1 other change
by
anonymous
2011-05-27 03:44:12.
D 2011-05-27T03:44:12.701
J +comment \n\n<hr\s/><i>anonymous\sclaiming\sto\sbe\stsul\sadded\son\s2011-05-27\s03:44:12\sUTC:</i><br\s/>\nFirst,\sby\sdefault\sthe\sfossil\sexecutable\sis\scompiled\swith\s<tt>-Os</tt>\sMinGW\sgcc\soption\son\sWindows\sas\sI\sunderstand.\sAnd\sit\sfails\son\sconditions\sdescribed\sabove.\r\n\r\nBut\swithout\s<tt>-Os</tt>\soption\sit\sworks\sfine.\r\n\r\nSecond,\shere's\smy\sdebug\soutput\sof\sfossil-with-Os\shttp\ssubprocess:\r\n<verbatim>\r\nV:\\dvcs\\wc>fossil-ggdb-Os.exe\s--systemtrace\s--sqltrace\s--httptrace\shttp\srepo\sin1.txt\sout1.txt\s127.0.0.1\s--nossl\s--localauth\r\n#\scgi:\sGATEWAY_INTERFACE\s=\s[CGI/1.0]\r\n#\scgi:\sREQUEST_METHOD\s=\s[GET]\r\n#\scgi:\sREQUEST_URI\s=\s[/artifact?name=bdbdc5bc614b3003e6e5a275ea8482a9b9059698]\r\n#\scgi:\sPATH_INFO\s=\s[/artifact]\r\n#\scgi:\sQUERY_STRING\s=\s[name=bdbdc5bc614b3003e6e5a275ea8482a9b9059698]\r\n#\scgi:\sREMOTE_ADDR\s=\s[127.0.0.1]\r\n#\scgi:\sHTTP_HOST\s=\s[127.0.0.1:8080]\r\n#\scgi:\sname\s=\s[bdbdc5bc614b3003e6e5a275ea8482a9b9059698]\r\nSELECT\s1\sFROM\sconfig\sWHERE\sname='aux-schema'\s\s\sAND\svalue<>'2011-04-25\s19:50';\r\nSELECT\s0\sFROM\sblob\sWHERE\suuid='bdbdc5bc614b3003e6e5a275ea8482a9b9059698';\r\nSELECT\srid\sFROM\sblob\sWHERE\suuid='bdbdc5bc614b3003e6e5a275ea8482a9b9059698';\r\nSELECT\svalue\sFROM\sconfig\sWHERE\sname='localauth';\r\nSELECT\suid\sFROM\suser\sWHERE\scap\sLIKE\s'%s%';\r\nSELECT\slogin\sFROM\suser\sWHERE\suid=1;\r\n#\slogin:\s[Tsul]\swith\scapabilities\s[sx]\r\nSELECT\scap\sFROM\suser\sWHERE\slogin\s=\s'nobody';\r\nSELECT\scap\sFROM\suser\sWHERE\slogin\s=\s'anonymous';\r\nSELECT\suuid\sFROM\sblob\sWHERE\srid=2;\r\nSELECT\s1\sFROM\sshun\sWHERE\suuid='bdbdc5bc614b3003e6e5a275ea8482a9b9059698';\r\nSELECT\svalue\sFROM\sconfig\sWHERE\sname='header';\r\nSELECT\svalue\sFROM\sconfig\sWHERE\sname='project-name';\r\nSELECT\svalue\sFROM\sconfig\sWHERE\sname='index-page';\r\nSELECT\suuid\sFROM\sblob\sWHERE\srid=2;\r\nSELECT\suuid\sFROM\sblob\sWHERE\srid=2;\r\nSELECT\sfilename.name,\sdatetime(event.mtime),\r\n\tcoalesce(event.ecomment,event.comment),\r\n\tcoalesce(event.euser,event.user),\r\n\tb.uuid\s\sFROM\smlink,\sfilename,\sevent,\sblob\sa,\sblob\sb\r\n\tWHERE\sfilename.fnid=mlink.fnid\s\s\sAND\sevent.objid=mlink.mid\s\s\sAND\sa.rid=mlink.fid\s\s\sAND\sb.rid=mlink.mid\s\s\sAND\smlink.fid=2;\r\nSELECT\svalue\sFROM\sconfig\sWHERE\sname='wiki-use-html';\r\nSELECT\ssubstr(tagname,\s6,\s10000),\sdatetime(event.mtime),\r\n\tcoalesce(event.euser,\sevent.user)\r\n\tFROM\stagxref,\stag,\sevent\sWHERE\stagxref.rid=2\s\s\sAND\stag.tagid=tagxref.tagid\s\s\sAND\stag.tagname\sLIKE\s'wiki-%'\s\s\sAND\sevent.objid=tagxref.rid;\r\nSELECT\sdatetime(mtime),\suser,\scomment,\stype,\suuid,\stagid\s\sFROM\sevent,\sblob\sWHERE\sevent.objid=2\s\s\sAND\sblob.rid=2;\r\nSELECT\starget,\sfilename,\sdatetime(mtime),\suser,\ssrc\s\sFROM\sattachment\sWHERE\ssrc=(SELECT\suuid\sFROM\sblob\sWHERE\srid=2)\sORDER\sBY\smtime\sDESC\s/*sort*/;\r\n</verbatim>\r\nAnd\sthen\sit's\scrashed.\sThe\sinput\sfile\sused\swas\slisted\sabove.\r\n\r\nDebug\soutput\sof\sfossil-without-Os\shttp\ssubprocess\sdiffers\sonly\sin\sadditional\slines\sat\sthe\send:\r\n<verbatim>\r\nSELECT\ssrcid\sFROM\sdelta\sWHERE\srid=2;\r\nSELECT\scontent\sFROM\sblob\sWHERE\srid=2\sAND\ssize>=0;\r\nSELECT\svalue\sFROM\sconfig\sWHERE\sname='footer';\r\n--\sLOOKASIDE_USED\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s24\s\s\s\s\s\s\s\s\s95\r\n--\sLOOKASIDE_HIT\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s728\r\n--\sLOOKASIDE_MISS_SIZE\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s209\r\n--\sLOOKASIDE_MISS_FULL\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s0\r\n--\sCACHE_USED\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s25800\r\n--\sSCHEMA_USED\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s15608\r\n--\sSTMT_USED\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s3392\r\n--\sMEMORY_USED\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s94120\s\s\s\s\s\s99752\r\n--\sMALLOC_SIZE\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s48000\r\n--\sMALLOC_COUNT\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s467\s\s\s\s\s\s\s\s479\r\n--\sPCACHE_OVFLOW\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s25384\s\s\s\s\s\s27568\r\n--\sprepared\sstatements\s\s\s\s\s\s\s\s\s\s\s\s23\r\n</verbatim>\r\n\r\nAt\slast,\shere\sis\sthe\sgdb\sstacktrace\sof\ssegfault\sand\ssome\sother\sdetails\sabout\sfossil-with-Os\shttp\ssubprocess:\r\n<verbatim>\r\nV:\\dvcs\\wc>gdb\sfossil-ggdb-Os.exe\r\nGNU\sgdb\s(GDB)\s7.2\r\nCopyright\s(C)\s2010\sFree\sSoftware\sFoundation,\sInc.\r\nLicense\sGPLv3+:\sGNU\sGPL\sversion\s3\sor\slater\s<http://gnu.org/licenses/gpl.html>\r\nThis\sis\sfree\ssoftware:\syou\sare\sfree\sto\schange\sand\sredistribute\sit.\r\nThere\sis\sNO\sWARRANTY,\sto\sthe\sextent\spermitted\sby\slaw.\s\sType\s"show\scopying"\r\nand\s"show\swarranty"\sfor\sdetails.\r\nThis\sGDB\swas\sconfigured\sas\s"mingw32".\r\nFor\sbug\sreporting\sinstructions,\splease\ssee:\r\n<http://www.gnu.org/software/gdb/bugs/>...\r\nReading\ssymbols\sfrom\sV:\\dvcs\\wc/fossil-ggdb-Os.exe...done.\r\n(gdb)\srun\shttp\srepo\sin1.txt\sout1.txt\s127.0.0.1\s--nossl\s--localauth\r\nStarting\sprogram:\sV:\\dvcs\\wc/fossil-ggdb-Os.exe\shttp\srepo\sin1.txt\sout1.txt\s127.0.0.1\s--nossl\s--localauth\r\n[New\sThread\s3792.0xd88]\r\n\r\nProgram\sreceived\ssignal\sSIGSEGV,\sSegmentation\sfault.\r\n0x77c37742\sin\sstrcmp\s()\sfrom\sC:\\WINDOWS\\system32\\msvcrt.dll\r\n(gdb)\sbt\r\n#0\s\s0x77c37742\sin\sstrcmp\s()\sfrom\sC:\\WINDOWS\\system32\\msvcrt.dll\r\n#1\s\s0x00413a89\sin\smimetype_from_name\s(zName=0x6ff440\s"\\321Д\\321\\213\\320▓\\320░")\sat\swbld/doc_.c:302\r\n#2\s\s0x0041e1af\sin\sartifact_page\s()\sat\swbld/info_.c:1250\r\n#3\s\s0x00423081\sin\sprocess_one_web_page\s(zNotFound=0x0)\sat\swbld/main_.c:1057\r\n#4\s\s0x00422a6d\sin\smain\s(argc=<value\soptimized\sout>,\sargv=0x3e4088)\sat\swbld/main_.c:290\r\n(gdb)\sf\s1\r\n#1\s\s0x00413a89\sin\smimetype_from_name\s(zName=0x6ff440\s"\\321Д\\321\\213\\320▓\\320░")\sat\swbld/doc_.c:302\r\n302\s\s\s\s\s\s\s\s\s\s\sc\s=\sfossil_strcmp(zSuffix,\saMime[i].zSuffix);\r\n(gdb)\sl\r\n297\s\s\s\s\s\s\s\s\sfirst\s=\s0;\r\n298\s\s\s\s\s\s\s\s\slast\s=\ssizeof(aMime)/sizeof(aMime[0]);\r\n299\s\s\s\s\s\s\s\s\swhile(\sfirst<=last\s){\r\n300\s\s\s\s\s\s\s\s\s\s\sint\sc;\r\n301\s\s\s\s\s\s\s\s\s\s\si\s=\s(first+last)/2;\r\n302\s\s\s\s\s\s\s\s\s\s\sc\s=\sfossil_strcmp(zSuffix,\saMime[i].zSuffix);\r\n303\s\s\s\s\s\s\s\s\s\s\sif(\sc==0\s)\sreturn\saMime[i].zMimetype;\r\n304\s\s\s\s\s\s\s\s\s\s\sif(\sc<0\s){\r\n305\s\s\s\s\s\s\s\s\s\s\s\s\slast\s=\si-1;\r\n306\s\s\s\s\s\s\s\s\s\s\s}else{\r\n(gdb)\sp\szSuffix\r\n$1\s=\s"\\321Д\\321\\213\\320▓\\320░\\000■\\"\\000\\330¤\\"\\000yLC"\r\n(gdb)\sx/9xb\szSuffix\r\n0x22fdac:\s\s\s\s\s\s\s0xd1\s\s\s\s0x84\s\s\s\s0xd1\s\s\s\s0x8b\s\s\s\s0xd0\s\s\s\s0xb2\s\s\s\s0xd0\s\s\s\s0xb0\r\n0x22fdb4:\s\s\s\s\s\s\s0x00\r\n(gdb)\sp\si\r\n$3\s=\s190\r\n(gdb)\sp\slast\r\n$4\s=\s<value\soptimized\sout>\r\n(gdb)\sp\saMime[i]\r\n$5\s=\s{zSuffix\s=\s0x38464947\s<Address\s0x38464947\sout\sof\sbounds>,\ssize\s=\s1191207223,\szMimetype\s=\s0x39384649\s<Address\s0x39384649\sout\sof\sbounds>}\r\n(gdb)\r\n</verbatim>\r\nNote\sthat\szSuffis\s=\s'фыва'\sin\sUTF8,\sthat\sis\sthe\ssubj.\sfilename.\r\n
K 3f0216560679fd41b6afcc84e7b9ffe0dd971fa8
U anonymous
Z 8bfa80ba3978a5002081d1a405796d9e