Subject: Re: coldfusion (undefined symbol)
To: Hubert Feyrer <hubert@feyrer.de>
From: User Noud <noud@knot.nl>
List: port-i386
Date: 12/19/2000 16:35:57
On 19-Dec-00 Hubert Feyrer wrote:
> On Tue, 19 Dec 2000, User Noud wrote:
>> i cleaned my LD_LIBRARY_PATH, cfexec's are running now.
>> but the main application cfserver..still core-dumps. (..)
> ...
>> can i use gdb to look around in coldfusion's cfserver,
>> given it's a linux binary using linux binary libs?
> 
> You'll probably need a linux gdb binary for that.
> 
> What's more likely to reveil your problem is when you ktrace the whole
> thing: "ktrace -id ./start", when it crashes do a "kdump >x", then search
> your cfserver process in "x" and give the last few lines before it's
> segfault (or whatever).

i myself are (still) to stupid to interpret the output.
that is:

 12565 cfrdsservice RET   nanosleep 0
 12565 cfrdsservice CALL  ipc(0x3,0xf0000,0,0x2,0xbfbfd44c)
 12565 cfrdsservice RET   ipc 0  
 12565 cfrdsservice CALL  nanosleep(0xbfbfd450,0)
 12564 cfserver RET   nanosleep 0
 12564 cfserver CALL  ipc(0x3,0xf0000,0,0x2,0xbfbfd58c)
 12564 cfserver RET   ipc 0 
 12564 cfserver CALL  nanosleep(0xbfbfd590,0)  
 12565 cfrdsservice RET   nanosleep 0
 12565 cfrdsservice CALL  ipc(0x3,0xf0000,0,0x2,0xbfbfd44c)
 12565 cfrdsservice RET   ipc 0
 12565 cfrdsservice CALL  nanosleep(0xbfbfd450,0)
 12564 cfserver RET   nanosleep 0
 12564 cfserver CALL  ipc(0x3,0xf0000,0,0x2,0xbfbfd58c)
 12564 cfserver RET   ipc 0
 12564 cfserver CALL  nanosleep(0xbfbfd590,0)
 12565 cfrdsservice RET   nanosleep 0
 12565 cfrdsservice CALL  write(0x2,0x4821e5a0,0x3c)
 12565 cfrdsservice GIO   fd 2 wrote 60 bytes
       "Error: performing semget() on ColdFusion Registry semaphore:"
 12565 cfrdsservice RET   write 60/0x3c
 12565 cfrdsservice CALL  write(0x2,0x483ba02a,0xb)  
 12565 cfrdsservice GIO   fd 2 wrote 11 bytes
       "File exists"  
 12565 cfrdsservice RET   write 11/0xb
 12565 cfrdsservice CALL  write(0x2,0x482a4067,0x1)
 12565 cfrdsservice GIO   fd 2 wrote 1 bytes
       "
       "
 12565 cfrdsservice RET   write 1
 12565 cfrdsservice CALL  rt_sigprocmask(0x1,0xbfbfd350,0,0x8)
 12565 cfrdsservice RET   rt_sigprocmask 0
 12565 cfrdsservice CALL  kill(0x3115,0x6)
 12565 cfrdsservice PSIG  SIGABRT SIG_DFL
 12565 cfrdsservice NAMI  "cfrdsservice.core"
 12563 cfexec   RET   compat_43_osendmsg 12565/0x3115
 12563 cfexec   CALL  getrusage(0x1,0xf0000,0x1,0,0x482201f0)
 12563 cfexec   RET   getrusage 0
 12563 cfexec   CALL  getpid
 12563 cfexec   RET   getpid 12563/0x3113
 12563 cfexec   CALL  getrusage(0x1,0xf0000,0x1,0,0x482201f6)
 12563 cfexec   RET   getrusage 0
 12563 cfexec   CALL  compat_43_osendmsg(0xffffffff,0xbf3ffd10,0,0)
 12564 cfserver RET   nanosleep 0
 12564 cfserver CALL  ipc(0x3,0xf0000,0,0x2,0xbfbfd58c)
 12564 cfserver RET   ipc 0
 12564 cfserver CALL  nanosleep(0xbfbfd590,0)
 12564 cfserver RET   nanosleep 0
 12564 cfserver CALL  write(0x2,0x489b05a0,0x3c) 
 12564 cfserver GIO   fd 2 wrote 60 bytes
       "Error: performing semget() on ColdFusion Registry semaphore:"
 12564 cfserver RET   write 60/0x3c
 12564 cfserver CALL  write(0x2,0x48b4b02a,0xb)
 12564 cfserver GIO   fd 2 wrote 11 bytes
       "File exists"
 12564 cfserver RET   write 11/0xb
 12564 cfserver CALL  write(0x2,0x48a35067,0x1)  
 12564 cfserver GIO   fd 2 wrote 1 bytes
       "
       "
 12564 cfserver RET   write 1
 12564 cfserver CALL  rt_sigprocmask(0x1,0xbfbfd490,0,0x8)
 12564 cfserver RET   rt_sigprocmask 0
 12564 cfserver CALL  kill(0x3114,0x6)
 12564 cfserver PSIG  SIGABRT SIG_DFL 
 12564 cfserver NAMI  "cfserver.core"  


some semaphore thingy.
i did find:

 12565 cfrdsservice CALL  stat(0x4821e640,0xbfbfd3a0)
 12565 cfrdsservice NAMI  "/emul/linux/usr/lib/coldfusion/cfml_data.dat"
 12565 cfrdsservice NAMI  "/usr/lib/coldfusion/cfml_data.dat"
 12565 cfrdsservice RET   stat 0
 12565 cfrdsservice CALL  ipc(0x2,0x1041b39,0x1,0x7b0,0)
 12565 cfrdsservice RET   ipc -1 errno -17 File exists
 12565 cfrdsservice CALL  stat(0x4821e640,0xbfbfd3a0)
 12565 cfrdsservice NAMI  "/emul/linux/usr/lib/coldfusion/cfml_data.dat"
 12565 cfrdsservice NAMI  "/usr/lib/coldfusion/cfml_data.dat"
 12565 cfrdsservice RET   stat 0
 12565 cfrdsservice CALL  ipc(0x2,0x1041b39,0x1,0x1b0,0)
 12565 cfrdsservice RET   ipc 983040/0xf0000
 12565 cfrdsservice CALL  ipc(0x3,0xf0000,0,0x2,0xbfbfd44c)
 12565 cfrdsservice RET   ipc 0
 12565 cfrdsservice CALL  nanosleep(0xbfbfd450,0)

and a bit lateron:

 12564 cfserver CALL  stat(0x489b0640,0xbfbfd4e0)
 12564 cfserver NAMI  "/emul/linux/usr/lib/coldfusion/cfml_data.dat"
 12564 cfserver NAMI  "/usr/lib/coldfusion/cfml_data.dat"
 12564 cfserver RET   stat 0
 12564 cfserver CALL  ipc(0x2,0x1041b39,0x1,0x7b0,0)
 12564 cfserver RET   ipc -1 errno -17 File exists
 12564 cfserver CALL  stat(0x489b0640,0xbfbfd4e0)
 12564 cfserver NAMI  "/emul/linux/usr/lib/coldfusion/cfml_data.dat"
 12564 cfserver NAMI  "/usr/lib/coldfusion/cfml_data.dat"
 12564 cfserver RET   stat 0
 12564 cfserver CALL  ipc(0x2,0x1041b39,0x1,0x1b0,0)
 12564 cfserver RET   ipc 983040/0xf0000
 12564 cfserver CALL  ipc(0x3,0xf0000,0,0x2,0xbfbfd58c)
 12564 cfserver RET   ipc 0
 12564 cfserver CALL  nanosleep(0xbfbfd590,0)
 12565 cfrdsservice RET   nanosleep 0

and/but i found some 'completed' one's as well:
 12560 cfexec   CALL  stat(0x481e6640,0xbfbfcec0)
 12560 cfexec   NAMI  "/emul/linux/usr/lib/coldfusion/cfml_data.dat"
 12560 cfexec   NAMI  "/usr/lib/coldfusion/cfml_data.dat"
 12560 cfexec   RET   stat 0
 12560 cfexec   CALL  ipc(0x2,0x1041b39,0x1,0x7b0,0)
 12560 cfexec   RET   ipc 983040/0xf0000
 12560 cfexec   CALL  ipc(0x3,0xf0000,0,0x10,0xbfbfcf6c)
 12560 cfexec   RET   ipc 0
 12560 cfexec   CALL  ipc(0x3,0xf0000,0,0x1,0xbfbfcf5c)  
 12560 cfexec   RET   ipc 0 
 12560 cfexec   CALL  ipc(0x1,0xf0000,0x1,0,0x482201f0)
 12560 cfexec   RET   ipc 0
 12560 cfexec   CALL  ipc(0x1,0xf0000,0x1,0,0x482201f6)
 12560 cfexec   RET   ipc 0
 12560 cfexec   CALL  stat(0x481e6640,0xbfbfcec0)
 12560 cfexec   NAMI  "/emul/linux/usr/lib/coldfusion/cfml_data.dat"
 12560 cfexec   NAMI  "/usr/lib/coldfusion/cfml_data.dat"  
 12560 cfexec   RET   stat 0
 12560 cfexec   CALL  ipc(0x17,0x1041b39,0x1000,0x7b6,0)
 12560 cfexec   RET   ipc 524289/0x80001
 12560 cfexec   CALL  ipc(0x18,0x80001,0x1,0,0xbfbfcfe0)
 12560 cfexec   RET   ipc 0
 12560 cfexec   CALL  ipc(0x15,0x80001,0,0xbfbfcf70,0)
 12560 cfexec   RET   ipc 0
 12560 cfexec   CALL  ipc(0x1,0xf0000,0x1,0,0x482201f0)
 12560 cfexec   RET   ipc 0
 12560 cfexec   CALL  getpid
 12560 cfexec   RET   getpid 12560/0x3110

i've got some:

 12561 cfexec   RET   dup2 1211912192/0x483c5000
 12561 cfexec   CALL  #94 (unimplemented setdopt)(0x3,0x1a4)
 12561 cfexec   RET   #94 (unimplemented setdopt) 0
 12561 cfexec   CALL  write(0x3,0x483c5000,0x5)

 12562 cfexec   RET   read 148/0x94
 12562 cfexec   CALL  #168 (unimplemented)(0x80d5600,0x1,0x7d0)
 12562 cfexec   RET   #168 (unimplemented) 1
 12562 cfexec   CALL  compat_43_ogetpagesize

 12561 cfexec   PSIG  SIGUSR1 caught handler=0x4822c000 mask=(1,2,15,20,30)
code=0x0
 12561 cfexec   RET   #179 (unimplemented) -1 errno -4 Unknown error: 4294967292
 12561 cfexec   CALL  #119 (obsolete resuba)(0xbfbfd4f0)
 12561 cfexec   RET   #119 (obsolete resuba) JUSTRETURN
 12561 cfexec   CALL  ntp_gettime(0x2,0,0xbfbfd5b0,0x8)

are these unimplemented-thingys telling that
i still miss some code? eg a function-call in a lib ??

i'll do some more playing in 
manually starting cfstdserver
./start-ing 4 cfexec's
and after that manually start cfserver.

but that does dumps core too:
 12757 cfserver NAMI  "/usr/pkg/emul/linux/opt/coldfusion/CustomTags/"
 12757 cfserver RET   open 6
 12757 cfserver CALL  compat_43_osigvec(0x6,0xbf1fc7a4)
 12757 cfserver RET   compat_43_osigvec 0
 12757 cfserver CALL  compat_12_oreboot(0x6,0x2,0x1) 
 12757 cfserver RET   compat_12_oreboot 0 
 12757 cfserver PSIG  SIGSEGV caught handler=0x489f5590 mask=(1,2,15,20,30)
code=0x6
 12757 cfserver NAMI  "cfserver.core"
 12755 cfserver RET   kill 0
 12755 cfserver CALL  #168 (unimplemented)(0x86ab100,0x1,0x7d0)
 12754 cfserver GIO   fd 5 read 2265 bytes

patching pkg-source and porting in is a thing to do for me,
but this tracing is a bit to much for me.
and i guess these trace snippets are to small to interpret.
if any of you has some bright remark please do.
think i have to lay-down the idee to get cf running on our suse-emul.
for future ktrace's, i'd love to know the meaning of
them "unimplemented", is it not found code ??
thanx again & excuse my lengthy ktrace output.
~n