Newbie:solaris 7 architecture?
i'm new to solaris and i would like to know more on:
1.Process Management and Scheduling
-scheduling algorithm
-synchronization
-deadlock handling
2.Memory Management
-main memory
-virtual memory
3.File System
4.I/O System
5.Interprocess Communication
6.Networking
Hi Max,
The probe routine never gets called. Only info, init and _fini.
The only way I can get the OS to call the probe and attach
functions is to modify the conf file to
name="uvm" parent="pseudo" instance=0
reg=0,0x80000000,0x10000000;
But the attach fails when I call the ...prop_op function when
getting my register adresses.
The driver is not a real hardware driver, it is used to map free PCI memory to a user application.
Something must have changed in Solaris 9 since the
driver works fine with versions priot to this.
I get the feeling that because Solaris doesn't "see"
the hardware it only calls info and init.
I don't know if it makes any difference but this is for x86
hardware.
Best regards
Charles.
ps
The probe routine just returns with DDI_PROBE_SUCCESS.
Similar Messages
-
Portal Server support on Solaris/Intel Architecture
Hi Gurus,
Is iPlanet portal supported on Solaris on Intel architecture? Any of you have this kind of setup and experienced any problem? or was it smooth sailing? or is there some particular version of Solaris OS that has to be used..etc.
Thanks
AshokThe short answer is No. The current version of Portal Servers both 3.0 and 6.0 are supported only in Solaris / Sparc arch.
-
OUD in Solaris Intel Architecture
ODSM Deployment on amd64 i386
I am a Solaris Intel user interested in getting users to authenticate to Local OUD.
I need assistance using OUD to add users via cli ( I am new to OUD )
in "netmgr" I already sees and able to authenticate Oracle cn=Directory Manager.
Base DN : Oracle Content
Question: How do I add test users to a fully functional OUD running in Solaris 11.2 and Oracle12c with iPlanet installed.
Currently have no ODSM GUI in working status Due to RCU/Solaris Intel Incompativility issues. (Investigating)
Comments are welcomed.
Art.SHello,
OUD ships with LDAP clis to add/modify users:
Assuming OUD instance is created in <instance>,
go to <instance>OUD/bin
Here is an example to create user u1 with the ldapmodify command:
./ldapmodify -a -D "cn=directory manager" -w <password> -p <ldap port>
dn: uid=u1,ou=people,dc=example,dc=com
uid: u1
objectclass: inetorgperson
cn: u1
sn: u1
userPasswword: u1
If you have many users to create, you can use the ldapmodify command in batch mode
with the -f option . The -f option is foillowed by a LDIF file containing entries to be created.
More about ldapmodify command at ldapmodify - Oracle Fusion Middleware Command-Line Usage Guide for Oracle Unified Directory
Sylvain
Please mark the responses as helpful or correct when appropriate to make it easier for others to find them -
Can someone please show me how to access the DT USERGUIDE for solaris. I received an error message that will not let me log on to the common desktop.I have to logon in failsafe mode [as per instructions] and check on a couple of things.This is my first time using solaris and I am not sure how to sure how to resolve this. Any help will be appreciated, thanks
Don't know if this issue is still a problem for you but it sounds like you have a problem starting ToolTalk. This is the messaging system that CDE uses for application and session interaction.
Have you tried using the gnome desktop, this will work OK without ToolTalk.
ToolTalk is started from init.d and stores db files in TT_DB directories under ufs mount points by default.
Check to see if ToolTalk is running...
ps -ef |grep rpc.ttdbserver
rpcinfo |grep 100083
(also make sure rpcbind is running)
If ToolTalk is not able to start or initialise the db's it is likely due to some basic host configuration errors.
Try sys-inconfig and re-enter the host details when prompted.
Be aware that this will remove some system info and reboot your server. Check the man page for sys-unconfig if your server is more than a test system.
Regards,
-Chris -
Stlport-compatible version of OCCI for Solaris x86_64
Hi,
Is there one? I noticed that 64-bit version of Instant Client for 64-bit Sparc includes libocci_stlport4.so starting from 10.2.0.3 release, however the file is absent from all x86_64 releases. Any ideas?
Regards,
AlexHi Alex,
It should be theoritically possible for oracle to release libocci_stlport4.so of solaris x86_64 architecture. I dont think its available yet. Please contact Oracle support and request for such a shared object. BTW, which oracle database version are you on? -
Serious HttpClusterServlet problem
Hi all,
I have come across yet one more cluster problem.
Here is as precise description as I can come up with; we are running
WebLogic 5.1 SP6 on Solaris.
Architecture
Weblogic server (A) running as proxy to a cluster (configured with
HttpClusterServlet) and
2 Weblogic servers (B & C) running in cluster, the app is protected -
sign-on required.
Scenario:
All 3 server are up and running.
1) A client connects via proxy to server B, is authenticated and logged
in. Session is established.
2) Client interacts with server B, session gets populated with some
basic objects.
3) Server B is killed.
4) Client attempts to send a request to server B. Problem #1 - Even
though this request from browser gets
to the proxy and the browser's status says "receiving data from
...", nothing gets propagated to server C.
Now the user clicks Stop button on the browser and sees "Transfer
interrupted..." page generated by the browser.
Client hits back button, the previous page gets loaded fine. Now the
client attempts to send the same request
again and this time it gets through the proxy to the server C which
has a replicated session. Things are fine but
this initial failure troublesme as it happens ALL the time when
scenario is repeated. If the user does not hit the
stop button, "document conainted no data...." dialog is poped-up by
the browser eventualy.
5. Client interacts with the server C now for a while.
6. Browser is killed (normal exit, shutdown will do too) when there is
no activity.
7. Browser is restarted and the user attempts to go to the root URL of
the app.
Now things go NUTS. The proxy server goes crazy, spitting out tons of
messages and exceptions, including
division by zero attempted .
In addition to the proxy server spitting out all of that info, during
several attempts to duplicate this I also
had the clustered server C go nuts in parallel with the proxy as
well.
These is unrecoverable situation, it is necessary to kill both the
proxy and the clustered server in order to stop the
madness.
I realize there was some fix to infinite loop problem in
HttpClusterServlet in SP6 but I am using SP6 and it doesn't help.
Here is a compilation of both the messages from the weblogic.log and
stdout:
Notice that up until 14:53:45 the Broken Pipe messages were <I> - info
but
at 14:54:14 they all become <E> - Errors
How is this for a bug????
-Andrew
weblogic.log:
Wed Nov 08 14:52:05 EST 2000:<I> <ServletContext-General> cluster: init
Wed Nov 08 14:52:10 EST 2000:<I> <proxy> IOException in proxy Broken
pipe
Wed Nov 08 14:52:48 EST 2000:<I> <proxy> IOException in proxy Broken
pipe
Wed Nov 08 14:53:01 EST 2000:<I> <proxy> IOException in proxy Broken
pipe
Wed Nov 08 14:53:02 EST 2000:<I> <proxy> IOException in proxy Connection
reset by peer: Connection reset by peer
Wed Nov 08 14:53:02 EST 2000:<I> <proxy> IOException in proxy Connection
reset by peer: Connection reset by peer
Wed Nov 08 14:53:45 EST 2000:<I> <proxy> IOException in proxy Broken
pipe
Wed Nov 08 14:53:45 EST 2000:<I> <proxy> IOException in proxy Broken
pipe
Wed Nov 08 14:53:45 EST 2000:<I> <proxy> IOException in proxy Broken
pipe
Wed Nov 08 14:54:14 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:54:44 EST 2000:<I> <proxy> IOException in proxy Connection
reset by peer: Connection reset by peer
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:25 EST 2000:<E> <ServletContext-General> Servlet failed
with Exception
java.lang.ArithmeticException: / by zero
at
weblogic.servlet.internal.HttpClusterServlet$ServerList.next(Compiled
Code)
at weblogic.servlet.internal.HttpClusterServlet$2.next(Compiled Code)
at weblogic.servlet.internal.HttpClusterServlet.service(Compiled Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled
Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
Code)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
Code)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
Wed Nov 08 14:55:25 EST 2000:<E> <ServletContext-General> Servlet failed
with Exception
java.lang.ArithmeticException: / by zero
at
weblogic.servlet.internal.HttpClusterServlet$ServerList.next(Compiled
Code)
at weblogic.servlet.internal.HttpClusterServlet$2.next(Compiled Code)
at weblogic.servlet.internal.HttpClusterServlet.service(Compiled Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled
Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
Code)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
Code)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Broken pipe
and here is stdout...............
java.io.IOException: Broken pipe
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.socketWrite(Compiled Code)
at java.net.SocketOutputStream.write(Compiled Code)
at weblogic.servlet.internal.ChunkUtils.writeChunks(Compiled
Code)
at
weblogic.servlet.internal.ServletOutputStreamImpl.flush(Compiled Code)
at
weblogic.servlet.internal.ServletOutputStreamImpl.flush(Compiled Code)
at
weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(Compiled
Code)
at
weblogic.servlet.internal.HttpClusterServlet$Server.proxy(Compiled Code)
at weblogic.servlet.internal.HttpClusterServlet.service(Compiled
Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
Code)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
Code)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
Code)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled
Code)
at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.socketConnect(Compiled Code)
at java.net.PlainSocketImpl.doConnect(Compiled Code)
at java.net.PlainSocketImpl.connectToAddress(Compiled Code)
at java.net.PlainSocketImpl.connect(Compiled Code)
at java.net.Socket.<init>(Compiled Code)
at java.net.Socket.<init>(Compiled Code)
at
weblogic.servlet.internal.HttpClusterServlet$3.newInstance(Compiled
Code)
at weblogic.utils.reuse.Pool.getInstance(Compiled Code)
at
weblogic.servlet.internal.HttpClusterServlet$Server.getConnection(Compiled
Code)
at
weblogic.servlet.internal.HttpClusterServlet$Server.proxy(Compiled Code)
at weblogic.servlet.internal.HttpClusterServlet.service(Compiled
Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
Code)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
Code)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
Code)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled
Code)
at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
server.proxy()....Connection refused
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.socketConnect(Compiled Code)
at java.net.PlainSocketImpl.doConnect(Compiled Code)
at java.net.PlainSocketImpl.connectToAddress(Compiled Code)
at java.net.PlainSocketImpl.connect(Compiled Code)
at java.net.Socket.<init>(Compiled Code)
at java.net.Socket.<init>(Compiled Code)
at
weblogic.servlet.internal.HttpClusterServlet$3.newInstance(Compiled
Code)
at weblogic.utils.reuse.Pool.getInstance(Compiled Code)
at
weblogic.servlet.internal.HttpClusterServlet$Server.getConnection(Compiled
Code)
at
weblogic.servlet.internal.HttpClusterServlet$Server.proxy(Compiled Code)
at weblogic.servlet.internal.HttpClusterServlet.service(Compiled
Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
Code)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
Code)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
Code)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled
Code)
at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
and a whole lot more of the same sequence of errors - too much too list
Contact support and see if they have a patch for this.
- Prasad
Andrzej Porebski wrote:
> Hi all,
>
> I have come across yet one more cluster problem.
> Here is as precise description as I can come up with; we are running
> WebLogic 5.1 SP6 on Solaris.
>
> Architecture
>
> Weblogic server (A) running as proxy to a cluster (configured with
> HttpClusterServlet) and
> 2 Weblogic servers (B & C) running in cluster, the app is protected -
> sign-on required.
>
> Scenario:
>
> All 3 server are up and running.
>
> 1) A client connects via proxy to server B, is authenticated and logged
> in. Session is established.
> 2) Client interacts with server B, session gets populated with some
> basic objects.
> 3) Server B is killed.
> 4) Client attempts to send a request to server B. Problem #1 - Even
> though this request from browser gets
> to the proxy and the browser's status says "receiving data from
> ...", nothing gets propagated to server C.
> Now the user clicks Stop button on the browser and sees "Transfer
> interrupted..." page generated by the browser.
> Client hits back button, the previous page gets loaded fine. Now the
> client attempts to send the same request
> again and this time it gets through the proxy to the server C which
> has a replicated session. Things are fine but
> this initial failure troublesme as it happens ALL the time when
> scenario is repeated. If the user does not hit the
> stop button, "document conainted no data...." dialog is poped-up by
> the browser eventualy.
> 5. Client interacts with the server C now for a while.
> 6. Browser is killed (normal exit, shutdown will do too) when there is
> no activity.
> 7. Browser is restarted and the user attempts to go to the root URL of
> the app.
> Now things go NUTS. The proxy server goes crazy, spitting out tons of
> messages and exceptions, including
> division by zero attempted .
> In addition to the proxy server spitting out all of that info, during
> several attempts to duplicate this I also
> had the clustered server C go nuts in parallel with the proxy as
> well.
> These is unrecoverable situation, it is necessary to kill both the
> proxy and the clustered server in order to stop the
> madness.
> I realize there was some fix to infinite loop problem in
> HttpClusterServlet in SP6 but I am using SP6 and it doesn't help.
>
> Here is a compilation of both the messages from the weblogic.log and
> stdout:
> Notice that up until 14:53:45 the Broken Pipe messages were <I> - info
> but
> at 14:54:14 they all become <E> - Errors
>
> How is this for a bug????
>
> -Andrew
>
> weblogic.log:
> Wed Nov 08 14:52:05 EST 2000:<I> <ServletContext-General> cluster: init
> Wed Nov 08 14:52:10 EST 2000:<I> <proxy> IOException in proxy Broken
> pipe
> Wed Nov 08 14:52:48 EST 2000:<I> <proxy> IOException in proxy Broken
> pipe
> Wed Nov 08 14:53:01 EST 2000:<I> <proxy> IOException in proxy Broken
> pipe
> Wed Nov 08 14:53:02 EST 2000:<I> <proxy> IOException in proxy Connection
> reset by peer: Connection reset by peer
> Wed Nov 08 14:53:02 EST 2000:<I> <proxy> IOException in proxy Connection
> reset by peer: Connection reset by peer
> Wed Nov 08 14:53:45 EST 2000:<I> <proxy> IOException in proxy Broken
> pipe
> Wed Nov 08 14:53:45 EST 2000:<I> <proxy> IOException in proxy Broken
> pipe
> Wed Nov 08 14:53:45 EST 2000:<I> <proxy> IOException in proxy Broken
> pipe
> Wed Nov 08 14:54:14 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:54:44 EST 2000:<I> <proxy> IOException in proxy Connection
> reset by peer: Connection reset by peer
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:25 EST 2000:<E> <ServletContext-General> Servlet failed
> with Exception
> java.lang.ArithmeticException: / by zero
> at
> weblogic.servlet.internal.HttpClusterServlet$ServerList.next(Compiled
> Code)
> at weblogic.servlet.internal.HttpClusterServlet$2.next(Compiled Code)
> at weblogic.servlet.internal.HttpClusterServlet.service(Compiled Code)
> at javax.servlet.http.HttpServlet.service(Compiled Code)
> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled
> Code)
> at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
> Code)
> at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
> Code)
> at
> weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
> Code)
> at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
> at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
> at weblogic.kernel.ExecuteThread.run(Compiled Code)
>
> Wed Nov 08 14:55:25 EST 2000:<E> <ServletContext-General> Servlet failed
> with Exception
> java.lang.ArithmeticException: / by zero
> at
> weblogic.servlet.internal.HttpClusterServlet$ServerList.next(Compiled
> Code)
> at weblogic.servlet.internal.HttpClusterServlet$2.next(Compiled Code)
> at weblogic.servlet.internal.HttpClusterServlet.service(Compiled Code)
> at javax.servlet.http.HttpServlet.service(Compiled Code)
> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled
> Code)
> at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
> Code)
> at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
> Code)
> at
> weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
> Code)
> at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
> at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
> at weblogic.kernel.ExecuteThread.run(Compiled Code)
>
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:26 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
> Wed Nov 08 14:55:27 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Broken pipe
>
> and here is stdout...............
>
> java.io.IOException: Broken pipe
> at java.net.SocketOutputStream.socketWrite(Native Method)
> at java.net.SocketOutputStream.socketWrite(Compiled Code)
> at java.net.SocketOutputStream.write(Compiled Code)
> at weblogic.servlet.internal.ChunkUtils.writeChunks(Compiled
> Code)
> at
> weblogic.servlet.internal.ServletOutputStreamImpl.flush(Compiled Code)
> at
> weblogic.servlet.internal.ServletOutputStreamImpl.flush(Compiled Code)
> at
> weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(Compiled
> Code)
> at
> weblogic.servlet.internal.HttpClusterServlet$Server.proxy(Compiled Code)
>
> at weblogic.servlet.internal.HttpClusterServlet.service(Compiled
> Code)
> at javax.servlet.http.HttpServlet.service(Compiled Code)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
> at
> weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
> Code)
> at
> weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
> Code)
> at
> weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
> Code)
> at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled
> Code)
> at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
> at weblogic.kernel.ExecuteThread.run(Compiled Code)
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> java.net.ConnectException: Connection refused
> at java.net.PlainSocketImpl.socketConnect(Native Method)
> at java.net.PlainSocketImpl.socketConnect(Compiled Code)
> at java.net.PlainSocketImpl.doConnect(Compiled Code)
> at java.net.PlainSocketImpl.connectToAddress(Compiled Code)
> at java.net.PlainSocketImpl.connect(Compiled Code)
> at java.net.Socket.<init>(Compiled Code)
> at java.net.Socket.<init>(Compiled Code)
> at
> weblogic.servlet.internal.HttpClusterServlet$3.newInstance(Compiled
> Code)
> at weblogic.utils.reuse.Pool.getInstance(Compiled Code)
> at
> weblogic.servlet.internal.HttpClusterServlet$Server.getConnection(Compiled
> Code)
> at
> weblogic.servlet.internal.HttpClusterServlet$Server.proxy(Compiled Code)
>
> at weblogic.servlet.internal.HttpClusterServlet.service(Compiled
> Code)
> at javax.servlet.http.HttpServlet.service(Compiled Code)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
> at
> weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
> Code)
> at
> weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
> Code)
> at
> weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
> Code)
> at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled
> Code)
> at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
> at weblogic.kernel.ExecuteThread.run(Compiled Code)
> Wed Nov 08 14:55:25 EST 2000:<E> <proxy> IOException after
> server.proxy()....Connection refused
> java.net.ConnectException: Connection refused
> at java.net.PlainSocketImpl.socketConnect(Native Method)
> at java.net.PlainSocketImpl.socketConnect(Compiled Code)
> at java.net.PlainSocketImpl.doConnect(Compiled Code)
> at java.net.PlainSocketImpl.connectToAddress(Compiled Code)
> at java.net.PlainSocketImpl.connect(Compiled Code)
> at java.net.Socket.<init>(Compiled Code)
> at java.net.Socket.<init>(Compiled Code)
> at
> weblogic.servlet.internal.HttpClusterServlet$3.newInstance(Compiled
> Code)
> at weblogic.utils.reuse.Pool.getInstance(Compiled Code)
> at
> weblogic.servlet.internal.HttpClusterServlet$Server.getConnection(Compiled
> Code)
> at
> weblogic.servlet.internal.HttpClusterServlet$Server.proxy(Compiled Code)
>
> at weblogic.servlet.internal.HttpClusterServlet.service(Compiled
> Code)
> at javax.servlet.http.HttpServlet.service(Compiled Code)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
> at
> weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
> Code)
> at
> weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
> Code)
> at
> weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
> Code)
> at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled
> Code)
> at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
> at weblogic.kernel.ExecuteThread.run(Compiled Code)
> .......
> and a whole lot more of the same sequence of errors - too much too list
> ..........
-
Minor_init failed for module... & unable to configure nics
Hello,
following the instructions of: "Sun Two-Node Cluster How to Guide"
I successfully installed the "Sun Cluster 3.1U4" on my sun ultra 5 workstations (on the two nodes and on the administrative console), which are all running solaris 10 1/06.
During the installation process I choose the option "configure later" as suggested by the guide.
Before configuring the nodes and proceeding with the steps, I wanted to check the correct installation of the nics. I have three nics plugged in the two nodes and two in the administrative console. One per computer is integrated, the others are three pci 10/100 Ark and two Intel nics.
The fact is that the output of dladm show-link is just hme0 for all the computers, none of the other nics seems to be recognized.
in the output of prtconf I see
pci instance 1 ethernet (drive not attached) ethernet (driver not attached)
instead with prtconf -D
pci instance 1 ethernet ethernet (driver simba)
this is the output of one of my nodes that has two Ark nics.
I tried with devfsadm -v (as I read in a post) and the output is
minor_init failed for module /usr/lib/devfsadm/linkmod/SUNW_scmd_link.so
this string also appears at every boot (also when I boot -r)
This last thing I found treated as a problem in "sun java enterprise administration guide":
this is like my situation, but of course I am not running solaris on an x86 system, and I also do not receive "NOTICE NO PCI PROB"
x86 machines running Solaris 10 fail to come up in cluster mode due to changes made for the Solaris boot architecture project. The following error messages are displayed when the machine boots up:
NOTICE: Can�t open /etc/cluster/nodeid
NOTICE: BOOTING IN NON CLUSTER MODE
NOTICE: NO PCI PROP
NOTICE: NO PCI PROP
Configuring devices.
Hostname: pvyom1
devfsadm: minor_init failed for module /usr/lib/devfsadm/linkmod/SUNW_scmd_link.so
Loading smf(5) service descriptions: 24/24
/usr/cluster/bin/scdidadm: Could not load DID instance list.
Cannot open /etc/cluster/ccr/did_instances.
Not booting as part of a cluster
/usr/cluster/bin/scdidadm: Could not load DID instance list.
Cannot open /etc/cluster/ccr/did_instances.
Note: path_to_inst might not be updated. Please �boot -r� as needed to update.
Solution Perform these steps:
1. Add etc/cluster/nodeid to /boot/solaris/filelist.ramdisk.
2. Enter these commands:
# bootadm update-archive
# reboot -- -r
I did not perform the steps indicated as the "solution" for this.
I wait because maybe the scinstall configuration can fix this, doesn't it?
I just want to end my two node cluster config happily and begin to work with it.
Thanks in advantage,
FrancescoThe primary problem you seem to have is that your network adapters are not recognized. So this is not a Cluster problem. You talk about "three pco 10/100 Ark and two intel nics". The question is, if those cards have a corresponding solaris driver. Since you seem to indicate that prtdiag does report that there is no driver attached, you may be out of luck for the drivers coming with Soalris 10 01/06 you use. Maybe the vendor of those cards offers drivers that need to get installed?
Otherwise I guess you are out of luck using them, without finding a usabel kernel driver.
For the message
minor_init failed for module /usr/lib/devfsadm/linkmod/SUNW_scmd_link.so
you see, this is harmless and not your problem. You can ignore it.
This error happens when the scmd_link devfsadm link module is attempted to be
loaded before clustering has started. It is a harmless situation.
Greets
Thorsten -
What should the real world transfer speeds be on the SATA drive?
I've getting the following speeds on my Hitachi Deskstar drive that shipped with my MacPro.
I read somewhere that the hitachi drives shipped running at a lower speed and one had to use the tools supplied on the Hitachi website (DOS disk!!) to enable the higher speeds.
This is the reading from Xbench.
Is this correct? 66mb/sec? Isn't this less than Firewire 800?
Sequential 100.30
Uncached Write 108.53 66.64 MB/sec [4K blocks]
Uncached Write 101.51 57.43 MB/sec [256K blocks]
Uncached Read 84.80 24.82 MB/sec [4K blocks]
Uncached Read 110.85 55.71 MB/sec [256K blocks]
Bit of a newbie to drive architecture, but what does the 3gb/sec come from???
Thanks in advanceFW is capable of 800 Mbps.
SATA has a bandwidth of 3Gbps
SATA 1.0 specifies a channel bandwidth of up to 150MB/sec theoretical.
SATA 2.x specifies 300MB/sec.
Compare that more to how Ultra160 SCSI shares or uses that for multiple drives (and there was some overhead and inefficiency that could result in loss of 10-15%).
SATA Port Multiplier controllers can share that 3Gbps with up to 5 drives.
My 10K Raptor has 84MB/sec writes, and about 75MB/sec reads.
Xbench is not accurate.
You might want to take a look at StorageReview -> Drive Performance DB.
Most 7.2K drives, PATA or SATA, are in the 60-65MB/sec range today. -
Hi im train to connect rs232 from usb to my computer, and read, send, info in one aplication in java its possible? can help me?
Solaris Express (Solaris 10 beta) has the "usbser_edge" driver.
DESCRIPTION
The usbser_edge driver is a loadable STREAMS and USBA
(Solaris USB architecture) compliant client driver that pro-
vides basic asynchronous communication support for Digi
Edgeport USB-to-serial converters. Supported devices include
Edgeport/1, Edgeport/2, Edgeport/21, Edgeport/4,
Edgeport/421, Edgeport/8, and Edgeport/416.
...The usbser_edge driver is also included in Solaris 9 x86 4/2004, but only for the new
USBA1.0 driver stack. This could be a problem if the Edgeport devices are USB 1.x,
and you have an UHCI USB controller in the laptop, because Solaris 9 x86 4/2004 does
not have an USBA1.0 compliant uhci driver.
Don't know if the usbser_edge driver can send a break signal. -
I'm a newbie Solaris developer, so please be kind ;-). Can anyone point me to an overview of stack checking using the Workshop 5.2 compiler (C/C++) (localhost:8888 not have links to the C/C++ Users Guides?). In GCC there is the -fstack-check flag. Is there something similar in Workshop/Forte? I've seen the pthread_attr_setguardsize()" but I don't think it's quite what I want. I want to know if my stack has overflowed. Right now all I get is a SEGV when some overflowed/corrupted stack object is dereferenced. Perhaps I just don't know the tools well enough. For instance from a core file can I find out if the crash was do to a stack overflow vs. plain old pointer problems. BTW, I'm trying to debug a multi-threaded shared library, so I have multiple stack frames to worry about. I think I have a recursive loop, but I'm not sure how to find it.
CheersI'm a newbie Solaris developer, so please be kind ;-). Can anyone point me to an overview of stack checking using the Workshop 5.2 compiler (C/C++) (localhost:8888 not have links to the C/C++ Users Guides?). In GCC there is the -fstack-check flag. Is there something similar in Workshop/Forte? I've seen the pthread_attr_setguardsize()" but I don't think it's quite what I want. I want to know if my stack has overflowed. Right now all I get is a SEGV when some overflowed/corrupted stack object is dereferenced. Perhaps I just don't know the tools well enough. For instance from a core file can I find out if the crash was do to a stack overflow vs. plain old pointer problems. BTW, I'm trying to debug a multi-threaded shared library, so I have multiple stack frames to worry about. I think I have a recursive loop, but I'm not sure how to find it.
Cheers -
Hi There,
Got a new laptop without a serial port, so I'll need a usb-serial adapter...
But does anyone know a usb-serial adapter that supports sending a break signal across it?
I'm looking for a device that can be used on both Solaris x86 and linux running 2.4.x and 2.6.x kernels.
Cheers
Chris..Solaris Express (Solaris 10 beta) has the "usbser_edge" driver.
DESCRIPTION
The usbser_edge driver is a loadable STREAMS and USBA
(Solaris USB architecture) compliant client driver that pro-
vides basic asynchronous communication support for Digi
Edgeport USB-to-serial converters. Supported devices include
Edgeport/1, Edgeport/2, Edgeport/21, Edgeport/4,
Edgeport/421, Edgeport/8, and Edgeport/416.
...The usbser_edge driver is also included in Solaris 9 x86 4/2004, but only for the new
USBA1.0 driver stack. This could be a problem if the Edgeport devices are USB 1.x,
and you have an UHCI USB controller in the laptop, because Solaris 9 x86 4/2004 does
not have an USBA1.0 compliant uhci driver.
Don't know if the usbser_edge driver can send a break signal. -
O/S: Solaris 9
Architecture: SPARC
The man page for useradd states, "The new login remains locked until the passwd(1) command is executed."
This is a problem for me when accessing remotely via SSH and creating a new account from the console with useradd. As soon as I try to login into the new account, access is denied because the account is locked.
If a new user is created with the GUI admintool, there is an option for the password, "Cleard until first login."
I can't find a way to create a new user from the console where the password isn't set until the first login.
Suggestions / tips, please?
Thanks in advance!
TuxSun1
-----passwd -d name
Deletes password for name. The login name will not be prompted for password. It is only applicable to the files repository.
[http://docs.sun.com/app/docs/doc/816-0210/6m6nb7mgn?a=view] -
From my understanding of newer versions of Sun Studio, and reading the man pages, cc will, by default, if compiled with -g, put symbol/debugging info in the object file(.o).
This is similar to the add-gnu-debuglink /w .dbg file for gcc/gdb compilers.
On the face of things, this seems to be working as promised, but one test is really confusing me.
Here is the test
1. Compile 2 source files (as 1 file seems to always put symbols in executable - subject of another post)
cc -g dumpcore.c library.c -o dumpcore
For which you are left with:
dumpcore
dumpcore.c
dumpcore.o
library.c
library.o
2. According to my understanding, all private symbol info, line numbers, etc, should be in the .o files.
3. This seems to be the case, because if you compile with -xs, the resulting executable is indeed larger. Anways.
4. Rename the .o files, so supposedly the debuggers and solaris core cannot get to symbol info. We are left with:
dumpcore
dumpcore.c
dumpcore.o.bak
library.c
library.o.bak
5. Trigger the core: ./dumpcore
6. Analyze the core: dbx dumpcore core
-bash-3.00$ dbx dumpcore core
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.5' in your .dbxrc
Reading dumpcore
core file header read successfully
Reading ld.so.1
Reading libc.so.1
Reading libc_psr.so.1
program terminated by signal SEGV (no mapping at the fault address)
Current function is dumpcore
20 *ip = lim;^M
(dbx) modules -v -read
Module: dumpcore.o
Language: c
Debugging information: read [stabs version: 0.0]
Source file: /export/home/ivanberg/icwork/dumpcore/dumpcore.c
Object file (original) : /export/home/ivanberg/icwork/dumpcore/dumpcore.o
Object file (using) : cannot find file (see `help pathmap')
Loadobject: /export/home/ivanberg/icwork/dumpcore/dumpcore
As you can see, dbx was able to find the line information and display the source, and confirmed that it cannot read the object file.
Did I and other people misunderstand what symbolic info goes in .o files, because from this test, it appears everything still goes into the executable, which increases size, is a speed hit, is not needed most of time, etc.
All tests done with SunStudio11 & Solaris 10.
Thanks, IvanI was looking for help on how to do this on Solaris. I have tried numerous versions of binutils and they all break something, usually rendering the stripped ELF objects useless.
Reading this post encouraged me to have a go at it myself, and I thought I would post the resulting code here, just in case anyone else looking for a solution stumbles across this page.
It is implemented in two files (one is hacked up PD crc32 implementation)
Hope it helps someone,
Steve
dbglink.c
* Copyright (c) 2007, Steve Williams, Telxio
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of Telxio nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY TELXIO ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL TELXIO BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <libelf.h>
* The GNU gdb debugger supports the feature that symbols may
* be located in a seperate file to the executable code. This
* is a useful feature for reducing the amount of information
* shipped to a customer site for example.
* GDB will automate the loading of the symbol file if it finds
* a special section in the executable file called ".gnu_debuglink".
* The ".gnu_debuglink has the following data format:
* <debug symbol ascii file name>'\0'<padding to 4byte><32bit file crc>
* The file name has no directory component, GDB has its own internal
* heuristics for finding the file. If GDB finds a file with a matching
* name, it will use the crc32 value to confirm it is the correct file,
* then load it as the symbol file.
* The usual way of creating a seperate symbol file is to use the
* GNU binutils commands:
* gobjcopy --only-keep-debug <in-executable> <out-symbol-file>
* gobjcopy --add-gnu-debuglink=<out-symbol-file> <in-executable>
* gstrip --strip-debug <in-executable>
* Experience has shown that binutils usually does bad things
* to the ELF format of shared objects, therefore the motivation to write
* this tool. Using this tool the procedure to create seperate symbol
* files is:
* gobjcopy --only-keep-debug <in-executable> <out-symbol-file>
* pkg_dbglink <in-executable> <out-symbol-file>
* /usr/ccs/bin/strip <in-executable>
* Limitations:
* 1. Only ELF32 and ELF64 formats are supported.
* 2. I have not tested this on a solaris-x86 architecture, so the order
* of the bytes in the crc32 checksum may be incorrect.
* 3. This is my first foray into ELF manipulation, so there may be
* a more efficient way to do it.
* 4. Binutils is still required to extract the debugging info from the
* executable, it would be nice if elfdump could do this.
#define GNU_SECTION ".gnu_debuglink"
extern unsigned long
CalcCRC32(unsigned long crc, unsigned char *p, unsigned long reclen);
static size_t
elf32_get_shstrtab_index(Elf* elf, char* ename)
Elf32_Ehdr *filehdr = elf32_getehdr(elf);
if(!filehdr)
fprintf(stderr, "error: elf32_getehdr: %s\n", ename);
exit(1);
return filehdr->e_shstrndx;
static size_t
elf64_get_shstrtab_index(Elf* elf, char* ename)
Elf64_Ehdr *filehdr = elf64_getehdr(elf);
if(!filehdr)
fprintf(stderr, "error: elf64_getehdr: %s\n", ename);
exit(1);
return filehdr->e_shstrndx;
static Elf_Data*
elf32_get_gnu_debuglink_data(Elf_Scn* gnu_debug_scn, size_t name_off)
Elf32_Shdr* gnu_debug_hdr = elf32_getshdr(gnu_debug_scn);
gnu_debug_hdr->sh_name = name_off;
gnu_debug_hdr->sh_type = SHT_PROGBITS;
return elf_newdata(gnu_debug_scn);
static Elf_Data*
elf64_get_gnu_debuglink_data(Elf_Scn* gnu_debug_scn, size_t name_off)
Elf64_Shdr* gnu_debug_hdr = elf64_getshdr(gnu_debug_scn);
gnu_debug_hdr->sh_name = name_off;
gnu_debug_hdr->sh_type = SHT_PROGBITS;
return elf_newdata(gnu_debug_scn);
int
main(int argc, char* argv[])
unsigned char crcbuffer[1024];
ssize_t count;
elf_version(EV_CURRENT);
int exefd = open(argv[1], O_RDWR);
if(exefd == -1)
fprintf(stderr, "file not found: %s\n", argv[1]);
exit(1);
* read in portion of debug symbol file
* that will be used to compute CRC
int dbgfd = open(argv[2], O_RDONLY);
if(dbgfd == -1)
fprintf(stderr, "file not found: %s\n", argv[2]);
exit(1);
uint32_t crc = 0;
while((count = read(dbgfd, crcbuffer, sizeof(crcbuffer))) > 0)
* calculate CRC32 checksum
crc = CalcCRC32(crc, crcbuffer, count);
close(dbgfd);
char* gnu_dbglink_name = strrchr(argv[2], '/');
gnu_dbglink_name = gnu_dbglink_name ? gnu_dbglink_name : argv[2];
* read in the ELF header
Elf* elf = elf_begin(exefd, ELF_C_RDWR, NULL);
if(!elf)
fprintf(stderr, "error: elf_begin: %s\n", argv[1]);
exit(1);
* This tool only supports ELF format
if(elf_kind(elf) != ELF_K_ELF)
fprintf(stderr, "not ELF format: %s\n", argv[1]);
exit(1);
* This tool only supports 32 and 64 bit
* ELF classes
size_t shstrtab_ndx = 0;
char* ident = elf_getident(elf, NULL);
switch(ident[EI_CLASS])
case ELFCLASS32:
shstrtab_ndx = elf32_get_shstrtab_index(elf, argv[1]);
break;
case ELFCLASS64:
shstrtab_ndx = elf64_get_shstrtab_index(elf, argv[1]);
break;
default:
fprintf(stderr, "not a supported ELF class: %s\n", argv[1]);
exit(1);
Elf_Scn* shstrtab_scn = elf_getscn(elf, shstrtab_ndx);
Elf_Scn* gnu_debug_scn = elf_newscn(elf);
if(!gnu_debug_scn)
fprintf(stderr,
"error: elf_newscn: unavle to create new section: %s\n", argv[1]);
exit(1);
Elf_Data* shstrtab_existing_data = 0;
shstrtab_existing_data = elf_getdata(shstrtab_scn, shstrtab_existing_data);
Elf_Data *shstrtab_new_data = elf_newdata(shstrtab_scn);
shstrtab_new_data->d_buf = GNU_SECTION;
shstrtab_new_data->d_size = strlen(GNU_SECTION) + 1;
shstrtab_new_data->d_off = shstrtab_existing_data->d_size;
shstrtab_new_data->d_align = 1;
Elf_Data* gnu_debug_data = NULL;
switch(ident[EI_CLASS])
case ELFCLASS32:
gnu_debug_data = elf32_get_gnu_debuglink_data(
gnu_debug_scn,
shstrtab_new_data->d_off);
break;
case ELFCLASS64:
gnu_debug_data = elf64_get_gnu_debuglink_data(
gnu_debug_scn,
shstrtab_new_data->d_off);
break;
gnu_debug_data->d_off = 0;
gnu_debug_data->d_align = 1;
size_t sectsz = strlen(gnu_dbglink_name) + 1;
sectsz += 3;
sectsz &= ~3;
sectsz += 4;
gnu_debug_data->d_buf = malloc(sectsz);
gnu_debug_data->d_size = sectsz;
memcpy(gnu_debug_data->d_buf, gnu_dbglink_name,
strlen(gnu_dbglink_name) + 1);
uint32_t* pcrc = (uint32_t*)&((char*)gnu_debug_data->d_buf)[sectsz-4];
* Not sure is endianess issues will be a problem here
* (will depend on what GNU BFD does)
* Currently only tested on SPARC machines
*pcrc = crc;
elf_update(elf, ELF_C_WRITE);
elf_end(elf);
close(exefd);
exit(0);
}And crc32.c
/* crc32.c
C implementation of CRC-32 checksums for NAACCR records. Code is based
upon and utilizes algorithm published by Ross Williams.
This file contains:
CRC lookup table
function CalcCRC32 for calculating CRC-32 checksum
function AssignCRC32 for assigning CRC-32 in NAACCR record
function CheckCRC32 for checking CRC-32 in NAACCR record
Provided by:
Eric Durbin
Kentucky Cancer Registry
University of Kentucky
October 14, 1998
Status:
Public Domain
Modified by:
Steve Williams,
April 04, 2007
/* CRC LOOKUP TABLE */
/* ================ */
/* The following CRC lookup table was generated automagically */
/* by the Rocksoft^tm Model CRC Algorithm Table Generation */
/* Program V1.0 using the following model parameters: */
/* Width : 4 bytes. */
/* Poly : 0x04C11DB7L */
/* Reverse : TRUE. */
/* For more information on the Rocksoft^tm Model CRC Algorithm, */
/* see the document titled "A Painless Guide to CRC Error */
/* Detection Algorithms" by Ross Williams */
/* ([email protected].). This document is likely to be */
/* in the FTP archive "ftp.adelaide.edu.au/pub/rocksoft". */
unsigned long crctable[256] =
0x00000000L, 0x77073096L, 0xEE0E612CL, 0x990951BAL,
0x076DC419L, 0x706AF48FL, 0xE963A535L, 0x9E6495A3L,
0x0EDB8832L, 0x79DCB8A4L, 0xE0D5E91EL, 0x97D2D988L,
0x09B64C2BL, 0x7EB17CBDL, 0xE7B82D07L, 0x90BF1D91L,
0x1DB71064L, 0x6AB020F2L, 0xF3B97148L, 0x84BE41DEL,
0x1ADAD47DL, 0x6DDDE4EBL, 0xF4D4B551L, 0x83D385C7L,
0x136C9856L, 0x646BA8C0L, 0xFD62F97AL, 0x8A65C9ECL,
0x14015C4FL, 0x63066CD9L, 0xFA0F3D63L, 0x8D080DF5L,
0x3B6E20C8L, 0x4C69105EL, 0xD56041E4L, 0xA2677172L,
0x3C03E4D1L, 0x4B04D447L, 0xD20D85FDL, 0xA50AB56BL,
0x35B5A8FAL, 0x42B2986CL, 0xDBBBC9D6L, 0xACBCF940L,
0x32D86CE3L, 0x45DF5C75L, 0xDCD60DCFL, 0xABD13D59L,
0x26D930ACL, 0x51DE003AL, 0xC8D75180L, 0xBFD06116L,
0x21B4F4B5L, 0x56B3C423L, 0xCFBA9599L, 0xB8BDA50FL,
0x2802B89EL, 0x5F058808L, 0xC60CD9B2L, 0xB10BE924L,
0x2F6F7C87L, 0x58684C11L, 0xC1611DABL, 0xB6662D3DL,
0x76DC4190L, 0x01DB7106L, 0x98D220BCL, 0xEFD5102AL,
0x71B18589L, 0x06B6B51FL, 0x9FBFE4A5L, 0xE8B8D433L,
0x7807C9A2L, 0x0F00F934L, 0x9609A88EL, 0xE10E9818L,
0x7F6A0DBBL, 0x086D3D2DL, 0x91646C97L, 0xE6635C01L,
0x6B6B51F4L, 0x1C6C6162L, 0x856530D8L, 0xF262004EL,
0x6C0695EDL, 0x1B01A57BL, 0x8208F4C1L, 0xF50FC457L,
0x65B0D9C6L, 0x12B7E950L, 0x8BBEB8EAL, 0xFCB9887CL,
0x62DD1DDFL, 0x15DA2D49L, 0x8CD37CF3L, 0xFBD44C65L,
0x4DB26158L, 0x3AB551CEL, 0xA3BC0074L, 0xD4BB30E2L,
0x4ADFA541L, 0x3DD895D7L, 0xA4D1C46DL, 0xD3D6F4FBL,
0x4369E96AL, 0x346ED9FCL, 0xAD678846L, 0xDA60B8D0L,
0x44042D73L, 0x33031DE5L, 0xAA0A4C5FL, 0xDD0D7CC9L,
0x5005713CL, 0x270241AAL, 0xBE0B1010L, 0xC90C2086L,
0x5768B525L, 0x206F85B3L, 0xB966D409L, 0xCE61E49FL,
0x5EDEF90EL, 0x29D9C998L, 0xB0D09822L, 0xC7D7A8B4L,
0x59B33D17L, 0x2EB40D81L, 0xB7BD5C3BL, 0xC0BA6CADL,
0xEDB88320L, 0x9ABFB3B6L, 0x03B6E20CL, 0x74B1D29AL,
0xEAD54739L, 0x9DD277AFL, 0x04DB2615L, 0x73DC1683L,
0xE3630B12L, 0x94643B84L, 0x0D6D6A3EL, 0x7A6A5AA8L,
0xE40ECF0BL, 0x9309FF9DL, 0x0A00AE27L, 0x7D079EB1L,
0xF00F9344L, 0x8708A3D2L, 0x1E01F268L, 0x6906C2FEL,
0xF762575DL, 0x806567CBL, 0x196C3671L, 0x6E6B06E7L,
0xFED41B76L, 0x89D32BE0L, 0x10DA7A5AL, 0x67DD4ACCL,
0xF9B9DF6FL, 0x8EBEEFF9L, 0x17B7BE43L, 0x60B08ED5L,
0xD6D6A3E8L, 0xA1D1937EL, 0x38D8C2C4L, 0x4FDFF252L,
0xD1BB67F1L, 0xA6BC5767L, 0x3FB506DDL, 0x48B2364BL,
0xD80D2BDAL, 0xAF0A1B4CL, 0x36034AF6L, 0x41047A60L,
0xDF60EFC3L, 0xA867DF55L, 0x316E8EEFL, 0x4669BE79L,
0xCB61B38CL, 0xBC66831AL, 0x256FD2A0L, 0x5268E236L,
0xCC0C7795L, 0xBB0B4703L, 0x220216B9L, 0x5505262FL,
0xC5BA3BBEL, 0xB2BD0B28L, 0x2BB45A92L, 0x5CB36A04L,
0xC2D7FFA7L, 0xB5D0CF31L, 0x2CD99E8BL, 0x5BDEAE1DL,
0x9B64C2B0L, 0xEC63F226L, 0x756AA39CL, 0x026D930AL,
0x9C0906A9L, 0xEB0E363FL, 0x72076785L, 0x05005713L,
0x95BF4A82L, 0xE2B87A14L, 0x7BB12BAEL, 0x0CB61B38L,
0x92D28E9BL, 0xE5D5BE0DL, 0x7CDCEFB7L, 0x0BDBDF21L,
0x86D3D2D4L, 0xF1D4E242L, 0x68DDB3F8L, 0x1FDA836EL,
0x81BE16CDL, 0xF6B9265BL, 0x6FB077E1L, 0x18B74777L,
0x88085AE6L, 0xFF0F6A70L, 0x66063BCAL, 0x11010B5CL,
0x8F659EFFL, 0xF862AE69L, 0x616BFFD3L, 0x166CCF45L,
0xA00AE278L, 0xD70DD2EEL, 0x4E048354L, 0x3903B3C2L,
0xA7672661L, 0xD06016F7L, 0x4969474DL, 0x3E6E77DBL,
0xAED16A4AL, 0xD9D65ADCL, 0x40DF0B66L, 0x37D83BF0L,
0xA9BCAE53L, 0xDEBB9EC5L, 0x47B2CF7FL, 0x30B5FFE9L,
0xBDBDF21CL, 0xCABAC28AL, 0x53B39330L, 0x24B4A3A6L,
0xBAD03605L, 0xCDD70693L, 0x54DE5729L, 0x23D967BFL,
0xB3667A2EL, 0xC4614AB8L, 0x5D681B02L, 0x2A6F2B94L,
0xB40BBE37L, 0xC30C8EA1L, 0x5A05DF1BL, 0x2D02EF8DL
/* End of CRC Lookup Table */
#define CRC32_XINIT 0xFFFFFFFFL /* initial value */
#define CRC32_XOROT 0xFFFFFFFFL /* final xor value */
/* Calculate CRC-32 Checksum for NAACCR Record,
skipping area of record containing checksum field.
Uses reflected table driven method documented by Ross Williams.
PARAMETERS:
unsigned char *p NAACCR Record Buffer
unsigned long reclen NAACCR Record Length
unsigned long checksumpos Position of CHECKSUM (as in Data Dictionary)
unsigned long checksumlen Length of checksum Field
RETURNS:
checksum value
Author:
Eric Durbin 1998-10-14
Modified:
Steve Williams 2007-04-03
Status:
Public Domain
unsigned long
CalcCRC32(unsigned long crc, unsigned char *p, unsigned long reclen)
unsigned long j;
/* initialize value */
crc ^= CRC32_XINIT;
/* process each byte */
for (j = 0; j < reclen; j++) {
crc = crctable[(crc ^ *p++) & 0xFFL] ^ (crc >> 8);
/* return XOR out value */
return crc ^ CRC32_XOROT;
} -
How can you set up a new graphiccard ?/SOLARIS 8 - intel architecture
Hi...
I`ve installed Sun microsystems SOLARIS 8 on my intel
architecture based system.
The Computer is a Toshiba satellite 2210
with a trident cyber 9525 graphiccard.
During installation i wasn�t sure about the graphiccard
and so i chose the standart 16 colors card.
But now i know the type of the card and would like to
configurated it on this system.
I�ve allready tried it with the admintool but then i realised
that it`s only for changing user, groups etc.
How can i install the graphiccard ???
Is there any tool for this ???
Maybe somthing like SAX from the SuSE Linux ???
THXBtw. it's best running kdmconfig from the text console;
stop "dtlogin" using the "Options -> Command line
login" menu.
You should get a "console login" on the text console.
Login as "root", and run kdmconfig to configure your
new video card. When you're happy with the card,
resolution, color depth, etc... and the card tests
without errors, save the settings in "kdmconfig" and
log off from the text console. After ~10 seconds,
dtlogin restarts automatically using the new settings. -
Domain Name settings in Solaris - Newbie question
Sorry for a newbie question!
I am already pointing a domain name to web hosting for email account. Now, I need an application server to run ERP software and Oracle, and installing Solaris and Oracle need a domain name.
If I point my domain name to the server, how do I receive emails from web hosting???
Install an email server to the application server instead? What can I do if I want the same domain name?Your questions are completely off-topic for the forum.
These SunOS forums are for questions on <i>"how do I install my OS"</i>
You particular question is in the <i>"how can I install Solaris while using the CD drive"</i> forum.
So, if you had a question on how to edit the /etc/inet/hosts file to establish a FQDN on the computer, then it might be appropriate for the forum.
Unfortunately, I don't have a clue on where to redirect you, except perhaps to the Sun Java Enterprise System suite of applications?
Maybe you are looking for
-
I produce a documentation DVD consisting of a one-page PDF file of ~ 1400 bookmarks and a lot of content. The bookmarks point to the content on the DVD which includes pdf files as well as text, DOC, XLS, and other misc. file types, and a large numbe
-
Enemy territory no sound part 2: OSS
Hi there. I've been using arch for some days now and today i installed ET. Everything works fine except one thing: sound. I came here and searched for et and i found this topic but there's one difference between this topic and me: i use oss (old habi
-
Security information send to an old mail address
Wanted to change my password through manage apple ID. However, an old (and non accessible) mail address is being used for sending security information. I've changed my primary mailaddress (and a second mail address) months ago: boths are apparently n
-
After deployment on 902(j2ee) not able to see images
We have developed sample uix jsp application using jdeveloper rel2. we create .ear and .war files and deployed on 9ias(902).After deployment we are not able to see the default icons(using jdeveloper wizard icons)When running in 9ias(os windows nt).
-
Waking up display since up-grading to Mac OS 10.5.2
Since I up-graded my operating system from Leopard Mac OS 10.5.1 to 10.5.2 I cannot wake-up my computer from sleep mode(it runs with a black screen) without having to force quit and restart it. Is anyone else having the same problem and can you pleas