Page 1 of 1

sxmkindex crashing

Posted: Fri Jun 22, 2007 5:34 am
by battusai177
Hello I'm having a problem with sxmkindex. Every time I try to run sxmkindex it crashes after a couple of users. It also crashes for some users when I run it with a user name. I get this entry in the log:

Code: Select all

SERIOUS ERROR                  Administration(Scalix Admin C) 06.21.07 13:47:07
[OM 10270] Process about to terminate due to error.
Signal (Segmentation Violation) trapped by process 4941
Procedure trace follows:
  <- dr_ACISetDefaultContext
  -> dr_ACIModContextFlags
  <- dr_ACIModContextFlags
  -> dr_ACICheckReadPerm
  <- dr_ACICheckReadPerm
  -> dr_ACIModContextFlags
  <- dr_ACIModContextFlags
  <- ul_getBySXUID
  <- sis_create
  -> sis_create
  -> ul_getBySXUID
  <- ul_getBySXUID
  <- sis_create
  -> sis_connect
  <- sis_connect
  -> sis_reflist


SERIOUS ERROR                  Administration(Scalix Admin C) 06.21.07 13:47:08
[OM 10272] BACKTRACE:
/opt/scalix/lib/libom_er.so(er_add_backtrace+0xb3)[0xb7eb0d43]
/opt/scalix/lib/libom_er.so[0xb7eb102c]
/opt/scalix/lib/libom_er.so(er_DumpProcAndExit+0x1f)[0xb7eb11bf]
[0xb7f1a420]
sxmkindex[0x8049759]
sxmkindex[0x804a471]
sxmkindex[0x804aad5]
/lib/libc.so.6(__libc_start_main+0xdc)[0xb7d24f9c]
sxmkindex[0x8049651]


I straced it and got this:

Code: Select all

............
connect(16, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("XXX.XXX.XXX.XXX")}, 16) = 0
fcntl64(16, F_GETFL)                    = 0x2 (flags O_RDWR)
fstat64(16, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7081000
_llseek(16, 0, 0xbfc7766c, SEEK_CUR)    = -1 ESPIPE (Illegal seek)
write(16, "GET /sis/admin?uid=7d700000d64f3"..., 96) = 96
read(16, "HTTP/1.1 200 OK\r\nDate: Thu, 21 J"..., 1024) = 1024
read(16, "a-44a3f46d-45fa8163-2397d 001676"..., 7168) = 7168
read(16, "018e7f 000105a185f049d5\r\n670a0a0"..., 1024) = 131
read(16, "1ff8\r\n00a7410f9123e33 000105a185"..., 1024) = 1024
read(16, "46264bbc-157796 00031282435c8c6a"..., 6144) = 6144
read(16, "64bc0-1577f1 0009df0340bcf4cd 00"..., 1024) = 1024
read(16, "1dfb\r\n-44a3f46d-46264bc2-157801 "..., 1024) = 1024
brk(0x8095000)                          = 0x8095000
brk(0x8090000)                          = 0x8090000
read(16, "5f049d5\r\n670a0a0a-44a3f46d-46264"..., 6144) = 6144
read(16, "49d5\r\n670a0a0a-44a3f46d-46553cf0"..., 1024) = 520
--- SIGSEGV (Segmentation fault) @ 0 (8090000) ---

It crashes right after issuing a request to tomcat and reading the results. I checked the tomcat logs and found this:

Code: Select all

2007-06-21 13:45:04,245 ERROR [ajp-xxxxx.xxxxxxxx.xx%2F10.10.10.103-8009-1] [We
bUtil.errorResponse:61] Failed to get searcher
java.lang.IllegalArgumentException: attempt to access a deleted document
        at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:282
)
        at org.apache.lucene.index.MultiReader.document(MultiReader.java:104)
        at org.apache.lucene.search.IndexSearcher.doc(IndexSearcher.java:83)
        at com.scalix.sis.web.InternalAdminServlet.doReferenceList(InternalAdmin
Servlet.java:164)
        at com.scalix.sis.web.InternalAdminServlet.doGet(InternalAdminServlet.ja
va:114)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:210)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:174)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:151)
        at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:44
4)
        at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(Ajp
AprProtocol.java:472)
        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:12
86)
        at java.lang.Thread.run(Unknown Source)


Tomcat is throwing an exception. I found the request sxmkindex was making in apache logs and tried it myself with wget. I got back:

Code: Select all

424
670a0a0a-44a3f46d-45f5348b-3c99 0013a945ffcda8ee 000105a185f049d5
670a0a0a-44a3f46d-45f53bc2-3e58 000aefafe9b26f87 0001059f12ff38cd
...........
670a0a0a-44a3f46d-46569063-24c0f9 002677222e86d47f 0001059f12ff38cd
670a0a0a-44a3f46d-4656a85b-24cfc3 001da38f619d080f 000105a185f049d5
Failed to get searcher

Without looking at sxmkindex source code I'm guessing that it is trying to parse the results from the request and it is chocking on the last line "Failed to get searcher" because the format is wrong?

I started getting this problem when I was on 11.0.3 and changed lucene configuration according to bug 15242. Now I'm on 11.1.0 with the default config (which is almost the same with the one in the bug) and I'm still having the same problem. I have run omscan -Aavfx several times and have done omtidyallu -M with no result. It's not a big problem for me because searching is not affected (I think!) but I would like to see it solved.

Posted: Sat Jul 07, 2007 6:25 am
by battusai177
I actually meant sxmkindex -r 0 is crashing. Any idea what is going on?