processing / processing/processing4

Segmentation fault/non-working renderer (default, P2D, P3D)

未关闭
#1,547 12 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Java
星标
497
派生
183
平均合并
4 小时 39 分钟
30 天内合并 PR
3

描述

Description

Graphics not updated correctly or segmentation fault, depending on which renderer is selected

Expected Behavior

Below code should just work fine (as it does with FX2D)

Current Behavior

  • graphics is not updated with default renderer size(300,200);
    It works fine if I comment out the noLoop()

  • Segmentation fault with P2D/P3D renderer size(300,200,P2D) (see below)
    when doing first key press

  • works just fine with size(300,200,FX2D);

Steps to Reproduce

void setup() {
  size(300, 200, P2D);
  noLoop();
}
void draw() {
}
void keyPressed() {
  background(255);
  text("x", 10, 10);
  redraw();
}

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fffa2222e31, pid=8425, tid=0x000000000000fc07
#
# JRE version: Java(TM) SE Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.181-b13 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C  [libGL.dylib+0xe31]  glClearColor+0xd
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/foo/hs_err_pid8425.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Could not run the sketch (Target VM failed to initialize).
For more information, read revisions.txt and Help → Troubleshooting.

  1. type any key

Your Environment

  • Processing version: 3.4 (macOS), 3.3.7 (windows)

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先,在列出的 Processing 版本上使用默认、P2D、P3D 和 FX2D 渲染器复现 sketch,然后检查报告的 hs_err_pid8425.log 和有问题的 libGL.dylib frame。完成的标准是:使用 noLoop() 的 sketch 在第一次按键后会更新,并且 P2D/P3D 不再发生 segfault。

由索引模型根据 Issue 内容生成。

评估

技术栈
java, macos
领域
computer-graphics, desktop
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
冷清
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。