Forum OpenACS Q&A: Webmail progress & problems

Collapse
Posted by Bob Fuller on
It's good to see openacs.org up again!

I have two webmail configurations to report on, one of which appears to work without a hitch, and the other of which results in a segmentation violation.

The first configuration, which I'm pretty sure I can report success on, is:

  • Red Hat 6.2 (linux 2.2.14)
  • JDK 1.3 (not sure which vendor)
  • Open ACS 3.2.4
  • Aolserver 3.2
  • Postgresql 7.0.x

The second configuration, which gives me a segmentation violation when I try to send email (to myself, in the domain defined in /var/qmail/control/virtualdomains) via the webmail interface, is:

  • SuSE 7.0 (linux 2.2.16, I think?)
  • JDK 1.1.8 (Blackdown)
  • Open ACS 3.2.4
  • Aolserver 3.2
  • Postgresql 7.0.x

I've included portions of the server log below. The segmentation violation is at the end.

Any ideas as to how to troubleshoot this?

[12/Feb/2001:21:52:56][614.1024][-main-] Notice: modload: loading '/usr/local/aolserver/bin/libnsjava.so'
[12/Feb/2001:21:52:56][614.1024][-main-] Notice: ModuleInit: Java module ENABLED
[Loaded java/lang/Thread.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/Object.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/Class.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/String.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/Serializable.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/ThreadDeath.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/Error.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/Throwable.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/Exception.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/RuntimeException.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/Cloneable.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/Runnable.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/ThreadGroup.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/StringBuffer.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/System.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/Integer.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/Number.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/NoClassDefFoundError.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/LinkageError.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/OutOfMemoryError.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/VirtualMachineError.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/util/Properties.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/util/Hashtable.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/util/Dictionary.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/util/HashtableEntry.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/FileInputStream.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/InputStream.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/FileDescriptor.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/FileOutputStream.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/OutputStream.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/BufferedInputStream.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/FilterInputStream.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/PrintStream.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/FilterOutputStream.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/BufferedOutputStream.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/OutputStreamWriter.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/Writer.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded sun/io/CharToByteConverter.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded sun/io/CharacterEncoding.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/util/Locale.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/Character.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded sun/io/CharToByteISO8859_1.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/io/BufferedWriter.class from /usr/lib/jdk118_v1/lib/classes.zip]
[Loaded java/lang/Compiler.class from /usr/lib/jdk118_v1/lib/classes.zip]
[12/Feb/2001:21:52:57][614.1024][-main-] Notice: ModuleInit: JVM init succeeded!
[12/Feb/2001:21:52:57][614.1024][-main-] Notice: tclinit: sourcing '/usr/local/aolserver/modules/tcl/init.tcl'
[12/Feb/2001:21:52:57][614.1024][-main-] Notice: tclinit: sourcing '/usr/local/aolserver/modules/tcl/debug.tcl'
[12/Feb/2001:21:52:57][614.1024][-main-] Notice: tclinit: sourcing '/usr/local/aolserver/modules/tcl/fastpath.tcl'
[12/Feb/2001:21:52:57][614.1024][-main-] Notice: tclinit: sourcing '/usr/local/aolserver/modules/tcl/file.tcl'
...

[12/Feb/2001:21:53:06][614.6151][-conn0-] Notice: Querying '
        select user_id, token, secure_token,
               last_ip, last_hit from sec_sessions
        where session_id = 
361;'
[12/Feb/2001:21:53:06][614.6151][-conn0-] Notice: dbinit: sql(localhost::ruchirasala): '
        select user_id, token, secure_token,
               last_ip, last_hit from sec_sessions
        where session_id = 361
    '
SIGSEGV   11*  segmentation violation
Full thread dump: "SIGQUIT handler" (TID:0x406532a0, sys_thread_t:0x815c2c0, state:R, thread_t: t@4101, sp:0x0 threadID:0x26b, stack_base:0xbf1ffce0, stack_size:0x200000) prio=46
"Finalizer thread" (TID:0x40653088, sys_thread_t:0x815c180, state:CW, thread_t: t@3076, sp:0x0 threadID:0x26a, stack_base:0xbf3ffce0, stack_size:0x200000) prio=46
"main" (TID:0x406530b0, sys_thread_t:0x81426f8, state:R, thread_t: t@2051, sp:0x0 threadID:0x269, stack_base:0x0, stack_size:0x200000) prio=46
Monitor Cache Dump:
Registered Monitor Dump:
    Thread queue lock: <unowned>
    Name and type hash table lock: <unowned>
    String intern lock: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class loading lock: <unowned>
    Java stack lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Has finalization queue lock: <unowned>
    Finalize me queue lock: <unowned>
	Waiting to be notified:
	    "Finalizer thread" (0x815c180)
    Monitor registry: <unowned (mutex held)>
Collapse
Posted by Dan Wickstrom on
Run aolserver in gdb.  When it segfaults, get a a backtrace and post it here.
Collapse
Posted by Bob Fuller on
Hope this is more or less what you're looking for. I had to start nsd from the command line as usual, and then use gdb to attach to the main nsd by PID.

It's obvious to me, even with what little I know to date about gdb, that the backtrace I'm sending you lacks a symbol table. I did the command a second time, as "bt full", and the only difference was that each line of output was followed by "No symbol table info available."

I'm assuming that you probably need symbol table information in order to make sense of any of this output?

Anyway, please let me know if there's something I need to do differently, as I'm definitely a novice, at best, with respect to gdb.

Here's the output:

bash-2.04# gdb program 5335
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-suse-linux"...
 
Attaching to Pid 5335
0x40074b7e in ?? ()
(gdb) bt
#0  0x40074b7e in ?? ()
#1  0x4002e9e3 in ?? ()
#2  0x80d2456 in ?? ()
#3  0x808eede in ?? ()
#4  0x8071c62 in ?? ()
#5  0x806ed8f in ?? ()
#6  0x4006ea8e in ?? ()
(gdb)
Collapse
Posted by Dan Wickstrom on
I'm not sure what you did, but it looks like you just attached to aolserver and sent me the backtrace for the point where it stopped. Is that true? What I need you to do is attach to aolserver as before. Then type run in gdb, and go to webmail and recreate the segfault. When gdb halts after the segfault, then get the backtrace. Use the following command in gdb:
    thread apply all bt

This should print the backtrace for all of the threads.

Collapse
Posted by Bob Fuller on
Thanks, Dan, for all your help!

Here's the dump (finally):

bash-2.04# !!
     gdb bin/nsd
     GNU gdb 4.18
     Copyright 1998 Free Software Foundation, Inc.
     GDB is free software, covered by the GNU General Public License, and you are
     welcome to change it and/or distribute copies of it under certain conditions.
     Type "show copying" to see the conditions.
     There is absolutely no warranty for GDB.  Type "show warranty" for details.
     This GDB was configured as "i386-suse-linux"...
     (gdb) set args -fkt nsd.tcl -u nsadmin -g nsadmin
     (gdb) run
     Starting program: /usr/local/aolserver/bin/nsd -fkt nsd.tcl -u nsadmin -g nsadmin
     [14/Feb/2001:23:18:24][8811.1024][-main-] Notice: nsd.tcl: starting to read config file...

                                                ...
     [14/Feb/2001:23:21:56][8850.1024][-main-] Notice: ModuleInit: Java Module ENABLED
     [New Thread 8855]
     [Switching to Thread 8855]
     [New Thread 8856]

                                                ...
     [14/Feb/2001:23:21:57][8850.1024][-main-] Notice: ModuleInit: JVM init succeeded!
     [14/Feb/2001:23:22:15][8850.6151][-conn0-] Notice: Ns_PgOpenDb(postgres):  Open
     ned connection to localhost::ruchirasala.
     [14/Feb/2001:23:22:15][8850.6151][-conn0-] Notice: Querying '
             select user_id, token, secure_token,
                    last_ip, last_hit from sec_sessions
             where session_id = 361;'
     [14/Feb/2001:23:22:15][8850.6151][-conn0-] Notice: dbinit: sql(localhost::ruchi
     rasala): '
             select user_id, token, secure_token,
                    last_ip, last_hit from sec_sessions
             where session_id = 361
         '

     [Switching to Thread 8865]

     Program received signal SIGSEGV, Segmentation fault.
     0x4027aca6 in sysThreadStackBase ()
         at ../../../../src/linux/java/native_threads/src/threads_md.c:8787      ../../../../src/linux/java/native_threads/src/threads_md.c: No such file or directory.
     (gdb)
      (gdb) thread apply all bt
      
     Thread 9 (Thread 8867):
     #0  0x400f171e in select () from /lib/libc.so.6
     #1  0x80ed330 in __DTOR_END__ ()
     #2  0x80d094a in NsThreadMain (arg=0x86dd448) at thread.c:241
     #3  0x4002bf93 in pthread_start_thread (arg=0xbebffe40) at manager.c:241
      
     Thread 8 (Thread 8865):
     #0  0x4027aca6 in sysThreadStackBase ()
         at ../../../../src/linux/java/native_threads/src/threads_md.c:87
     #1  0x40266a99 in invoke_FindClass (env=0x402909d4,
         name=0x86aada8 "MessageComposer")
         at ../../../../src/share/java/runtime/jni.c:2855
     #2  0x401a6fed in NsJava_JavaEvalCmd ()
        from /usr/local/aolserver/bin/libnsjava.so
     #3  0x8093945 in Tcl_review (interp=0x84f9e18,
         cmd=0x86abdd8 "

    set tmpfile [ns_mktemp "[ns_info pageroot]/webmail/tmp/.wm_msgXXXXXX"]

    # nsjava available at http://nsjava.sourceforge.net
    ns_java MessageComposer::compose_message $outgoing_msg_id $tmp"...)
         at ./../generic/tclBasic.c:1397
     #4  0x80c26f1 in Tcl_UplevelCmd (dummy=0x0, interp=0x84f9e18, argc=1,
         argv=0xbedfe7e0) at ./../generic/tclProc.c:302
     #5  0x8093945 in Tcl_review (interp=0x84f9e18,
         cmd=0xbedfea12 "ns_db dml $db "begin transaction"
", ' ' , "uplevel $body
", ' ' , "ns_db dml $db "end transaction"") at ./../generic/tclBasic.c:1397
     #6  0x8094c9a in Tcl_CatchCmd (dummy=0x0, interp=0x84f9e18, argc=3,
                         argv=0xbedfe9cc) at ./../generic/tclCmdAH.c:233
     #7  0x8093945 in Tcl_review (interp=0x84f9e18,
         cmd=0x85eb148 "catch {ns_db dml $db "begin transaction"
", ' ' , "uplevel $body
", ' ' , "ns_db dml $db "end transaction"} errmsg] {
	ns_log Notice "error: $errmsg"
        ns_db dml $db "abort transaction"...) at ./../generic/tclBasic.c:1397
     #8  0x80be0dc in TclParseNestedCmd (interp=0x84f9e18,
         string=0x85eb148 "catch {ns_db dml $db "begin transaction"
", ' ' , "uplevel $body
", ' ' , "ns_db dml $db "end transaction"} errmsg] {
	ns_log Notice "error: $errmsg"
        ns_db dml
     $db "abort transaction"..., flags=0, termPtr=0xbedfec38, pvPtr=0xbedfec88)
         at ./../generic/tclParse.c:428
     #9  0x80be595 in TclParseWords (interp=0x84f9e18,
         string=0x85eb144 "if [catch {ns_db dml $db "begin transaction"
", ' ' , "uplevel $body
", ' ' , "ns_db dml $db "end transaction"} errmsg] {
	ns_log Notice "error: $errmsg"
        ns_db
     dml $db "abort transac"..., flags=0, maxWords=8, termPtr=0xbedfec38,
         argcPtr=0xbedfec28, argv=0xbedfec5c, pvPtr=0xbedfec88)
         at ./../generic/tclParse.c:705
     #10 0x8093449 in Tcl_review (interp=0x84f9e18,
         cmd=0x85eb108 "
    upvar errmsg errmsg
    global errorInfo errorCode

        if [catch {ns_db dml $db "begin transaction"
", ' ' , "uplevel $body
", ' ' , "ns_db dml $db "end transaction"} errmsg] {
	ns_log "...) at ./../generic/tclBasic.c:1284
     #11 0x80c2a74 in InterpProc (clientData=0x85eb080, interp=0x84f9e18, argc=0,
         argv=0xbedfef0c) at ./../generic/tclProc.c:494
     #12 0x8093945 in Tcl_review (interp=0x84f9e18,
                               cmd=0x86a8d10 "# /webmail/message-send-3.tcl
# by jsc@arsdigita.com (2000-03-01)

# Send the email.

ad_page_variables {{response_to_msg_id ""} outgoing_msg_id}


set user_id [ad_verify_and_get_user_id]
set db [ns_d"...)
         at ./../generic/tclBasic.c:1397
     #13 0x80ba5b0 in Tcl_EvalFile (interp=0x84f9e18,
         fileName=0xbedff373 "/web/ruchirasala/www/webmail/message-send-3.tcl")
         at ./../generic/tclIOUtil.c:415
     #14 0x809ca65 in Tcl_SourceCmd (dummy=0x0, interp=0x84f9e18, argc=2,
         argv=0xbedff32c) at ./../generic/tclCmdMZ.c:1009
     #15 0x8093945 in Tcl_review (interp=0x84f9e18,
         cmd=0xbedff584 "
		source $script
	") at ./../generic/tclBasic.c:1397
     #16 0x8097d9d in Tcl_IfCmd (dummy=0x0, interp=0x84f9e18, argc=5,
         argv=0xbedff51c) at ./../generic/tclCmdIL.c:167
     #17 0x8093945 in Tcl_review (interp=0x84f9e18,
         cmd=0x86400d0 "
	set script [ns_url2file [ns_conn url $conn]]
	if ![file exists $script] {
		ns_returnnotfound $conn
	} else {
		source $script
	}
") at ./../generic/tclBasic.c:1397
     #18 0x80c2a74 in InterpProc (clientData=0x8640038, interp=0x84f9e18, argc=0,
         argv=0xbedff7cc) at ./../generic/tclProc.c:494
     #19 0x8093945 in Tcl_review (interp=0x84f9e18,
         cmd=0xbedff940 "ns_sourceproc cns2 {}") at ./../generic/tclBasic.c:1397
     #20 0x8093ed9 in Tcl_Globalreview (interp=0x84f9e18,
         command=0xbedff940 "ns_sourceproc cns2 {}")
         at ./../generic/tclBasic.c:1746
     #21 0x80844e9 in TclDoOp (arg=0x81c07c0, conn=0x8389518) at tclop.c:590
     #22 0x8072765 in Ns_ConnRunRequest (conn=0x8389518) at op.c:196
     #23 0x80791ae in ConnRun (connPtr=0x8389518) at serv.c:810
                                 #24 0x8078ade in NsConnThread (arg=0x84ff100) at serv.c:609
     #25 0x80d094a in NsThreadMain (arg=0x8538028) at thread.c:241
     #26 0x4002bf93 in pthread_start_thread (arg=0xbedffe40) at manager.c:241
      
     Thread 7 (Thread 8858):
     #0  0x400f171e in select () from /lib/libc.so.6
     #1  0x4001f8d8 in Ns_ModuleVersion () from /usr/local/aolserver/bin/nssock.so
     #2  0x80d094a in NsThreadMain (arg=0x8366aa0) at thread.c:241
     #3  0x4002bf93 in pthread_start_thread (arg=0xbefffe40) at manager.c:241
      
     Thread 6 (Thread 8857):
     #0  0x40074b7e in sigsuspend () at ../sysdeps/unix/sysv/linux/sigsuspend.c:59
     #1  0x4002e2d0 in __pthread_wait_for_restart_signal (self=0xbf1ffe40)
         at pthread.c:793
     #2  0x4002f474 in __new_sem_wait (sem=0x40292130) at restart.h:26
     #3  0x4027bf51 in sqh ()
         at ../../../../src/linux/java/native_threads/src/interrupt_md.c:232
     #4  0x4027ad8c in jdk_start (tid_=0x815b208)
         at ../../../../src/linux/java/native_threads/src/threads_md.c:446
     #5  0x4002bf93 in pthread_start_thread (arg=0xbf1ffe40) at manager.c:241
      
     Thread 5 (Thread 8856):
     #0  0x40074b7e in sigsuspend () at ../sysdeps/unix/sysv/linux/sigsuspend.c:59
     #1  0x4002e2d0 in __pthread_wait_for_restart_signal (self=0xbf3ffe40)
         at pthread.c:793
     #2  0x4002ad40 in pthread_cond_wait () at condvar.c:72
     #3  0x4027ba0b in condvarWait ()
                     at ../../../../src/linux/java/native_threads/src/condvar_md.c:194
     #4  0x4027a6fb in sysMonitorWait ()
         at ../../../../src/linux/java/native_threads/src/monitor_md.c:127
     #5  0x4025bfc4 in finalizer_loop (tid=0x40653088)
         at ../../../../src/share/java/runtime/finalize.c:276
     #6  0x4027ad8c in jdk_start (tid_=0x815b0c8)
         at ../../../../src/linux/java/native_threads/src/threads_md.c:446
     #7  0x4002bf93 in pthread_start_thread (arg=0xbf3ffe40) at manager.c:241
      
     Thread 4 (Thread 8855):
     #0  0x400d7391 in nanosleep () from /lib/libc.so.6
     #1  0x400d731b in __sleep (seconds=1) at ../sysdeps/unix/sysv/linux/sleep.c:82
     #2  0x4019ffbc in NsJava_StartJvm ()
        from /usr/local/aolserver/bin/libnsjava.so
     #3  0x80d094a in NsThreadMain (arg=0x81118f0) at thread.c:241
     #4  0x4002bf93 in pthread_start_thread (arg=0xbf5ffe40) at manager.c:241
      
     Thread 3 (Thread 8854):
     #0  0x400d7391 in nanosleep () from /lib/libc.so.6
     #1  0x4002b3e6 in pthread_cond_timedwait_relative_new (cond=0x80f9658,
         mutex=0x80fe2b0, abstime=0xbf7ffcec) at condvar.c:318
     #2  0x4002b53a in pthread_cond_timedwait () at condvar.c:375
     #3  0x80d35fb in Ns_CondTimedWait (condPtr=0x80ee358, mutexPtr=0x80ee354,
         timePtr=0xbf7ffd30) at pthread.cpp:525
     #4  0x80779cf in SchedThread (ignored=0x0) at sched.c:789
     #5  0x80d094a in NsThreadMain (arg=0x80ff290) at thread.c:241
     #6  0x4002bf93 in pthread_start_thread (arg=0xbf7ffe40) at manager.c:241
      
     Thread 2 (Thread 8850 (initial thread)):
     #0  0x40074b7e in sigsuspend () at ../sysdeps/unix/sysv/linux/sigsuspend.c:59
     #1  0x4002e9e3 in sigwait () at signals.c:169
     #2  0x80d2456 in ns_sigwait (set=0xbfffe2cc, sig=0xbfffe2c4) at signal.c:87
     #3  0x808eede in NsHandleSignals () at unix.c:158
     #4  0x8071c62 in Ns_Main (argc=7, argv=0xbffff654,
         initProc=0x806eda0 ) at nsmain.c:667
     #5  0x806ed8f in main (argc=7, argv=0xbffff654) at main.c:64
      
     Thread 1 (Thread 8853 (manager thread)):
     #0  0x400effdd in poll () at ../sysdeps/unix/sysv/linux/poll.c:55
     #1  0x4002bc9a in __pthread_manager (arg=0x9) at manager.c:128
     0x4027aca6      87      in ../../../../src/linux/java/native_threads/src/threads_md.c
     (gdb)

I'm also going to try your suggestion of converting to _v3. Possibly tonight, if I have time.

Collapse
Posted by Dan Wickstrom on
Thanks. That's much clearer.  It appears that it crashed when trying to find the MessageComposer class.  Is the ClassPath in the nsjava module section set to include the MessageComposer class, and are the MessageComposer class and the rest of the webmail java files compiled?
Collapse
Posted by Bob Fuller on
I'm pretty sure the ClassPath is set to include
/web/{server}/www/webmail/java
(where "{server}" is of course the literal name of my server). I'm also fairly certain the classes have been compiled. I'm not entirely certain that the classes were last compiled with the appropriate JDK in the CLASSPATH, since I've been moving around from JDK to JDK in an attempt to find something that works. So, I'll check that tonight, and/or just try recompiling everything with Blackdown v3 JDK. (Obviously, I'll also doublecheck ClassPath, in nsd.tcl.)

Again, thanks much for your assistance, Dan.

Collapse
Posted by David Kuczek on
I just read some threads on webmail and saw that Dan had similar problems with different people.

Dan, can you point me to a webmail "HowTo" for beginners, because all the threads are a little bit discouraging to get webmail working?

Thanks

Collapse
Posted by Dan Wickstrom on
Check out the simple install guides for nsjava and webmail at sourceforge.
Collapse
Posted by Bob Fuller on
Thanks for the continued postings. It may be useful for others in the community to hear about what I've had to do in order to make use of the Webmail module, because it's been a huge ordeal, frankly.

I never did get Webmail working under either SuSE 7.0 or RedHat 7.0! Finally I ended up throwing up my hands in frustration and I've been spending a bit of time the last few weeks "retrofitting" all of my existing Open ACS installations (spread over two desktops and one laptop) with RedHat 6.2, which has finally given me a glimpse of the light at the end of the tunnel.

There are obviously problems with some of the newer versions of the shared libraries, when it comes to compiling nsjava (and also getting it to work!) on versions of Linux beyond whatever version of the kernel RedHat 6.2 employs. As has been suggested in this forum, the problems are mostly related to pthreads, I believe.

I wish I knew enough about this area in order to be able to be of service in getting nsjava to work on post-RedHat 6.2 OS's, but I don't, and it just comes down to having more important things that I have to accomplish in my various Open ACS-related projects. Webmail is a very nice-to-have feature in this community system -- perhaps it's even crucial to be able to offer it in any online community system worth its salt -- but when all is said and done, if it works under RedHat 6.2 (and it does) then I'll do what's required to reinstall the OS so that I can get to more interesting parts of my projects. (Not to say that it's not interesting -- or not useful -- to get Webmail working under many different configurations ... but it's just not my area of expertise, and I can only beat my head against that wall for so long before I choose a proven method for getting the job done.)

Anyway, I've got one laptop and one desktop done, and just one desktop left to go, so I'm nearly done with this phase of the adventure.

Suffice it to say, for anyone who's considering making use of Webmail, it does work on RedHat 6.2, and probably works under a few other configurations. If you need to use Webmail under Linux, you'll probably save yourself much frustration if you simply install RedHat 6.2 from the getgo.

Collapse
Posted by Dan Wickstrom on
"There are obviously problems with some of the newer versions of the shared libraries, when it comes to compiling nsjava (and also getting it to work!) on versions of Linux beyond whatever version of the kernel RedHat 6.2 employs. As has been suggested in this forum, the problems are mostly related to pthreads, I believe."

It's true that there are problems with pthreads libraries and nsjava, but it is really just a symptom of a bigger problem with running pre-compiled programs on linux. It seems that vendors such as sun, idm, and blackdown compile their jdk's against one distrubution and distribute it as a "linux jdk". I haven't been able to verify if it's true or not, but I believe they compile their jdk's using redhat, so in general (except for sun) their jdk's work well on redhat machines, but otherwise, there are problems with library compatiblity like pthreads when trying to use the jdk's on other linux distros. The debacle that is redhat 7.0 has aggravated this problem because they released 7.0 using a non-released version of gcc. As a result, libraries compiled for redhat 7.0 are not compatible with other distros that use standard released versions of gcc for compilation.

I've found the whole situation fustrating, and I understand, despite claims to the contrary, why java has not become popular on linux. As long as java remains closed-source, the situation probably will not change. Sun seems determined to maintain tight control over java until .net supercedes it, and it fades into obscurity.

Collapse
Posted by Kurt Schwarz on
Has anyone gotten this to work with SENDMAIL?  I've had problems trying to load Qmail and have given up on it...I'd like to stick with what is/has been working for me.