java.lang.UnsatisfiedLinkError: java/security/AccessController.doPrivileged

ERPgal

Member
Hello all,

I have been trying to solve this problem for over the last 4 days and I need help. The error message indicates that there is a security restriction, but I cannot confirm this. Please have a look below.

Database Version : PROGRESS Version 9.1D0920 as of Tue Oct 19 20:04:28 EDT 2004

Error

java.lang.UnsatisfiedLinkError: java/security/AccessController.doPrivileged Possible causes: If you are trying to use J/Direct (@dll.import),
check your compiler version (for JVC, requires 4336 or greater.) If you are trying to use RNI, there are new requirements: see documentation.

at java/security/AccessController.doPrivileged
at java/rmi/server/RemoteServer.<clinit>
at com/progress/vj/explorer/ProgressExplorer.getClientEventBroker
at com/progress/vj/util/ProDialog.<clinit>
at com/progress/vj/util/ProDialog.getActiveProDlg
at com/progress/vj/util/ProMsgBox.show
at com/progress/vj/util/ProMsgBox.error
at com/progress/vj/util/ProMsgBox.error
at com/progress/vj/sql/explorer/SQLExplorerGUI.doRunAction
at com/progress/vj/sql/explorer/SQLExplorerGUI.executeButton_click
at com/progress/vj/sql/explorer/SQLExplorerGUI.toolBar_buttonClick
at com/ms/wfc/ui/ToolBarButtonClickEventHandler.invoke
at com/ms/wfc/ui/ToolBar.onButtonClick
at com/ms/wfc/ui/ToolBar.wmReflectCommand
at com/ms/wfc/ui/ToolBar.wndProc
at com/ms/wfc/ui/Control$ControlWindow.wndProc
at com/ms/wfc/app/Window.callback
at com/ms/wfc/win32/Windows.SendMessage
at com/ms/wfc/ui/Control.sendMessage
at com/ms/wfc/ui/Control.reflectMessage
at com/ms/wfc/ui/Control.wmCommand
at com/ms/wfc/ui/Control.wndProc
at com/ms/wfc/ui/Form.wndProc
at com/ms/wfc/app/Application$ParkingForm.wndProc
at com/ms/wfc/ui/Control$ControlWindow.wndProc
at com/ms/wfc/app/Window.callback
at com/ms/wfc/win32/Windows.CallWindowProc
at com/ms/wfc/app/Window.defWndProc
at com/ms/wfc/ui/Control$ControlWindow.defWndProc
at com/ms/wfc/ui/Control.defWndProc
at com/ms/wfc/ui/Control.wmMouseUp
at com/ms/wfc/ui/Control.wndProc
at com/ms/wfc/ui/ToolBar.wndProc
at com/ms/wfc/ui/Control$ControlWindow.wndProc
at com/ms/wfc/app/Window.callback
at com/ms/wfc/win32/Windows.DispatchMessage
at com/ms/wfc/app/Application$ThreadContext.runMessageLoop
at com/ms/wfc/app/Application.run
at com/progress/vj/sql/explorer/SQLExplorerGUI.main

Cause & Symptom
I am trying to execute the following query:

SELECT * From
(
select jm.jobnum
,jm.partnum as MtlPart
,jm.revisionnum as MtlRev
,jh.partnum as FGDSPart
,cast(jm.requiredqty as varchar(25)) as requiredqty
,cast(jm.issuedqty as varchar(25)) as issuedqty
,jm.company
,case
when jm.issuedComplete = 0 then 'no'
when jm.issuedcomplete = 1 then 'yes'
end as issuedCompleted
, cast(jm.requiredqty - jm.issuedqty as varchar(25)) as toBeIssued
,cast(jm.reqDate as varchar(25)) as reqDate
,'' as qtyOnhand
,'' as qtyShort
from pub.jobhead jh
,pub.jobmtl jm
,pub.jobasmbl ja
where jh.company = '
and jh.duedate is not null
and jh.jobclosed = 0
and jh.jobcompletionDate is null
and jh.partnum like '%'
and jh.jobcomplete = 0
and ja.company = '
and jh.company = ja.company
and jh.jobnum = ja.JobNum
and jh.partnum = ja.partnum
and jm.company = '
and jm.company = ja.company
and jm.jobnum = ja.jobnum
and jm.partnum like '%'
and jm.jobnum = ja.jobnum
and jm.AssemblySeq = jm.assemblyseq
and jm.mtlseq >= 0
and jm.jobcomplete = 0
and jm.requiredqty - jm.issuedqty > 0
and jh.duedate between to_date('7/28/2008') and to_date('11/19/2008')
) as job LEFT OUTER JOIN
(
select cast(pr.duedate as varchar(25)) as "Due_Date"
,cast(pr.relqty as varchar(25)) as DueQty
,'' as vendor
,cast(pr.relqty as varchar(25)) as relqty
,cast(pr.receivedqty as varchar(25)) as recvqty
,cast(pr.ponum as varchar(25)) as ponum
,cast (pr.poline as varchar(25)) as poline
, cast (pr.porelnum as varchar(25)) as porelnum
, pd.partnum
, pd.revisionnum
from pub.porel pr inner join PUB.PODetail pd
ON (pr.company = pd.company
and pr.ponum = pd.ponum
and pr.poline = pd.poline
and pr.company = 'ACME'
)
) as po
ON
(
job.company = po.company
and job.jobnum = po.jobnum
and job.assemblyseq = po.assemblyseq
and job.company = po.company
and job.ponum = po.ponum
and job.poline = po.poline
and job.mtlPart = po.partnum
and job.mtlRev = po.revisionnum
)

Actions Taken:
  1. Created the Environment Variables CLASSPATH and Path
    • System knows where to find Progress.jar,jdbc.jar, prowin.jar, RMI.zip, messages.jar, tools.jar, the DLC java folder, the DLC bin folder, the DLC jre folder
  2. Installed Java j2sdk1.4.2_18
  3. Rebooted Machine
Attempts Made
  1. I tried to find the compiler but there doesn't appear to be one in the DLC directory. Should I have the jvc.exe on my server? If so, it is not there. Javac.exe is installed on the server, but it appears to be used by Crystal Reports/Business Objects, not progress
 

Casper

ProgressTalk.com Moderator
Staff member
Do you get this error also if you use a secondary SQL broker? This could be happening becuase there is room for starting a _sqlsrv2 process on your primary broker. ( see my answer in your other post)

Casper.
 

ERPgal

Member
Do you get this error also if you use a secondary SQL broker? This could be happening becuase there is room for starting a _sqlsrv2 process on your primary broker. ( see my answer in your other post)

Casper.


Casper,

I am going to set up a parameters (.pf) file and start a secondary broker.
I'm using your response from the other thread (http://www.progresstalk.com/showthread.php?t=114511) as a guide. I will let you know if that works.
 

ERPgal

Member
My parameters file looks exactly like this:

-db mfgsys_it -H Vanserv1 -s 7155 -N TCP -Mpb 16 -ServerType SQL -m3

Note: There is no defaultconfiguration available with port 7155. I made that up out of thin air. Should I create a ODBC default configuration and assign it this new port (7155)? Should I use the existing port (7150)

I entered this command:
C:\>proserve -db mfgsys_it -servergroup mfgsys_it.defaultconfiguration.odbcgroup -pf D:\Epicor\mfgsys61\Db\mfgsysSQL.pf

I got the following message:

PROGRESS Version 9.1D0920 as of Tue Oct 19 20:04:28 EDT 2004
12:41:00 SERVER : This broker will terminate when session ends. (5405)
12:41:00 BROKER 3: The port 7150 is already in use. (785)
12:41:00 SERVER : ** This process terminated with exit code 1. (8619)


Update : I got the secondary Broker to work after using this proserve command

C:\> proserve D:\Epicor\mfgsys_it\db\mfgsys.db -S 7155 -pf D:\Epicor\mfgsys61\Db\
mfgsysSQL.pf

Output:
PROGRESS Version 9.1D0920 as of Tue Oct 19 20:04:28 EDT 2004
13:26:30 SERVER : This broker will terminate when session ends. (5405)
13:26:30 BROKER 3: Started for 7155 using TCP, pid 2952. (5644)
13:26:30 BROKER 3: This is an additional broker for this protocol. (5645)
13:26:30 BROKER 3: This broker supports SQL server groups only. (8864
I made up the 7155 value, but made sure I pointed proserve to the correct DB.
 

ERPgal

Member
Update
I couldn't execute a query using the secondary broker until I made the pf file's Mpb count higher than the actual Mpb count in the defaultConfigurations.odbcgroup (one of the server groups).

But Alas! My problem is still not solved. :runtear:
I even made a desperate attempt at adding jdbc:jdbcprogress:T:Vanserv1:7150:mfgsys
to the Internet Explorer Intranet Zone.

Still getting this error :

java.lang.UnsatisfiedLinkError: java/security/AccessController.doPrivileged Possible causes: If you are trying to use J/Direct (@dll.import),
check your compiler version (for JVC, requires 4336 or greater.) If you are trying to use RNI, there are new requirements: see documentation.

at java/security/AccessController.doPrivileged'
...

I noticed something in the sqlExp.prm file . All references to the jdbcodbc driver are commented out. Is this normal? At this point I'm reaching for straws, but I need to fix this and I need as much help as possible. Thanks

sqlexp.prm contents:
-c @{JAVA\JRECP};@{JAVA\PROGRESSCP};@{Startup\DLC}\java\rmi.zip;@{Startup\DLC}\java\prowin.jar;@{Startup\DLC}\java\jdbc.jar
wjview.exe
/d:Install.Dir=@{Startup\DLC}
/d:SQLExplorer.JdbcDriver=com.ms.jdbc.odbc.JdbcOdbcDriver
/d: <-- is the syntax for a comment. So the JdbcOdbcDriver is not being loaded.
com.progress.vj.sql.explorer.SQLExplorerGUI

Please keep in mind that I cannot execute the is query in SQLExplorer, WinSQL and possibly any other db tool available. SQL is the tool I use to quickly test the query.

My point is mentioning the file is to say that perhaps that the correct driver is not being used?
 

jongpau

Member
Hi,

Sorry, I cannot be of much help to you with this type of problem. The only suggestion I can give is for you to contact your software vendor and/or Progress support in your country for assistance (unless you have developed your own application, do contact your vendor first).

You can also check out the Progress knowledge base and see if there is anything helpful there: http://progress.atgnow.com/esprogress/categoryBrowse.do

Paul
 

ERPgal

Member
Hi,

Sorry, I cannot be of much help to you with this type of problem. The only suggestion I can give is for you to contact your software vendor and/or Progress support in your country for assistance (unless you have developed your own application, do contact your vendor first).

You can also check out the Progress knowledge base and see if there is anything helpful there: http://progress.atgnow.com/esprogress/categoryBrowse.do

Paul

Not the death link!!!!:lol: Thanks Paul. I have searched through the online KB and the downloadable KB application. I really feel that my only hope is on this site. I'll keep searching all avenues, though.

Thanks again.
 

tamhas

ProgressTalk.com Sponsor
I really feel that my only hope is on this site.

ProgressTalk is one resource, but if you don't get your answer here, you might consider PEG or PSDN. Some of the same folks hang out at all three, but each has its own community and characteristics. For PEG, though, don't try using the web search since Greg is still reassembling that. Just go to the subscription page, sign up, and then send e-mail.
 

ERPgal

Member
I really feel that my only hope is on this site.

ProgressTalk is one resource, but if you don't get your answer here, you might consider PEG or PSDN. Some of the same folks hang out at all three, but each has its own community and characteristics. For PEG, though, don't try using the web search since Greg is still reassembling that. Just go to the subscription page, sign up, and then send e-mail.


I really appreciate this. I will register with both sites.
Thanks
 

Casper

ProgressTalk.com Moderator
Staff member
Ok, I really seem to miss apoint here. Been busy lately.

But as I understand you are using 9.1d09. You want an odbc connection to a database and are using sqlexplorer?

There is nothing wrong with your sqlexp.prm file /d is a flag.

For the primary broker you have to make sure that -Mn equalls the number of servers for that broker plus the number of servers for the other broker plus one for each broker.

So -Mn = -Mpb broker 1 + -Mpb broker 2 + 1 if you are using two brokers.

For example for the sports2000 database use attached files to startup.
edit attachments wont work.....

sports2000.pf:
-db C:\Temp\sports2000\sports2000
-H localhost
-S 12345
-N TCP
-B 2000
-Mn 5
-Mi 1
-Ma 4
-Mpb 3
-ServerType 4GL


sports2000_sql.pf
-db C:\Temp\sports2000\sports2000
-H localhost
-S 12346
-N TCP
-B 2000
-Mpb 1
-ServerType SQL
-m3

change portnumbers if needed.

start as follows:
proserve -pf sports2000.pf
proserve -pf sports2000_sql.pf

There is no need to install java nor is there need to set the classpath if you are using sqlexplorer because he will take care of this.

Make a user sysprogress with a password in the running database.

Connect with this user and the portnumber for the second broker and all should work fine.

if this works and you really need to use progress explorer then make sure that the sql broker is the primary broker and the 4GL broker is the secondary broker. I recall havingproblems with that. But first make sure that this works.
If you need to use progress explorer then we can look into getting you the right configuration for this.

Casper.
 

ERPgal

Member
Ok, I really seem to miss apoint here. Been busy lately.

But as I understand you are using 9.1d09. You want an odbc connection to a database and are using sqlexplorer?

There is nothing wrong with your sqlexp.prm file /d is a flag.

...

Casper. I didn't see this post until now. I will try these recommendations ASAP and let you know how this works out.

Please note. I intend to execute queries using WinSQl and through a C#.Net ODBC connection. I'm using the SQLExporer to test the query and to see what error messages show up.

Thanks :)
 

ERPgal

Member
I need to clarify something before I can make the correct modifications to the parameters file.

In addition to the secondary broker that I created on the Test DB, there are two defaultconfiguration groups. One uses 4GL and one uses SQL.
I am assuming these are brokers. One has 32 servers and the other has 25 servers.

It looks like I have two options here.
1. I can increase the number of servers that's on the ODBC default configuration group (SQL).
2. OR I will have to add 32+25 + the number of servers for the secondary broker+ 1 in the sports_sql.pf file.

What do you think?

P.S: Do you know what the -Mm parameter is for? I see it in our pf files but I don't see Mm mentioned in any of the documentation.


P.S. I also need to clarify. I can create an ODBC connection to the DB. I can even run queries against the query, however if I try to do more complex queries (like the one above) the thing craps out on me.

I edited the pf file and set -Mn = 73, restarted the DB, reopened SQLExplorer, execute the query and got the same error. :runtear:
Please have a look at the default configurations for the DB.

 

Attachments

  • ProgressExplorer.bmp
    741.1 KB · Views: 19

ERPgal

Member
I thought it would help to show the actual error message

sqljavaerrortf5.jpg
 

FrancoisL

Member
You should try upgrading to the 9.1E with latest service pack. When you check the KB on error -20217 you see alot of different entries on bad error reporting from the query. All of these seem to say that those issues are fixed in Version 9.1E02 and that the SqlExplorer will report the real error.

If i were you , I would upgrade to 9.1E with the latest service pack to see if that issue is solved or maybe get the real error message with your query.
 

ERPgal

Member
You should try upgrading to the 9.1E with latest service pack. When you check the KB on error -20217 you see alot of different entries on bad error reporting from the query. All of these seem to say that those issues are fixed in Version 9.1E02 and that the SqlExplorer will report the real error.

If i were you , I would upgrade to 9.1E with the latest service pack to see if that issue is solved or maybe get the real error message with your query.

I was planning to do that this weekend, but I am told by our software provider (Epicor) that 9.1E has not be tested for use with the Vantage 6.1 ERP system. I don't want to risk causing additional problems.
 

vinod_home

Member
are you getting that error just for that query or for any query that you try to run against that table or any table.

I think I saw that you can run query fine and you have the odbc connection setup. Do you see anything in the database log.
 

TomBascom

Curmudgeon
I was planning to do that this weekend, but I am told by our software provider (Epicor) that 9.1E has not be tested for use with the Vantage 6.1 ERP system. I don't want to risk causing additional problems.

I would ask them if they are aware that 9.1E04 is the only currently supported version 9 release of Progress?

I'd also ask them to please put their refusal to certify and support 9.1E SP04 in writing along with a justification for that position. You might mention that you are concerned that your SOX auditors may determine that this is a material weakness and that you therefore need to have as much documentation as possible on hand to defend yourself.

Of course you should test it and while it is highly unlikely there is a very, very small possibility that something will go wrong. The building could burn down over the weekend too. Or you could accidentally delete the db via a slip of the mouse click. But aside from FUD there really isn't any reason not to upgrade. It is the only path to bug fixes.
 

ERPgal

Member
The mystery is partially solved. It turns out that Progress did not like the fact that I was casting and joining at the same time. I also was missing a field in one of the result tables that I was trying to use in my join criteria.

I also noticed that progress does not like it if use the same column names in both result sets. i.e if use resultTable1.jobnum = resultTable2.jobnum, the progress does not like it at all.

I tweaked the query and got it to run...but now I am getting the Cartesian product of the query rather than a true LEFT OUTER JOIN.
I guess I'm off to create a new Topic.


The following query is producing a Cartesian product. Any suggestions why?

SELECT * From
(select jm.jobnum as jnum
,jm.partnum as MtlPart
,jm.assemblyseq as assseq
,jm.company as comp
,jh.partnum as FGDSPart
,cast(jm.requiredqty as varchar(25)) as requiredqty
,cast(jm.issuedqty as varchar(25)) as issuedqty
,case
when jm.issuedComplete = 0 then 'no'
when jm.issuedcomplete = 1 then 'yes'
end as issuedCompleted
, cast(jm.requiredqty - jm.issuedqty as varchar(25)) as toBeIssued
,cast(jm.reqDate as varchar(25)) as reqDate
,'' as qtyOnhand
,'' as qtyShort
,jm.revisionnum as MtlRev
,'---******---' as div
from pub.jobhead jh
,pub.jobmtl jm
,pub.jobasmbl ja
where jh.company = 'ACME'
and jh.duedate is not null
and jh.jobclosed = 0
and jh.jobcompletionDate is null
and jh.partnum <> ''
and jh.jobcomplete = 0
and ja.company = 'ACME'
and jh.company = ja.company
and jh.jobnum = ja.JobNum
and jh.partnum = ja.partnum
and jm.company = 'ACME'
and jm.company = ja.company
and jm.jobnum = ja.jobnum
and jm.partnum <> ''
and jm.jobnum = ja.jobnum
and jm.AssemblySeq = jm.assemblyseq
and jm.mtlseq >= 0
and jm.jobcomplete = 0
and jm.requiredqty - jm.issuedqty > 0
and jh.duedate between to_date('10/28/2008') and to_date('11/19/2008')
) as job LEFT OUTER JOIN
(
select pr.jobnum
,pd.partnum
,pr.assemblyseq
, pd.company
, pd.revisionnum
,pr.duedate as "Due_Date"
,pr.relqty as DueQty
,'' as vendor
,pr.relqty as relqty
,pr.receivedqty as recvqty
,pr.ponum as ponum
,pr.poline as poline
,pr.porelnum as porelnum
,pr.jobseq
from pub.porel pr inner join PUB.PODetail pd
ON (pr.company = pd.company
and pr.ponum = pd.ponum
and pr.poline = pd.poline
and pr.company = 'ACME'
)
)as hh
on job.jnum = hh.jobnum
and job.mtlpart = hh.partnum
and job.assseq = hh.assemblyseq
and job.comp = hh.company
 

ERPgal

Member
I would ask them if they are aware that 9.1E04 is the only currently supported version 9 release of Progress?

I'd also ask them to please put their refusal to certify and support 9.1E SP04 in writing along with a justification for that position. You might mention that you are concerned that your SOX auditors may determine that this is a material weakness and that you therefore need to have as much documentation as possible on hand to defend yourself.

Of course you should test it and while it is highly unlikely there is a very, very small possibility that something will go wrong. The building could burn down over the weekend too. Or you could accidentally delete the db via a slip of the mouse click. But aside from FUD there really isn't any reason not to upgrade. It is the only path to bug fixes.

Thanks Tom, you made some good points. I will be speaking with the software provider this week and plan to discuss this in length.
 
Top