processing / processing/processing4

Using right-click 'Jump to declaration' menu item causes Processing to lock-up in some sketches.

オープン
#527 コメント 24 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

help wanted
主要言語
Java
スター
494
フォーク
183
平均マージ
4時間 39分
マージ済み PR(30日)
3

説明

Created by: matkeane

Description

Using right-click 'Jump to declaration' menu item causes Processing to lock-up in some sketches.

When selecting a variable or function name in the UI and clicking on 'Jump to declaration' Processing locks up - No error is shown in the console but the UI becomes unresponsive, menus no longer open and windows cannot be opened or closed. I did wonder if things were just slow, but 10-15 minutes later, Activity Monitor shows Processing as 'not responding' but using between 25-25% CPU.

I first noticed the problem when working on my own projects, so it's quite possible there's something horrible about my code which is triggering this (my current project has a few thousand lines of code in 28 files, so quite likely I guess). Having said that, the same project didn't trigger this problem using Processing 3.5.4, I only encountered this after opening the project in Processing 4. Different versions of the project compile and run without errors under versions 3 & 4 of Processing.

While the problem doesn't occur when opening single-tab examples or sketches, it does happen with some of the multi-file example code from the 'Generative Design' book, but doesn't occur when testing a sketch by Marius Watz in 2 tabs.

In addition to controlP5 (which doesn't trigger the error in other sketches) my current project imports the following libraries:

import java.util.Locale;
import java.awt.datatransfer.*;
import java.awt.Toolkit;
import java.io.FileInputStream; // File Streams.
import java.io.FileOutputStream;
import java.util.UUID;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

Expected Behavior

In Processing 3, the 'Jump to declaration' menu item would jump straight to the appropriate variable/function declaration.

Current Behavior

In version 4, 'Jump to declaration' sometimes causes Processing to become unresponsive.

Steps to Reproduce

Some of the sketches which trigger the problem import external libraries, but I haven't found a sketch (other than my own) which always triggers the problem.

Your Environment

  • Processing version: Processing 4.0b8
  • Operating System and OS version: Mac OS 10.15.7

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、複数ファイルのスケッチを使い、Generative Design の例も含めて、macOS 上の Processing 4.0b8 でハングアップを再現し、Processing 3.5.4 で同じ操作を比較します。調査では、どのスケッチまたはインポートパターンが失敗を引き起こすかを絞り込む必要があります。完了条件は、「Jump to declaration」が応答可能なままで宣言に到達することです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
desktop-dev, developer-experience
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。