Ticket #80 (closed defect: fixed)
Cannot start MARY in standalone (non-server) mode
| Reported by: | masc01 | Owned by: | masc01 |
|---|---|---|---|
| Priority: | major | Milestone: | 3.0.3 |
| Component: | server_core | Keywords: | |
| Cc: | jwise@… |
Description
This report came via the mary-users mailing list, but was not distributed as the sender was not yet subscribed to the list.
I have MARY_TTS running in client-server mode without problem but when I try the server=false option I get the exception below. I cannot find the missing class in the jar files down-loaded. The log file with debug shows no error (see below)
The content of the input file for the dump below was the word 'hello', but the same error occurs with a '<maryxml ...' file.
Any suggestions would be very welcome?
Jon Wise University of Gloucestershire
Exception in thread "main" java.lang.Error: Unknown MaryDataType `null' at de.dfki.lt.mary.MaryDataType.get(MaryDataType.java:217) at de.dfki.lt.mary.Mary.main(Mary.java:459) Caused by: java.lang.ClassNotFoundException: de.dfki.lt.mary.datatypes.null_Definer at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at de.dfki.lt.mary.MaryDataType.get(MaryDataType.java:215) ... 1 more
Log file :
2006-09-06 10:51:43,246 [main] INFO main Mary starting up... 2006-09-06 10:51:43,246 [main] INFO main Specification version 3.0.2 2006-09-06 10:51:43,246 [main] INFO main Implementation version 20060704 2006-09-06 10:51:43,246 [main] INFO main Running on a Java 1.5.0_07 implementation by Sun Microsystems Inc., on a Windows 2000 platform (x86, 5.0) 2006-09-06 10:51:43,246 [main] DEBUG main Full dump of system properties: 2006-09-06 10:51:43,246 [main] DEBUG main java.version = 1.5.0_07 2006-09-06 10:51:43,246 [main] DEBUG main java.vendor = Sun Microsystems Inc. 2006-09-06 10:51:43,246 [main] DEBUG main java.vendor.url = http://java.sun.com/ 2006-09-06 10:51:43,246 [main] DEBUG main java.home = C:\Program Files\Java\jre1.5.0_07 2006-09-06 10:51:43,246 [main] DEBUG main java.vm.specification.version = 1.0 2006-09-06 10:51:43,246 [main] DEBUG main java.vm.specification.vendor = Sun Microsystems Inc. 2006-09-06 10:51:43,246 [main] DEBUG main java.vm.specification.name = Java Virtual Machine Specification 2006-09-06 10:51:43,246 [main] DEBUG main java.vm.version = 1.5.0_07-b03 2006-09-06 10:51:43,246 [main] DEBUG main java.vm.vendor = Sun Microsystems Inc. 2006-09-06 10:51:43,246 [main] DEBUG main java.vm.name = Java HotSpot(TM) Client VM 2006-09-06 10:51:43,246 [main] DEBUG main java.specification.version = 1.5 2006-09-06 10:51:43,246 [main] DEBUG main java.specification.vendor = Sun Microsystems Inc. 2006-09-06 10:51:43,246 [main] DEBUG main java.specification.name = Java Platform API Specification 2006-09-06 10:51:43,261 [main] DEBUG main java.class.version = 49.0 2006-09-06 10:51:43,261 [main] DEBUG main java.class.path = d:\MARY_TTS\java\mary-common.jar;d:\MARY_TTS\java\mary-english.jar;d:\MARY_TTS\java\mary-freetts.jar;d:\MARY_TTS\java\log4j-1.2.8.jar 2006-09-06 10:51:43,261 [main] DEBUG main java.library.path = C:\WINNT\system32;.;C:\WINNT\system32;C:\WINNT;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;d:\MARY_TTS\lib\windows;C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM;C:\Program Files\java\jdk1.5.0_04\bin;C:\PROGRA~1\COMMON~1\ROXIOS~1\DLLSHA~1;D:\GTK\2.0\bin;D:\Python24;C:\PROGRA~1\OpenSSH\bin 2006-09-06 10:51:43,261 [main] DEBUG main java.io.tmpdir = d:\DOCUME~1\s2100779\LOCALS~1\Temp\ 2006-09-06 10:51:43,261 [main] DEBUG main java.compiler = null 2006-09-06 10:51:43,261 [main] DEBUG main java.ext.dirs = C:\Program Files\Java\jre1.5.0_07\lib\ext 2006-09-06 10:51:43,261 [main] DEBUG main os.name = Windows 2000 2006-09-06 10:51:43,261 [main] DEBUG main os.arch = x86 2006-09-06 10:51:43,261 [main] DEBUG main os.version = 5.0 2006-09-06 10:51:43,261 [main] DEBUG main file.separator = \ 2006-09-06 10:51:43,261 [main] DEBUG main path.separator = ; 2006-09-06 10:51:43,261 [main] DEBUG main line.separator = 2006-09-06 10:51:43,261 [main] DEBUG main user.name = s2100779 2006-09-06 10:51:43,261 [main] DEBUG main user.home = d:\Documents and Settings\s2100779 2006-09-06 10:51:43,261 [main] DEBUG main user.dir = D:\MARY_TTS\bin 2006-09-06 10:51:43,261 [main] DEBUG main Mary-specific system properties: 2006-09-06 10:51:43,261 [main] DEBUG main mary.base = d:\MARY_TTS 2006-09-06 10:51:43,261 [main] DEBUG main shprot.base = d:\MARY_TTS\lib\modules\shprot 2006-09-06 10:51:43,261 [main] DEBUG main server = false 2006-09-06 10:51:43,261 [main] DEBUG main XML libraries used: 2006-09-06 10:51:43,261 [main] DEBUG main Xerces-J 2.4.0 2006-09-06 10:51:43,261 [main] DEBUG main Xalan Java 2.5.0 2006-09-06 10:51:43,417 [main] INFO main Startup complete.
Change History
comment:1 Changed 6 years ago by masc01
- Owner changed from schroed to masc01
- Status changed from new to assigned
comment:2 Changed 6 years ago by masc01
- Status changed from assigned to closed
- Resolution set to fixed
fixed: start synthesis module early also in non-server mode, but delay the actual allocation of the voices until when they are needed. This way, only the voice(s) that are actually used will take time to load.
Also, be more lenient as to input spec: provide default values for -Dinput.type, -Doutput.type and -Daudio.type.

Indeed, I have not tried the non-server mode in a long time. It probably is not a good idea in most situations, because of the system startup time which can be many seconds. Nevertheless, if we claim this should work, we should make it work.