This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 244457 - StackOverflow in GoTo Type
Summary: StackOverflow in GoTo Type
Status: RESOLVED FIXED
Alias: None
Product: java
Classification: Unclassified
Component: Navigation (show other bugs)
Version: 8.0
Hardware: PC Other
: P2 normal (vote)
Assignee: Tomas Zezula
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-13 09:58 UTC by mhankus
Modified: 2014-07-17 02:17 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
messages.log as requested (144.55 KB, application/octet-stream)
2014-05-21 16:39 UTC, mhankus
Details
thread dump as requested (338.91 KB, text/plain)
2014-05-21 16:39 UTC, mhankus
Details

Note You need to log in before you can comment on or make changes to this bug.
Description mhankus 2014-05-13 09:58:13 UTC
StackOverflow caused my unsaved files to be lost, so I've marked with P2. 

I'was going to find type, which was supposed to be in clipboard, but in the mean time I've copied there thread dump of tomcat process. So I pressed Ctrl+V and then Enter and that was all I could do. "go to type" window is modal, buttons did not work. I was forced to kill netbeans. 

My mistake, but unsaved changes were lost. 

Steps to reproduce:

1. Open IDE with some project 
2. Press Ctrl+O to open "Go to Type" dialog
3. Paste thread dump from VisualVM (large one) (example below)
4. IDE starts to search for type, and freezes (sometimes it is possible to press Cancel, sometimes not)


Limiting input field length should fix the problem (I hope).


I've observed stack trace in IDE log:

INFO [org.netbeans.core.ui.focus]: External Changes Refresh on focus gain disabled
SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor org.netbeans.modules.jumpto.type.GoToTypeAction$Worker
java.lang.StackOverflowError
	at java.util.regex.Pattern$Curly.study(Pattern.java:4321)
	at java.util.regex.Pattern$CharProperty.study(Pattern.java:3786)
	at java.util.regex.Pattern$Curly.study(Pattern.java:4343)
	at java.util.regex.Pattern$SliceNode.study(Pattern.java:3949)
	at java.util.regex.Pattern$Curly.study(Pattern.java:4343)
	at java.util.regex.Pattern$CharProperty.study(Pattern.java:3786)
	at java.util.regex.Pattern$Curly.study(Pattern.java:4343)
	at java.util.regex.Pattern$CharProperty.study(Pattern.java:3786)
	at java.util.regex.Pattern$Curly.study(Pattern.java:4343)
	at java.util.regex.Pattern$CharProperty.study(Pattern.java:3786)
	at java.util.regex.Pattern$Curly.study(Pattern.java:4343)
	at java.util.regex.Pattern$CharProperty.study(Pattern.java:3786)



Text which was paseted looked like this, but is was much longer: 




2014-05-13 11:22:14
Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode):

"process reaper" - Thread t@8454
   java.lang.Thread.State: TIMED_WAITING
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for <67e87640> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)
	at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)

   Locked ownable synchronizers:
	- None

"ajp-bio-8010-exec-579" - Thread t@8452
   java.lang.Thread.State: TIMED_WAITING
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for <76a2d77e> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
	at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
	at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86)
	at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)

   Locked ownable synchronizers:
	- None
Comment 1 Marian Mirilovic 2014-05-21 16:03:07 UTC
Please attach the whole messages.log file as well as the whole thread-dump. Thanks in advance.
Comment 2 mhankus 2014-05-21 16:39:14 UTC
Created attachment 147367 [details]
messages.log as requested
Comment 3 mhankus 2014-05-21 16:39:45 UTC
Created attachment 147368 [details]
thread dump as requested
Comment 4 Tomas Zezula 2014-07-14 14:36:53 UTC
Fixed jet-main 0f623fb3b03e
Comment 5 Quality Engineering 2014-07-17 02:17:26 UTC
Integrated into 'main-silver', will be available in build *201407170001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/0f623fb3b03e
User: Tomas Zezula <tzezula@netbeans.org>
Log: #244457:StackOverflow in GoTo Type