| Summary: | Invalid memory access of location 0x14 rip=[...] when lauching embedded tomcat in debug mode on OS X | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [WebTools] WTP ServerTools | Reporter: | Davide Pozza <davide.pozza> | ||||||
| Component: | jst.server | Assignee: | Larry Isaacs <larryisaacs> | ||||||
| Status: | RESOLVED NOT_ECLIPSE | QA Contact: | Angel Vera <arvera> | ||||||
| Severity: | critical | ||||||||
| Priority: | P3 | CC: | davide.pozza | ||||||
| Version: | unspecified | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | Macintosh | ||||||||
| OS: | Mac OS X - Carbon (unsup.) | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Davide Pozza
Larry, Can you perhaps take a look at this one. It doesn't sound like a WTP Server tools problem, it most likely something related to the JVM and Mac OS. One idea is to setup traces to see if we can pinpoint at what point in time the error occurs. Davide, Setup the following traces and let us know and what point in time in the trace the error occurs. To do so, immediately after the error occurs take a look at the trace and identify the last line written, another ideas is to mark down the time when the error occur, that might help to identify in which piece of code the error is occurring. org.eclipse.wst.server.core/extension_point=true org.eclipse.wst.server.core/resources=true org.eclipse.wst.server.core/listeners=true org.eclipse.wst.server.core/performance=false org.eclipse.wst.server.ui/performance=false org.eclipse.wst.server.ui/extension_point=true org.eclipse.wst.server.core/debug=true org.eclipse.wst.server.ui/debug=true Everything related to Tomcat in WTP is written in Java (i.e. no native DLLs, etc), so it wouldn't be resposible for this. I would also assume the Tomcat configuration isn't attempting to using any of the "native" connectors, like tcnative-1.dll, which are not used by default. The cause would seem to be in either the MAC JVM or in the Eclipse interface to that JVM. There isn't enough information here to tell which. What is needed here is a crash dump from when this occurs. I don't enough about JVMs on the MAC to know if one is already being written somewhere, or if there are JVM arguments available to force one to be written. Unfortunately, with the amount of information so far, not much can be done. Created attachment 181470 [details]
Error on eclipse console
Hi Larry Here's the trace after the "Debug As => Debug On Server" of my empty test web application: org.eclipse.wst.server.core FINEST 22/10/10 09:22.35.846 Task.init PublishTask[org.eclipse.jst.server.tomcat.core.publishTask] org.eclipse.wst.server.core FINEST 22/10/10 09:22.35.846 adapter= LaunchableAdapter[org.eclipse.jst.server.generic.web], launchable= null org.eclipse.wst.server.core FINEST 22/10/10 09:22.35.846 adapter= LaunchableAdapter[org.eclipse.jst.server.preview], launchable= null org.eclipse.wst.server.core FINEST 22/10/10 09:22.35.847 adapter= LaunchableAdapter[org.eclipse.jst.server.tomcat.web], launchable= HttpLaunchable[url=http://localhost:8080/test2/] org.eclipse.wst.server.core FINEST 22/10/10 09:22.35.847 client= Client[org.eclipse.wst.server.ui.web] org.eclipse.wst.server.core FINEST 22/10/10 09:22.35.847 client= Client[org.eclipse.jst.server.jndi] org.eclipse.wst.server.core FINEST 22/10/10 09:22.35.933 Task.init PublishTask[org.eclipse.jst.server.tomcat.core.publishTask] org.eclipse.wst.server.core FINEST 22/10/10 09:22.35.934 adapter= LaunchableAdapter[org.eclipse.jst.server.generic.web], launchable= null org.eclipse.wst.server.core FINEST 22/10/10 09:22.35.934 adapter= LaunchableAdapter[org.eclipse.jst.server.preview], launchable= null org.eclipse.wst.server.core FINEST 22/10/10 09:22.35.935 adapter= LaunchableAdapter[org.eclipse.jst.server.tomcat.web], launchable= HttpLaunchable[url=http://localhost:8080/test2/] org.eclipse.wst.server.core FINEST 22/10/10 09:22.35.935 client= Client[org.eclipse.wst.server.ui.web] org.eclipse.wst.server.core FINEST 22/10/10 09:22.35.935 client= Client[org.eclipse.jst.server.jndi] org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.085 Server: ServerWorkingCopy Tomcat v6.0 Server at localhost org.eclipse.wst.server.ui FINER 22/10/10 09:22.36.116 Ready to launch org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.117 Adding server listener org.eclipse.wst.server.core.internal.Server$25@20c00612 to Tomcat v6.0 Server at localhost org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.118 ->- Adding server listener to notification manager: org.eclipse.wst.server.core.internal.Server$25@20c00612 65535 ->- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.118 synchronousStart 2 org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.118 Starting server: Tomcat v6.0 Server at localhost, launchMode: debug org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.321 ->- Firing server state change event: Tomcat v6.0 Server at localhost, 1 ->- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.322 ->- Broadcasting server event: <Server-Event id=1446913533 kind=17 server=Tomcat v6.0 Server at localhost module=null state=1 publishState=1 restartState=false> ->- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.322 Server event kind: 17 ->- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.322 ->- Firing server event to listener: org.eclipse.wst.server.ui.internal.ServerUIPlugin$2@513781e7 ->- org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.322 Firing server event to listener: org.eclipse.wst.server.ui.internal.ServerUIPlugin$2@513781e7 org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.322 -<- Done firing server event -<- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.322 ->- Firing server event to listener: org.eclipse.wst.server.ui.internal.cnf.ServersView2$8@ab5423f ->- org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.322 Firing server event to listener: org.eclipse.wst.server.ui.internal.cnf.ServersView2$8@ab5423f org.eclipse.wst.server.ui FINER 22/10/10 09:22.36.322 Refreshing UI for server=Tomcat v6.0 Server at localhost org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.322 -<- Done firing server event -<- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.322 ->- Firing server event to listener: org.eclipse.wst.server.core.internal.Server$25@20c00612 ->- org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.322 Firing server event to listener: org.eclipse.wst.server.core.internal.Server$25@20c00612 org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.322 -<- Done firing server event -<- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.322 -<- Done broadcasting server event -<- org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.983 ->- Firing server state change event: Tomcat v6.0 Server at localhost, 4 ->- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.984 ->- Broadcasting server event: <Server-Event id=1865058292 kind=17 server=Tomcat v6.0 Server at localhost module=null state=4 publishState=1 restartState=false> ->- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.984 Server event kind: 17 ->- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.984 ->- Firing server event to listener: org.eclipse.wst.server.ui.internal.ServerUIPlugin$2@513781e7 ->- org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.984 Firing server event to listener: org.eclipse.wst.server.ui.internal.ServerUIPlugin$2@513781e7 org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.984 -<- Done firing server event -<- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.984 ->- Firing server event to listener: org.eclipse.wst.server.ui.internal.cnf.ServersView2$8@ab5423f ->- org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.985 Firing server event to listener: org.eclipse.wst.server.ui.internal.cnf.ServersView2$8@ab5423f org.eclipse.wst.server.ui FINER 22/10/10 09:22.36.985 Refreshing UI for server=Tomcat v6.0 Server at localhost org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.985 -<- Done firing server event -<- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.985 ->- Firing server event to listener: org.eclipse.wst.server.core.internal.Server$25@20c00612 ->- org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.985 Firing server event to listener: org.eclipse.wst.server.core.internal.Server$25@20c00612 org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.985 synchronousStart notify org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.985 -<- Done firing server event -<- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.985 -<- Done broadcasting server event -<- org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.986 Launch: org.eclipse.debug.core.Launch@2910d926 org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.986 synchronousStart 3 org.eclipse.wst.server.core LISTENERS 22/10/10 09:22.36.986 Removing server listener org.eclipse.wst.server.core.internal.Server$25@20c00612 from Tomcat v6.0 Server at localhost org.eclipse.wst.server.core FINEST 22/10/10 09:22.36.986 ->- Removing server listener from notification manager: org.eclipse.wst.server.core.internal.Server$25@20c00612 ->- org.eclipse.wst.server.core RESOURCES 22/10/10 09:22.37.145 ->- ServerResourceChangeListener responding to resource change: 16 ->- org.eclipse.wst.server.core RESOURCES 22/10/10 09:22.37.146 -<- Done ServerResourceChangeListener responding to resource change -<- See also the attached screenshot showing what is shown on my eclipse console. Davide (In reply to comment #1) > Larry, > > Can you perhaps take a look at this one. It doesn't sound like a WTP Server > tools problem, it most likely something related to the JVM and Mac OS. One idea > is to setup traces to see if we can pinpoint at what point in time the error > occurs. > > Davide, > > Setup the following traces and let us know and what point in time in the trace > the error occurs. To do so, immediately after the error occurs take a look at > the trace and identify the last line written, another ideas is to mark down the > time when the error occur, that might help to identify in which piece of code > the error is occurring. > > org.eclipse.wst.server.core/extension_point=true > org.eclipse.wst.server.core/resources=true > org.eclipse.wst.server.core/listeners=true > org.eclipse.wst.server.core/performance=false > org.eclipse.wst.server.ui/performance=false > org.eclipse.wst.server.ui/extension_point=true > org.eclipse.wst.server.core/debug=true > org.eclipse.wst.server.ui/debug=true Created attachment 181472 [details]
Crash dump file
I've just found and attached the crash dump! Here's also some additional details !SESSION 2010-10-21 15:41:58.664 ----------------------------------------------- eclipse.buildId=M20100909-0800 java.version=1.6.0_22 java.vendor=Apple Inc. BootLoader constants: OS=macosx, ARCH=x86, WS=cocoa, NL=it_IT Framework arguments: -product org.eclipse.epp.package.jee.product -keyring /Users/davide/.eclipse_keyring -showlocation Command-line arguments: -os macosx -ws cocoa -arch x86 -product org.eclipse.epp.package.jee.product -keyring /Users/davide/.eclipse_keyring -showlocation !ENTRY org.eclipse.core.net 1 0 2010-10-21 15:42:16.408 !MESSAGE System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences !ENTRY org.eclipse.wst.server.core 4 0 2010-10-21 15:43:03.265 !MESSAGE Server Tomcat v6.0 Server at localhost failed to start. Any suggestion about generating the crash dump file? Please ignore the question "Any suggestion about generating the crash dump file?" on my previous comment. It was due to a cut & paste error. Sorry Davide The crash dump shows the crashing thread as: Thread 1 Crashed: 0 libdt_socket.jnilib 0x00000001017c1d22 jdwpTransport_OnLoad + 4316 1 libdt_socket.jnilib 0x00000001017c0d8d jdwpTransport_OnLoad + 327 2 libjdwp.jnilib 0x0000000100522467 Agent_OnUnload + 71685 3 libjdwp.jnilib 0x0000000100510851 Agent_OnLoad + 7045 4 libjdwp.jnilib 0x000000010050d2f0 0x100503000 + 41712 5 libjdwp.jnilib 0x0000000100511752 Agent_OnUnload + 2800 6 libjdwp.jnilib 0x0000000100510f01 Agent_OnUnload + 671 7 libclient64.dylib 0x00000001010bc5b7 JVM_IsPrimitiveClass + 6995 8 libclient64.dylib 0x00000001010026dd JNI_CreateJavaVM_Impl + 4731 9 libclient64.dylib 0x00000001010014e1 JNI_CreateJavaVM_Impl + 127 10 java 0x0000000100002dc1 0x100000000 + 11713 11 libSystem.B.dylib 0x00007fff8361d456 _pthread_start + 331 12 libSystem.B.dylib 0x00007fff8361d309 thread_start + 13 At the bottom of the crash dump, it is shown that libdt_socket.jnilib, libjdwp.jnilib, and libclient64.dylib are all part of the JVM. This shows the problem is in the "debugging" portion (as indicated by "jdwp") of your JVM and not Eclipse. A simple test will likely confirm this. After a failed attempt to start Tomcat, switch to the Debug perspective. In the Debug view, right click on the terminated Java program and select Properties. The dialog will show the Java command being executed to run Tomcat. Copy that command to a terminal session and try to execute it. You will likely encounter the same crash without Eclipse being involved. If this is a 64bit JVM you are using, you might try a 32 bit one if possible. I'm not at all familiar with the Mac or OS X, so I don't know what JVM alternatives might be available. Since the crash dump shows this isn't the fault of WTP or Eclipse, I'm resolving this as NOT_ECLIPSE. Unless the command surprisingly works in a terminal session, there isn't much more I can do to help. If it happens to work, add the full command to this bug and I'll see if there are any clues as to why. Hi Larry thank you very much for your reply: it helped to discover the cause of the crash! By analyzing the command from the terminal I discovered that the crash was caused by a missing "localhost" entry on my hosts file! The debugger was unable to resolve it (address=localhost:58313) and this was causing the JVM to crash... Davide (In reply to comment #8) > The crash dump shows the crashing thread as: > > Thread 1 Crashed: > 0 libdt_socket.jnilib 0x00000001017c1d22 jdwpTransport_OnLoad + > 4316 > 1 libdt_socket.jnilib 0x00000001017c0d8d jdwpTransport_OnLoad + > 327 > 2 libjdwp.jnilib 0x0000000100522467 Agent_OnUnload + 71685 > 3 libjdwp.jnilib 0x0000000100510851 Agent_OnLoad + 7045 > 4 libjdwp.jnilib 0x000000010050d2f0 0x100503000 + 41712 > 5 libjdwp.jnilib 0x0000000100511752 Agent_OnUnload + 2800 > 6 libjdwp.jnilib 0x0000000100510f01 Agent_OnUnload + 671 > 7 libclient64.dylib 0x00000001010bc5b7 JVM_IsPrimitiveClass + > 6995 > 8 libclient64.dylib 0x00000001010026dd JNI_CreateJavaVM_Impl > + 4731 > 9 libclient64.dylib 0x00000001010014e1 JNI_CreateJavaVM_Impl > + 127 > 10 java 0x0000000100002dc1 0x100000000 + 11713 > 11 libSystem.B.dylib 0x00007fff8361d456 _pthread_start + 331 > 12 libSystem.B.dylib 0x00007fff8361d309 thread_start + 13 > > At the bottom of the crash dump, it is shown that libdt_socket.jnilib, > libjdwp.jnilib, and libclient64.dylib are all part of the JVM. This shows the > problem is in the "debugging" portion (as indicated by "jdwp") of your JVM and > not Eclipse. A simple test will likely confirm this. After a failed attempt > to start Tomcat, switch to the Debug perspective. In the Debug view, right > click on the terminated Java program and select Properties. The dialog will > show the Java command being executed to run Tomcat. Copy that command to a > terminal session and try to execute it. You will likely encounter the same > crash without Eclipse being involved. > > If this is a 64bit JVM you are using, you might try a 32 bit one if possible. > I'm not at all familiar with the Mac or OS X, so I don't know what JVM > alternatives might be available. > > Since the crash dump shows this isn't the fault of WTP or Eclipse, I'm > resolving this as NOT_ECLIPSE. Unless the command surprisingly works in a > terminal session, there isn't much more I can do to help. If it happens to > work, add the full command to this bug and I'll see if there are any clues as > to why. Restoring resolution to avoid confusion, since nothing was actually fixed in Eclipse. I'm glad you were able to resolve this. |