Ошибка загрузки модуля use или uselsx javacon

 

 Loading…

Skip to page contentSkip to chat
Skip to page contentSkip to chat

APAR status

  • Closed as fixed if next.

Error description

  • Issue similar to SPR
    KCAR73QM6Q
    
    Steps to reproduce
    
    1.Open Lotus Notes
    2.Open Java console - Tools- Show java debug console
    3.Open Designer
    4.Create a blank application
    5.Create LS Agent or LS script lib or database script
    6.write the following : UseLSX "*javacon"
    7.An error will be generated:  "Error loading USE or USELSX
    module: *javacon"
    

Local fix

  • 
    

Problem summary

  • The record was returned to the person who created it for more
     information.
    

Problem conclusion

  • 
    

Temporary fix

  • 
    

Comments

  • This APAR is associated with SPR# RNIA8RNHFQ.
    The record was returned to the person who created it for more
     information.
    

APAR Information

  • APAR number

    LO67465

  • Reported component name

    NOTES CLIENT

  • Reported component ID

    5724E6255

  • Reported release

    850

  • Status

    CLOSED FIN

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2012-02-20

  • Closed date

    2016-08-08

  • Last modified date

    2016-08-08

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

Applicable component levels

  • R850 PSN

       UP

[{«Business Unit»:{«code»:»BU055″,»label»:»Cognitive Applications»},»Product»:{«code»:»SSKTWP»,»label»:»Lotus Notes»},»Component»:»»,»ARM Category»:[],»Platform»:[{«code»:»PF025″,»label»:»Platform Independent»}],»Version»:»8.5″,»Edition»:»»,»Line of Business»:{«code»:»»,»label»:»»}}]

APAR status

  • Closed as unreproducible.

Error description

  • Problem description
    Customer is reporting the error "Error loading USE or USELSX
    module "javacon"  when trying to opne the Widgets database
    (N.B. file database open or open via workspace ), after
    installing Notes 901FP1SHF182.
    The issue occurs when trying to access the Widget Catalog,
    either on the server or on local.  Error appears multiple times
    when opening the Widget Catalog, and when clicking on a
    document in the Widget Catalog once the app is opened.
    The issue is not occurring on Notes 9.0.1, Notes 9.0.1 FP1 or
    after un-installing the hotfix 901FP1SHF182.
    Environment
    Notes 901FP1SHF182
    Win 64 bit
    

Local fix

  • None. Uninstall the hotfix 901FP1SHF182
    

Problem summary

  • The change team could not reproduce the problem or determined
     that the problem has already been corrected.
    

Problem conclusion

  • 
    

Temporary fix

  • 
    

Comments

  • This APAR is associated with SPR# RGAU9L7JVK.
    The change team could not reproduce the problem or determined
     that the problem has already been corrected.
    

APAR Information

  • APAR number

    LO80899

  • Reported component name

    NOTES CLIENT

  • Reported component ID

    5724E6255

  • Reported release

    901

  • Status

    CLOSED UR5

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-06-18

  • Closed date

    2014-07-11

  • Last modified date

    2014-07-11

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

Applicable component levels

[{«Business Unit»:{«code»:»BU055″,»label»:»Cognitive Applications»},»Product»:{«code»:»SSKTWP»,»label»:»Lotus Notes»},»Component»:»»,»ARM Category»:[],»Platform»:[{«code»:»PF025″,»label»:»Platform Independent»}],»Version»:»9.0.1″,»Edition»:»»,»Line of Business»:{«code»:»»,»label»:»»}}]

For a week, I was trying to solve a problem with an old database. The problem was a well-known error message: «Error loading USE or USELSX module» in my agents and script libraries.

This case, I couldn’t update my agents, script libraries, etc. because my designer wasn’t compiling due to this error.

So after hours of try and error, I noticed that I didn’t test one thing I should have tested at the beginning. My friends guess what I’m talking about :)

If there is Java, you’re living in Turkey, you should check «i» character first!

I did and found the problem. I can reproduce the problem and have opened PMR report. Now I won’t share the exact steps but show the screen shots.

Before, I should tell you that this case is valid for new Lotusscript Editor and Turkish Language in Regional Settings. But there are similar accented character problems in other languages. Therefore use your creativity to find another bug in your language :)

We have two script libraries:

Image:Mystery Solved: "Error loading USE or USELSX module"

Now we are opening TestLib02 and connect it to TestLib01. But oops!

Image:Mystery Solved: "Error loading USE or USELSX module"

Very funny, right?

Suppose we have created this application before. We can’t modify any code in the library, because it wouldn’t compile.

There are two workarounds:

1. Use Uppercase.

Image:Mystery Solved: "Error loading USE or USELSX module"

2. Disable new Lotusscript editor… This is not happenning in old editor.

Image:Mystery Solved: "Error loading USE or USELSX module"

What is the implication of this problem?

It also solves the famous «Lotus Workflow is not working on 8.5.x» problem of Turkish customers. Many of my customers mentioned about this problem.

Moreover, this is just a simple case. The lesson of the day is; For any unresolved problems in DDE, if the subject of the problem contains «case insensitivity», the issue is «i» character for Turkish customers.

Expecting your comments about any findings in other languages.

0 / 0 / 0

Регистрация: 23.08.2008

Сообщений: 6,252

1

16.03.2017, 12:55. Показов 6903. Ответов 18


сабж
при открытии любой БД пишет рефрешинг и на этом виснет

ругается на открытие БД, в кот. есть Database Script
—————————
IBM Notes
—————————
Error loading USE or USELSX module: *javacon
—————————
ОК
—————————

кто с таким сталкивался?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

16.03.2017, 12:55

Ответы с готовыми решениями:

FP8 и views
Доброго времени суток..
Кто нить уже пользовал fp8 в плане:
NIFNSFEnable=1
NIFBasePath=path…

FP8 и Java (очередной баг)
После обновления на FP8 вылез очередной баг.
Шедулерный агент на java после старта сервера…

Ищу работу дизайнером
Ищу работу дизайнером.

Умею:
— Дизайн в социальных сетях;
— Web-дизайн;
— Полиграфический…

Что-то произошло с дизайнером форм
Здравствуйте! у меня такая странная проблема, вместо дизайнера формы выводит текст (см скриншот)
и…

18

0 / 0 / 0

Регистрация: 20.02.2014

Сообщений: 467

16.03.2017, 12:58

2

Не сталкивался.. потому как java наверное не пользую..

0

0 / 0 / 0

Регистрация: 12.11.2009

Сообщений: 882

16.03.2017, 20:40

3

Не сталкивался. Есть и дбскрипт и джавабибл. Почистить что-ть?

0

0 / 0 / 0

Регистрация: 23.08.2008

Сообщений: 6,252

19.03.2017, 11:13

4

Цитата
Сообщение от rinsk

Не сталкивался. Есть и дбскрипт и джавабибл. Почистить что-ть?

есть код, кот. использует общую либу (обработка ошибок), в ней обработчик ошибок java
вопрос — почему дизайнер виснет, с ошибкой-то кода я могу «справиться» ;)

0

0 / 0 / 0

Регистрация: 20.02.2014

Сообщений: 467

23.03.2017, 14:09

5

поставил fp8 на рабочую машинку.. появилась вот такая бяда..

кто подскажет что сделать?))

0

0 / 0 / 0

Регистрация: 23.08.2008

Сообщений: 6,252

25.03.2017, 22:17

6

@swyatogor судя про трейсу — нет путей к либам, при сборке
у меня сильное подозрение — изменения жвм на версию 1.8 имеют неприятные последствия для java проектов
даже для уже скомпиированных
для себя я решил погодить использовать — ибо не знаю деталей и решений

0

0 / 0 / 0

Регистрация: 07.02.2106

Сообщений: 812

26.03.2017, 08:42

7

Цитата
Сообщение от swyatogor

Посмотрите в свойствах проекта какую jvm он использует, есть ли она у вас в наличии.

— Добавлено 27 мар 2017. Первое сообщение размещено 27 мар 2017 —

Цитата
Сообщение от lmike

@swyatogor судя про трейсу — нет путей к либам, при сборке
у меня сильное подозрение — изменения жвм на версию 1.8 имеют неприятные последствия для java проектов
даже для уже скомпиированных
для себя я решил погодить использовать — ибо не знаю деталей и решений

Под 1.8 запускается только клиент, дизайнер по прежнему использует 1.6 из папки jvm1.6, проблемы могут быть только с новыми путями к этой jvm и внешним библиотеками из jvm/lib/ext, если вы забыли их положить ещё и в jvm1.6/lib/ext.

0

0 / 0 / 0

Регистрация: 20.02.2014

Сообщений: 467

26.03.2017, 09:19

8

не стал ломать голову что и как там настраивается.. снес нафиг лотус и поставил старую версию которая была..и всё заворкало

0

0 / 0 / 0

Регистрация: 12.11.2009

Сообщений: 882

26.03.2017, 12:50

9

Цитата
Сообщение от swyatogor

снес нафиг лотус

Не спортивно. ниразу)))

0

0 / 0 / 0

Регистрация: 23.08.2008

Сообщений: 6,252

26.03.2017, 12:51

10

Цитата
Сообщение от garrick

и внешним библиотеками из jvm/lib/ext, если вы забыли их положить ещё и в jvm1.6/lib/ext.

выше описывал траблу — до перкладывания даже не дохдит
и при старте БД не работает LS2J инициализация

0

0 / 0 / 0

Регистрация: 07.02.2106

Сообщений: 812

26.03.2017, 13:05

11

Цитата
Сообщение от lmike

выше описывал траблу — до перкладывания даже не дохдит
и при старте БД не работает LS2J инициализация

Ну, тут я даже и не знаю… по-моему это уже как-то ломали раньше в очередном фикс-паке, потом починили… ну, теперь снова. Всё идёт по индусскому плану.

Такая же проблема была после FP1 и решается она так же, как и тогда — надо запустить дизайнер без клиента.

0

0 / 0 / 0

Регистрация: 20.02.2014

Сообщений: 467

26.03.2017, 14:35

12

Кстати.. а ни кто не обращал внимания на битность java??.. она там давно 64-х битная?

0

0 / 0 / 0

Регистрация: 07.02.2106

Сообщений: 812

28.03.2017, 11:32

13

Цитата
Сообщение от swyatogor

Кстати.. а ни кто не обращал внимания на битность java??.. она там давно 64-х битная?

Биность Java равна битности клиента/сервера — всегда так было.

— Добавлено 29 мар 2017. Первое сообщение размещено 29 мар 2017 —

Цитата
Сообщение от lmike

сабж
при открытии любой БД пишет рефрешинг и на этом виснет
Посмотреть вложение 9423

ругается на открытие БД, в кот. есть Database Script
—————————
IBM Notes
—————————
Error loading USE or USELSX module: *javacon
—————————
ОК
—————————

кто с таким сталкивался?

— Добавлено 29 мар 2017. Первое сообщение размещено 29 мар 2017 —

Нашел вот что. Если вы что-то отлаживали в дебагере, а потом его отключили, то для повторного включения дебагера надо перезапустить дизайнер. Иначе галочка в меню «Debug Lotus Script» включается и выключается, но ничего не происходит.

0

0 / 0 / 0

Регистрация: 07.04.2014

Сообщений: 633

28.03.2017, 11:46

14

Цитата
Сообщение от garrick

… что-то отлаживали в дебагере, а потом его отключили, то для…

— ХЗ, у меня этого ничего нет. Дебажу и ничего не перезапускаю. Всё происходит ))
ток, если дебажится форма, к примеру, галку надо ставит ДО её открытия (т.е. переоткрыть ЕЁ есличо). ну и всего остального эт тож касается

0

0 / 0 / 0

Регистрация: 23.08.2008

Сообщений: 6,252

28.03.2017, 12:36

15

Цитата
Сообщение от garrick

Нашел вот что. Если вы что-то отлаживали в дебагере, а потом его отключили, то для повторного включения дебагера надо перезапустить дизайнер

я ничего не дебажу
есть БД, в кот. класс «работы» с ошибками java, вызываемой из LS (LS2J)
в скрипте БД, либа (с классом) подключается
при открытии БД — ловим ошибку

0

0 / 0 / 0

Регистрация: 07.02.2106

Сообщений: 812

28.03.2017, 12:48

16

Цитата
Сообщение от lmike

я ничего не дебажу
есть БД, в кот. класс «работы» с ошибками java, вызываемой из LS (LS2J)
в скрипте БД, либа (с классом) подключается
при открытии БД — ловим ошибку

Про это я уже «говорил» выше — надо запустить дизайнер без клиента и тогда нет никаких ошибок. Был такой же глюк в FP1, потом починили, а сейчас вернули назад.

— Добавлено 29 мар 2017. Первое сообщение размещено 29 мар 2017 —

Цитата
Сообщение от alexas1

— ХЗ, у меня этого ничего нет. Дебажу и ничего не перезапускаю. Всё происходит ))
ток, если дебажится форма, к примеру, галку надо ставит ДО её открытия (т.е. переоткрыть ЕЁ есличо). ну и всего остального эт тож касается

А у меня такая штука — если остановить дебагер «не дойдя до конца кода» в процессе отладки, где-то посередине кода, то второй раз он не стартует без перезапуска дизайнера. :(

0

0 / 0 / 0

Регистрация: 23.08.2008

Сообщений: 6,252

28.03.2017, 13:19

17

Цитата
Сообщение от garrick

Про это я уже «говорил» выше — надо запустить дизайнер без клиента и тогда нет никаких ошибок. Был такой же глюк в FP1, потом починили, а сейчас вернули назад.

я вовсе не запускаю дизайнер…

0

0 / 0 / 0

Регистрация: 07.02.2106

Сообщений: 812

28.03.2017, 13:41

18

Цитата
Сообщение от lmike

я вовсе не запускаю дизайнер…

А если запустить и перекомпилировать этот код и больше его потом не трогать?

0

0 / 0 / 0

Регистрация: 23.08.2008

Сообщений: 6,252

28.03.2017, 14:48

19

Цитата
Сообщение от garrick

А если запустить и перекомпилировать этот код и больше его потом не трогать?

дык первый пост о том — что джава тулинг вис на старте дизигнера

0

In order to resolve your issue you would need to recompile the script (what is automatically done when saving it in the Designer- Client) and then programmatically sign it (what is only possible using the C-API). Calling a «ComputeWithForm» on a Design- Element does NOT recompile the script.

Rather than fixing something that should not be broken, I would rather investigate why this agent stops running.

Usually this happens, when the designer- task «merges» script- libraries / agents from different templates to one database.

I am quite sure, that the reason for your agent not working anymore is the nightly designer task. Try to take out the template- name from the «broken» database or manipulate it (add an «x» or something) so that you keep the information, but designer task does not find the corresponding template. This should fix your problem.

If you really cannot fix the problem with this approach, then try this code I found here, put it in an agent and let the user call it via another agent with ag.RunOnServer (then it runs with more rights than the user has):

'LS Recompile: Option Public Option Explicit %REM An example of using Notes API calls to recompile LotusScript. version 1.0 Julian Robichaux http://www.nsftools.com %END REM '** Notes C-API functions Declare Function OSPathNetConstruct Lib "nnotes.dll" (Byval portName As Integer, _ Byval serverName As String, Byval fileName As String, Byval pathName As String) As Integer Declare Function NSFDbOpen Lib "nnotes.dll" (Byval dbName As String, hDb As Long) As Integer Declare Function NSFDbClose Lib "nnotes.dll" (Byval hDb As Long) As Integer Declare Function NSFNoteLSCompile Lib "nnotes.dll" (Byval hDb As Long, _ Byval hNote As Long, Byval dwFlags As Long) As Integer Declare Function NSFNoteSign Lib "nnotes.dll" (Byval hNote As Long) As Integer Declare Function NSFNoteUpdate Lib "nnotes.dll" (Byval hNote As Long, _ Byval flags As Integer) As Integer Declare Function OSLoadString Lib "nnotes.dll" (Byval hModule As Long, Byval stringCode As Integer, _ Byval retBuffer As String, Byval bufferLength As Integer) As Integer '================================================================ ' Base class for working with Notes databases at the API level '================================================================ Class APIBaseClass Private db As NotesDatabase Private hDb As Long Private lastError As String Public Sub New () '** nothing to instantiate in the base class End Sub Public Sub Delete () Call CloseDatabase() End Sub Public Function OpenDatabase (db As NotesDatabase) As Integer On Error Goto processError If (hDb > 0) Then Call CloseDatabase() End If '** reset the internals Set Me.db = db lastError = "" Dim pathName As String*256 Dim result As Integer '** create a proper network path name with OSPathNetConstruct Call OSPathNetConstruct(0, db.Server, db.FilePath, pathName) '** open the database and get a handle with NSFDbOpen result = NSFDbOpen(pathName, hDb) If result = 0 Then OpenDatabase = True Else Call SetLastError("Cannot open database " & db.FilePath & " on server " & db.Server, result) End If Exit Function processError: Call SetLastError("Error opening database", 0) Exit Function End Function Public Sub CloseDatabase () On Error Resume Next If (hDb > 0) Then Call NSFDbClose(hDb) End If Set db = Nothing hDb = 0 lastError = "" End Sub Private Function SetLastError (errText As String, apiResultCode As Integer) As String If (apiResultCode <> 0) Then LastError = "API Error " & apiResultCode & ": " & GetAPIError(apiResultCode) Elseif (Err > 0) Then LastError = "Notes Error " & Err & ": " & Error$ Else LastError = "" End If If (Len(errText) > 0) Then LastError = errText & ". " & LastError End If End Function Public Function GetLastError () As String GetLastError = LastError End Function Public Function GetAPIError (errorCode As Integer) As String Dim errorString As String*256 Dim returnErrorString As String Dim resultStringLength As Long Dim errorCodeTranslated As Integer Const ERR_MASK = &H3fff Const PKG_MASK = &H3f00 Const ERRNUM_MASK = &H00ff '** mask off the top 2 bits of the errorCode that was returned; this is '** what the ERR macro in the API does errorCodeTranslated = (errorCode And ERR_MASK) '** get the error code translation using the OSLoadString API function resultStringLength = OSLoadString(0, errorCodeTranslated, errorString, Len(errorString) - 1) '** strip off the null-termination on the string before you return it If (Instr(errorString, Chr(0)) > 0) Then returnErrorString = Left$(errorString, Instr(errorString, Chr(0)) - 1) Else returnErrorString = errorString End If GetAPIError = returnErrorString End Function End Class '================================================================ ' Special subclass for recompiling a note/doc in a database '================================================================ Class LotusScriptRecompiler As APIBaseClass Public Function RecompileLSByNoteID (noteID As String) As Integer On Error Goto processError If (db Is Nothing) Then Call SetLastError("Database is not open", 0) Exit Function End If Dim doc As NotesDocument Set doc = db.GetDocumentByID(noteID) RecompileLSByNoteID = RecompileLS(doc) Exit Function processError: Call SetLastError("Error recompiling LotusScript for " & noteID, 0) Exit Function End Function Public Function RecompileLSByUNID (unid As String) As Integer On Error Goto processError If (db Is Nothing) Then Call SetLastError("Database is not open", 0) Exit Function End If Dim doc As NotesDocument Set doc = db.GetDocumentByUNID(unid) RecompileLSByUNID = RecompileLS(doc) Exit Function processError: Call SetLastError("Error recompiling LotusScript for " & unid, 0) Exit Function End Function Public Function RecompileLS (doc As NotesDocument) As Integer On Error Goto processError Dim hNote As Long Dim unid As String Dim result As Integer If (hDb = 0) Then Call SetLastError("Database is not open", 0) Exit Function Elseif (doc Is Nothing) Then Call SetLastError("Invalid document reference", 0) Exit Function End If '** super-special-secret way of getting an API handle to a NotesDocument hNote = doc.Handle unid = doc.UniversalID '** first, we compile the note result = NSFNoteLSCompile(hDb, hNote, 0) If (result <> 0) Then Call SetLastError("Cannot compile LotusScript for " & GetTitle(doc), result) Exit Function End If '** then we sign it result = NSFNoteSign(hNote) If (result <> 0) Then Call SetLastError("Cannot sign " & GetTitle(doc), result) Exit Function End If '** then we save it result = NSFNoteUpdate(hNote, 0) If (result <> 0) Then Call SetLastError("Cannot save " & GetTitle(doc), result) Exit Function End If '** update the in-memory reference to the object Delete doc Set doc = db.GetDocumentByUNID(unid) '** a little trick to avoid this message on recompiled forms: '** This document has been altered since the last time it was signed! Intentional tampering may have occurred. Call doc.Sign() Call doc.Save(True, False) lastError = "" RecompileLS = True Exit Function processError: Call SetLastError("Error recompiling LotusScript for " & GetTitle(doc), 0) Exit Function End Function Public Function GetTitle (doc As NotesDocument) As String On Error Resume Next If (doc Is Nothing) Then Exit Function End If Dim title As String title = doc.~$Title(0) If (Instr(title, "|") > 0) Then title = Strleft(title, "|") End If If (title = "") Then title = "(untitled)" End If GetTitle = |"| & title & |"| End Function End Class Sub Initialize '** As a test, let's recompile all the agents, script libraries, and forms '** in this database Dim session As New NotesSession Dim db As NotesDatabase Dim nc As NotesNoteCollection Dim recompiler As New LotusScriptRecompiler Dim noteID As String '** create our recompiler object Set db = session.CurrentDatabase Call recompiler.OpenDatabase(db) If (recompiler.GetLastError <> "") Then Print recompiler.GetLastError Exit Sub End If '** compile the script libraries first (note that this will NOT build a '** dependency tree -- rather, we'll try to brute-force around the '** dependencies by recompiling until either (A) there are no errors, '** or (B) the number of errors we get is the same as we got last time) Dim errCount As Integer, lastCount As Integer Set nc = db.CreateNoteCollection(False) nc.SelectScriptLibraries = True Call nc.BuildCollection Print "SCRIPT LIBRARIES" Do lastCount = errCount errCount = 0 noteID = nc.GetFirstNoteId Do Until (noteID = "") If recompiler.RecompileLSByNoteID(noteID) Then Print "Successfully recompiled " & _ recompiler.GetTitle(db.GetDocumentByID(noteID)) Else Print recompiler.GetLastError errCount = errCount + 1 End If noteID = nc.GetNextNoteId(noteID) Loop Loop Until ( (errCount = 0) Or (errCount = lastCount) ) '** then compile everything else Set nc = db.CreateNoteCollection(False) nc.SelectAgents = True nc.SelectForms = True Call nc.BuildCollection Print "FORMS AND AGENTS" noteID = nc.GetFirstNoteId Do Until (noteID = "") If recompiler.RecompileLSByNoteID(noteID) Then Print "Successfully recompiled " & _ recompiler.GetTitle(db.GetDocumentByID(noteID)) Else Print recompiler.GetLastError End If noteID = nc.GetNextNoteId(noteID) Loop Call recompiler.CloseDatabase() Print "All done" End Sub 

lmike

lmike

нет, пердело совершенство

  • #1

сабж
при открытии любой БД пишет рефрешинг и на этом виснет

upload_2017-3-17_13-41-26.png

ругается на открытие БД, в кот. есть Database Script
—————————
IBM Notes
—————————
Error loading USE or USELSX module: *javacon
—————————
ОК
—————————

кто с таким сталкивался?

  • #2

Не сталкивался.. потому как java наверное не пользую..

  • #3

Не сталкивался. Есть и дбскрипт и джавабибл. Почистить что-ть?

lmike

lmike

нет, пердело совершенство

  • #4

Не сталкивался. Есть и дбскрипт и джавабибл. Почистить что-ть?

есть код, кот. использует общую либу (обработка ошибок), в ней обработчик ошибок java
вопрос — почему дизайнер виснет, с ошибкой-то кода я могу «справиться»

  • #5

поставил fp8 на рабочую машинку.. появилась вот такая бяда..

upload_2017-3-24_16-56-12.png

кто подскажет что сделать?))

lmike

lmike

нет, пердело совершенство

  • #6

@swyatogor судя про трейсу — нет путей к либам, при сборке
у меня сильное подозрение — изменения жвм на версию 1.8 имеют неприятные последствия для java проектов
даже для уже скомпиированных
для себя я решил погодить использовать — ибо не знаю деталей и решений

garrick

  • #7

поставил fp8 на рабочую машинку.. появилась вот такая бяда..
Посмотреть вложение 9534
кто подскажет что сделать?))

Посмотрите в свойствах проекта какую jvm он использует, есть ли она у вас в наличии.
[doublepost=1490596157,1490595948][/doublepost]

@swyatogor судя про трейсу — нет путей к либам, при сборке
у меня сильное подозрение — изменения жвм на версию 1.8 имеют неприятные последствия для java проектов
даже для уже скомпиированных
для себя я решил погодить использовать — ибо не знаю деталей и решений

Под 1.8 запускается только клиент, дизайнер по прежнему использует 1.6 из папки jvm1.6, проблемы могут быть только с новыми путями к этой jvm и внешним библиотеками из jvm/lib/ext, если вы забыли их положить ещё и в jvm1.6/lib/ext.

  • #8

не стал ломать голову что и как там настраивается.. снес нафиг лотус и поставил старую версию которая была..и всё заворкало

lmike

lmike

нет, пердело совершенство

  • #10

и внешним библиотеками из jvm/lib/ext, если вы забыли их положить ещё и в jvm1.6/lib/ext.

выше описывал траблу — до перкладывания даже не дохдит
и при старте БД не работает LS2J инициализация

garrick

  • #11

выше описывал траблу — до перкладывания даже не дохдит
и при старте БД не работает LS2J инициализация

Ну, тут я даже и не знаю… по-моему это уже как-то ломали раньше в очередном фикс-паке, потом починили… ну, теперь снова. Всё идёт по индусскому плану.

Такая же проблема была после FP1 и решается она так же, как и тогда — надо запустить дизайнер без клиента.

Последнее редактирование: 27.03.2017

  • #12

Кстати.. а ни кто не обращал внимания на битность java??.. она там давно 64-х битная?

garrick

  • #13

Кстати.. а ни кто не обращал внимания на битность java??.. она там давно 64-х битная?

Биность Java равна битности клиента/сервера — всегда так было.
[doublepost=1490779184,1490779123][/doublepost]

сабж
при открытии любой БД пишет рефрешинг и на этом виснет
Посмотреть вложение 9423
ругается на открытие БД, в кот. есть Database Script
—————————
IBM Notes
—————————
Error loading USE or USELSX module: *javacon
—————————
ОК
—————————

кто с таким сталкивался?

[doublepost=1490779123,1490779025][/doublepost]Нашел вот что. Если вы что-то отлаживали в дебагере, а потом его отключили, то для повторного включения дебагера надо перезапустить дизайнер. Иначе галочка в меню «Debug Lotus Script» включается и выключается, но ничего не происходит.

  • #14

… что-то отлаживали в дебагере, а потом его отключили, то для…

— ХЗ, у меня этого ничего нет. Дебажу и ничего не перезапускаю. Всё происходит ))
ток, если дебажится форма, к примеру, галку надо ставит ДО её открытия (т.е. переоткрыть ЕЁ есличо). ну и всего остального эт тож касается

lmike

lmike

нет, пердело совершенство

  • #15

Нашел вот что. Если вы что-то отлаживали в дебагере, а потом его отключили, то для повторного включения дебагера надо перезапустить дизайнер

я ничего не дебажу
есть БД, в кот. класс «работы» с ошибками java, вызываемой из LS (LS2J)
в скрипте БД, либа (с классом) подключается
при открытии БД — ловим ошибку

garrick

  • #16

я ничего не дебажу
есть БД, в кот. класс «работы» с ошибками java, вызываемой из LS (LS2J)
в скрипте БД, либа (с классом) подключается
при открытии БД — ловим ошибку

Про это я уже «говорил» выше — надо запустить дизайнер без клиента и тогда нет никаких ошибок. Был такой же глюк в FP1, потом починили, а сейчас вернули назад.
[doublepost=1490783750,1490783564][/doublepost]

— ХЗ, у меня этого ничего нет. Дебажу и ничего не перезапускаю. Всё происходит ))
ток, если дебажится форма, к примеру, галку надо ставит ДО её открытия (т.е. переоткрыть ЕЁ есличо). ну и всего остального эт тож касается

А у меня такая штука — если остановить дебагер «не дойдя до конца кода» в процессе отладки, где-то посередине кода, то второй раз он не стартует без перезапуска дизайнера.

lmike

lmike

нет, пердело совершенство

  • #17

Про это я уже «говорил» выше — надо запустить дизайнер без клиента и тогда нет никаких ошибок. Был такой же глюк в FP1, потом починили, а сейчас вернули назад.

я вовсе не запускаю дизайнер…

garrick

  • #18

я вовсе не запускаю дизайнер…

А если запустить и перекомпилировать этот код и больше его потом не трогать?

lmike

lmike

нет, пердело совершенство

  • #19

А если запустить и перекомпилировать этот код и больше его потом не трогать?

дык первый пост о том — что джава тулинг вис на старте дизигнера

VladSh

  • #20

@lmike
Как решил?
У меня сейчас похожая проблема.
При первом старте Дизайнера долго отрабатывает инициализация Java Tooling, но процесс прекращается, и вроде всё нормально, но нет — все библиотеки, в которых есть строка ‘UseLSX «*javacon»‘ Дизайнер отображает с красным крестом. Если зайти внутрь библиотеки, то на этой строке красным подчёркнуто и подсказка «Error loading USE or USELSX module: *javacon».

Hi,
i am getting this error on some PC s and not in others for the same database.
— PCs have same lotus version (5.0.11)
— Database is at Server
— The library with the loading error is a custom library where i have all the LotusScript funcionality
— The code is called from an Agent

The only diference between them is that i have Lotus Designer installed. The problem goes out if i install it.
That’s not a solution.
Somebody could help me?
Thanks in advance

Lotus IBM

Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn’t do my job half as well as I do without it!

Unlimited question asking, solutions, articles and more.

Your help has saved me hundreds of hours of internet surfing.

fblack61

Unlimited question asking, solutions, articles and more.

Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!

Walt Forbes

Unlimited question asking, solutions, articles and more.

This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.

rwheeler23

Unlimited question asking, solutions, articles and more.

All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone’s boat

William Peck

Unlimited question asking, solutions, articles and more.

Not exactly the question you had in mind?

Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.

ask a question

I have one Notes client that gets this message multiple times everytime opening a view.
Notes client is version 9 swedish and it has just been installed into a new computer.

The view do contain calls to Scriptlibraries and maybe also to some java code from complied code, (swingsoftware)

The strange thing is that the views work fine on all other computers running the same windows and Notes versions.

The obvious answer here would be to reinstall the client but that is not currently an option.

Looking in the java console I can see references to security errors. ( see image )

anyone have any tips for resolving this issue?

enter image description here

enter image description here

!]3

In order to resolve your issue you would need to recompile the script (what is automatically done when saving it in the Designer- Client) and then programmatically sign it (what is only possible using the C-API). Calling a «ComputeWithForm» on a Design- Element does NOT recompile the script.

Rather than fixing something that should not be broken, I would rather investigate why this agent stops running.

Usually this happens, when the designer- task «merges» script- libraries / agents from different templates to one database.

I am quite sure, that the reason for your agent not working anymore is the nightly designer task. Try to take out the template- name from the «broken» database or manipulate it (add an «x» or something) so that you keep the information, but designer task does not find the corresponding template. This should fix your problem.

If you really cannot fix the problem with this approach, then try this code I found here, put it in an agent and let the user call it via another agent with ag.RunOnServer (then it runs with more rights than the user has):

'LS Recompile: 

Option Public
Option Explicit

%REM
An example of using Notes API calls to recompile LotusScript.

version 1.0
Julian Robichaux
http://www.nsftools.com
%END REM


'** Notes C-API functions
Declare Function OSPathNetConstruct Lib "nnotes.dll" (Byval portName As Integer, _
Byval serverName As String, Byval fileName As String, Byval pathName As String) As Integer

Declare Function NSFDbOpen Lib "nnotes.dll" (Byval dbName As String, hDb As Long) As Integer
Declare Function NSFDbClose Lib "nnotes.dll" (Byval hDb As Long) As Integer

Declare Function NSFNoteLSCompile Lib "nnotes.dll" (Byval hDb As Long, _
Byval hNote As Long, Byval dwFlags As Long) As Integer
Declare Function NSFNoteSign Lib "nnotes.dll" (Byval hNote As Long) As Integer
Declare Function NSFNoteUpdate Lib "nnotes.dll" (Byval hNote As Long, _
Byval flags As Integer) As Integer

Declare Function OSLoadString Lib "nnotes.dll" (Byval hModule As Long, Byval stringCode As Integer, _
Byval retBuffer As String, Byval bufferLength As Integer) As Integer


'================================================================
' Base class for working with Notes databases at the API level
'================================================================
Class APIBaseClass
    Private db As NotesDatabase
    Private hDb As Long
    Private lastError As String


    Public Sub New ()
        '** nothing to instantiate in the base class
    End Sub


    Public Sub Delete ()
        Call CloseDatabase()
    End Sub


    Public Function OpenDatabase (db As NotesDatabase) As Integer
        On Error Goto processError

        If (hDb > 0) Then
            Call CloseDatabase()
        End If

        '** reset the internals
        Set Me.db = db
        lastError = ""

        Dim pathName As String*256
        Dim result As Integer

        '** create a proper network path name with OSPathNetConstruct
        Call OSPathNetConstruct(0, db.Server, db.FilePath, pathName)

        '** open the database and get a handle with NSFDbOpen
        result = NSFDbOpen(pathName, hDb)
        If result = 0 Then
            OpenDatabase = True
        Else
            Call SetLastError("Cannot open database " & db.FilePath & " on server " & db.Server, result)
        End If

        Exit Function

processError:
        Call SetLastError("Error opening database", 0)
        Exit Function

    End Function


    Public Sub CloseDatabase ()
        On Error Resume Next

        If (hDb > 0) Then
            Call NSFDbClose(hDb)
        End If

        Set db = Nothing
        hDb = 0
        lastError = ""
    End Sub


    Private Function SetLastError (errText As String, apiResultCode As Integer) As String
        If (apiResultCode <> 0) Then
            LastError = "API Error " & apiResultCode & ": " & GetAPIError(apiResultCode)
        Elseif (Err > 0) Then
            LastError = "Notes Error " & Err & ": " & Error$
        Else
            LastError = ""
        End If

        If (Len(errText) > 0) Then
            LastError = errText & ". " & LastError
        End If
    End Function


    Public Function GetLastError () As String
        GetLastError = LastError
    End Function


    Public Function GetAPIError (errorCode As Integer) As String
        Dim errorString As String*256
        Dim returnErrorString As String
        Dim resultStringLength As Long
        Dim errorCodeTranslated As Integer

        Const ERR_MASK = &H3fff
        Const PKG_MASK = &H3f00
        Const ERRNUM_MASK = &H00ff

        '** mask off the top 2 bits of the errorCode that was returned; this is
        '** what the ERR macro in the API does
        errorCodeTranslated = (errorCode And ERR_MASK)

        '** get the error code translation using the OSLoadString API function
        resultStringLength = OSLoadString(0, errorCodeTranslated, errorString, Len(errorString) - 1)

        '** strip off the null-termination on the string before you return it
        If (Instr(errorString, Chr(0)) > 0) Then
            returnErrorString = Left$(errorString, Instr(errorString, Chr(0)) - 1)
        Else
            returnErrorString = errorString
        End If

        GetAPIError = returnErrorString

    End Function

End Class


'================================================================
' Special subclass for recompiling a note/doc in a database
'================================================================
Class LotusScriptRecompiler As APIBaseClass

    Public Function RecompileLSByNoteID (noteID As String) As Integer
        On Error Goto processError

        If (db Is Nothing) Then
            Call SetLastError("Database is not open", 0)
            Exit Function
        End If

        Dim doc As NotesDocument
        Set doc = db.GetDocumentByID(noteID)
        RecompileLSByNoteID = RecompileLS(doc)
        Exit Function

processError:
        Call SetLastError("Error recompiling LotusScript for " & noteID, 0)
        Exit Function

    End Function


    Public Function RecompileLSByUNID (unid As String) As Integer
        On Error Goto processError

        If (db Is Nothing) Then
            Call SetLastError("Database is not open", 0)
            Exit Function
        End If

        Dim doc As NotesDocument
        Set doc = db.GetDocumentByUNID(unid)
        RecompileLSByUNID = RecompileLS(doc)
        Exit Function

processError:
        Call SetLastError("Error recompiling LotusScript for " & unid, 0)
        Exit Function

    End Function


    Public Function RecompileLS (doc As NotesDocument) As Integer
        On Error Goto processError

        Dim hNote As Long
        Dim unid As String
        Dim result As Integer

        If (hDb = 0) Then
            Call SetLastError("Database is not open", 0)
            Exit Function
        Elseif (doc Is Nothing) Then
            Call SetLastError("Invalid document reference", 0)
            Exit Function
        End If

        '** super-special-secret way of getting an API handle to a NotesDocument
        hNote = doc.Handle
        unid = doc.UniversalID

        '** first, we compile the note
        result = NSFNoteLSCompile(hDb, hNote, 0)
        If (result <> 0) Then
            Call SetLastError("Cannot compile LotusScript for " & GetTitle(doc), result)
            Exit Function
        End If

        '** then we sign it
        result = NSFNoteSign(hNote)
        If (result <> 0) Then
            Call SetLastError("Cannot sign " & GetTitle(doc), result)
            Exit Function
        End If

        '** then we save it
        result = NSFNoteUpdate(hNote, 0)
        If (result <> 0) Then
            Call SetLastError("Cannot save " & GetTitle(doc), result)
            Exit Function
        End If

        '** update the in-memory reference to the object
        Delete doc
        Set doc = db.GetDocumentByUNID(unid)

        '** a little trick to avoid this message on recompiled forms:
        '** This document has been altered since the last time it was signed! Intentional tampering may have occurred.
        Call doc.Sign()
        Call doc.Save(True, False)

        lastError = ""
        RecompileLS = True
        Exit Function

processError:
        Call SetLastError("Error recompiling LotusScript for " & GetTitle(doc), 0)
        Exit Function

    End Function


    Public Function GetTitle (doc As NotesDocument) As String
        On Error Resume Next
        If (doc Is Nothing) Then
            Exit Function
        End If

        Dim title As String
        title = doc.~$Title(0)
        If (Instr(title, "|") > 0) Then
            title = Strleft(title, "|")
        End If

        If (title = "") Then
            title = "(untitled)"
        End If

        GetTitle = |"| & title & |"|
    End Function
End Class



Sub Initialize
    '** As a test, let's recompile all the agents, script libraries, and forms
    '** in this database
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim nc As NotesNoteCollection
    Dim recompiler As New LotusScriptRecompiler
    Dim noteID As String

    '** create our recompiler object
    Set db = session.CurrentDatabase
    Call recompiler.OpenDatabase(db)
    If (recompiler.GetLastError <> "") Then
        Print recompiler.GetLastError
        Exit Sub
    End If

    '** compile the script libraries first (note that this will NOT build a
    '** dependency tree -- rather, we'll try to brute-force around the 
    '** dependencies by recompiling until either (A) there are no errors,
    '** or (B) the number of errors we get is the same as we got last time)
    Dim errCount As Integer, lastCount As Integer
    Set nc = db.CreateNoteCollection(False)
    nc.SelectScriptLibraries = True
    Call nc.BuildCollection

    Print "SCRIPT LIBRARIES"
    Do
        lastCount = errCount
        errCount = 0

        noteID = nc.GetFirstNoteId
        Do Until (noteID = "")
            If recompiler.RecompileLSByNoteID(noteID) Then
                Print "Successfully recompiled " & _
                recompiler.GetTitle(db.GetDocumentByID(noteID))
            Else
                Print recompiler.GetLastError
                errCount = errCount + 1
            End If

            noteID = nc.GetNextNoteId(noteID)
        Loop
    Loop Until ( (errCount = 0) Or (errCount = lastCount) )

    '** then compile everything else
    Set nc = db.CreateNoteCollection(False)
    nc.SelectAgents = True
    nc.SelectForms = True
    Call nc.BuildCollection

    Print "FORMS AND AGENTS"
    noteID = nc.GetFirstNoteId
    Do Until (noteID = "")
        If recompiler.RecompileLSByNoteID(noteID) Then
            Print "Successfully recompiled " & _
            recompiler.GetTitle(db.GetDocumentByID(noteID))
        Else
            Print recompiler.GetLastError
        End If

        noteID = nc.GetNextNoteId(noteID)
    Loop

    Call recompiler.CloseDatabase()
    Print "All done"
End Sub

For a week, I was trying to solve a problem with an old database. The problem was a well-known error message: «Error loading USE or USELSX module» in my agents and script libraries.

This case, I couldn’t update my agents, script libraries, etc. because my designer wasn’t compiling due to this error.

So after hours of try and error, I noticed that I didn’t test one thing I should have tested at the beginning. My friends guess what I’m talking about :)

If there is Java, you’re living in Turkey, you should check «i» character first!

I did and found the problem. I can reproduce the problem and have opened PMR report. Now I won’t share the exact steps but show the screen shots.

Before, I should tell you that this case is valid for new Lotusscript Editor and Turkish Language in Regional Settings. But there are similar accented character problems in other languages. Therefore use your creativity to find another bug in your language :)

We have two script libraries:

Image:Mystery Solved: "Error loading USE or USELSX module"

Now we are opening TestLib02 and connect it to TestLib01. But oops!

Image:Mystery Solved: "Error loading USE or USELSX module"

Very funny, right?

Suppose we have created this application before. We can’t modify any code in the library, because it wouldn’t compile.

There are two workarounds:

1. Use Uppercase.

Image:Mystery Solved: "Error loading USE or USELSX module"

2. Disable new Lotusscript editor… This is not happenning in old editor.

Image:Mystery Solved: "Error loading USE or USELSX module"

What is the implication of this problem?

It also solves the famous «Lotus Workflow is not working on 8.5.x» problem of Turkish customers. Many of my customers mentioned about this problem.

Moreover, this is just a simple case. The lesson of the day is; For any unresolved problems in DDE, if the subject of the problem contains «case insensitivity», the issue is «i» character for Turkish customers.

Expecting your comments about any findings in other languages.

Понравилась статья? Поделить с друзьями:
  • Ошибка е4 на самокате hiper
  • Ошибка е4 на газовом котле газэко
  • Ошибка е39 псч счетчика
  • Ошибка е36 стиральная машина bosch как снять
  • Ошибка е3 газовая колонка балтгаз