Skip to content

SDL2 frontend crushes with an SDL error #690

@t-sin

Description

@t-sin

Environment

$ uname -a
Linux timberwolf 5.19.0-43-generic #44~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon May 22 13:39:36 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
$ glxinfo | grep -i opengl
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 510.108.03
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6.0 NVIDIA 510.108.03
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 510.108.03
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

Steps

  1. ros install lem-project/lem
  2. lem -f sdl2

As is

Black painted SDL2 frontend window appears and it crushes with these logs:

crush logs with `(lem:lem "--debug" "--log-filename" "lem.log")`
 <INFO> [17:22:08] lem-core lem.lisp (lem) - Starting Lem
<DEBUG> [17:22:09] lem-sdl2 main.lisp (display-width sdl2) -
  lem-if:display-width
<DEBUG> [17:22:09] lem-sdl2 main.lisp (display-height sdl2) -
  lem-if:display-height
<DEBUG> [17:22:09] lem-sdl2 main.lisp (make-view sdl2) -
  lem-if:make-view LEM-SDL2::WINDOW: #<LEM-CORE:WINDOW {1007D283C3}>
  LEM-SDL2::X: 0 LEM-SDL2::Y: 0 LEM-SDL2::WIDTH: 28 LEM-SDL2::HEIGHT: 11
  LEM-SDL2::USE-MODELINE: T 
<DEBUG> [17:22:09] lem-sdl2 main.lisp (update-foreground sdl2) -
  lem-if:update-foreground LEM-SDL2::COLOR: "#cccccc" 
<DEBUG> [17:22:09] lem-sdl2 main.lisp (update-background sdl2) -
  lem-if:update-background LEM-SDL2::COLOR: "#2d2d2d" 
<DEBUG> [17:22:09] lem-sdl2 main.lisp (will-update-display sdl2) -
  will-update-display
;; begin my debugging stuff
 <INFO> [17:22:09] lem-sdl2 main.lisp (will-update-display sdl2) -
  renderer-info: #<SDL-RENDERER-INFO name "opengl" flags 10 num-texture-formats 8 texture-formats 372645892 max-texture-width 32768 max-texture-height 32768 {1007D37033}>
 <INFO> [17:22:09] lem-sdl2 main.lisp (will-update-display sdl2) -
  texture-info: (370546692 2 900 840)
;; end of my debugging stuff
 <INFO> [17:22:09] lem-sdl2 main.lisp (call-with-debug h0) -
  SDL Error (-1): glFramebufferTexture2DEXT() failed
Backtrace for: #<SB-THREAD:THREAD "editor" RUNNING {1007D23BB3}>
0: ((LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE))
1: ((FLET "THUNK" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX))
2: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<FUNCTION (FLET "THUNK" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX) {7FD6FCA2D47B}>)
3: (UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX #<FUNCTION (LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE) {1007D48EDB}> :PACKAGE :CL)
4: ((FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) #<SB-PRETTY:PRETTY-STREAM {1007D48C23}>)
5: ((LAMBDA (STREAM LOG4CL-IMPL::FMT-INFO LOG4CL-IMPL::LOGGER LOG4CL-IMPL::LOG-LEVEL LOG4CL-IMPL::LOG-FUNC) :IN "/home/grey/.roswell/lisp/quicklisp/dists/quicklisp/software/log4cl-20211209-git/src/appender/pattern-layout.lisp") #<SB-PRETTY:PRETTY-STREAM {1007D48C23}> #<LOG4CL-IMPL::FORMAT-INFO {1001C94A23}> #<unused argument> #<unused argument> #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}>)
6: ((LAMBDA (STREAM LOG4CL-IMPL::LOGGER LOG4CL-IMPL::LEVEL LOG4CL-IMPL::LOG-FUNC) :IN LOG4CL-IMPL::COMPILE-PATTERN-FORMAT) #<SB-PRETTY:PRETTY-STREAM {1007D48C23}> #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> 4 #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}>)
7: ((FLET "WITH-PRETTY-STREAM0" :IN SB-PRETTY::CALL-LOGICAL-BLOCK-PRINTER) #<SB-PRETTY:PRETTY-STREAM {1007D48C23}>)
8: (SB-PRETTY::CALL-LOGICAL-BLOCK-PRINTER #<FUNCTION (FLET "PPRINT-BLOCK" :IN "/home/grey/.roswell/lisp/quicklisp/dists/quicklisp/software/log4cl-20211209-git/src/appender/pattern-layout.lisp") {7FD6FCA2D92B}> #<SB-SYS:FD-STREAM for "file /home/grey/lem.log" {1002FE63D3}> NIL NIL "" NIL)
9: ((LAMBDA (STREAM LOG4CL-IMPL::FMT-INFO LOG4CL-IMPL::LOGGER LOG4CL-IMPL::LOG-LEVEL LOG4CL-IMPL::LOG-FUNC LOG4CL-IMPL::WRAP) :IN "/home/grey/.roswell/lisp/quicklisp/dists/quicklisp/software/log4cl-20211209-git/src/appender/pattern-layout.lisp") #<SB-SYS:FD-STREAM for "file /home/grey/lem.log" {1002FE63D3}> #<LOG4CL-IMPL::PATTERN-PRETTY-FMT-INFO {1001C94223}> #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> 4 #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}> #<FUNCTION (LAMBDA (STREAM LOG4CL-IMPL::LOGGER LOG4CL-IMPL::LEVEL LOG4CL-IMPL::LOG-FUNC) :IN LOG4CL-IMPL::COMPILE-PATTERN-FORMAT) {1002FE5C0B}>)
10: ((LAMBDA (STREAM LOG4CL-IMPL::LOGGER LOG4CL-IMPL::LEVEL LOG4CL-IMPL::LOG-FUNC) :IN LOG4CL-IMPL::COMPILE-PATTERN-FORMAT) #<SB-SYS:FD-STREAM for "file /home/grey/lem.log" {1002FE63D3}> #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> 4 #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}>)
11: ((:METHOD LOG4CL-IMPL:LAYOUT-TO-STREAM (LOG4CL-IMPL:PATTERN-LAYOUT T T T T)) #<LOG4CL-IMPL:PATTERN-LAYOUT {1001C94163}> #<SB-SYS:FD-STREAM for "file /home/grey/lem.log" {1002FE63D3}> #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> 4 #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}>) [fast-method]
12: ((:METHOD LOG4CL-IMPL:APPENDER-DO-APPEND (LOG4CL-IMPL::FIXED-STREAM-APPENDER-BASE T T T)) #<LOG4CL-IMPL:DAILY-FILE-APPENDER {1001C94C53}> #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> 4 #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}>) [fast-method]
13: ((SB-PCL::EMF LOG4CL-IMPL:APPENDER-DO-APPEND) #<unused argument> #<unused argument> #<LOG4CL-IMPL:DAILY-FILE-APPENDER {1001C94C53}> #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> 4 #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}>)
14: ((FLET "WITHOUT-INTERRUPTS-BODY-11" :IN SB-THREAD::CALL-WITH-RECURSIVE-LOCK))
15: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK #<FUNCTION (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN LOG4CL-IMPL:APPENDER-DO-APPEND) {7FD6FCA2DD2B}> #<SB-THREAD:MUTEX "Log4CL serialized appender lock" taken owner=editor> T NIL)
16: ((:METHOD LOG4CL-IMPL:APPENDER-DO-APPEND :AROUND (LOG4CL-IMPL:SERIALIZED-APPENDER T T T)) #<LOG4CL-IMPL:DAILY-FILE-APPENDER {1001C94C53}> #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> 4 #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}>) [fast-method]
17: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOGGER +ROOT+ {10026E80E3}> #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> 4 #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}>)
18: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2 NIL {1005624643}> #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> 4 #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}>)
19: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {100593D073}> #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> 4 #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}>)
20: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> 4 #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}>)
21: (LOG4CL-IMPL::LOG-WITH-LOGGER #<LOG4CL-IMPL::FILE-LOGGER LEM-SDL2.CALL-WITH-DEBUG.H0 /home/grey/.roswell/local-projects/lem-project/lem/frontends/sdl2/main.lisp {10061156A3}> 4 #<FUNCTION (FLET "log-stmt1" :IN LEM-SDL2::CALL-WITH-DEBUG) {7FD6FCA2E17B}> #<PACKAGE "LEM-SDL2">)
22: ((FLET "H0" :IN LEM-SDL2::CALL-WITH-DEBUG) #<SDL2::SDL-RC-ERROR {1007D48583}>)
23: (SB-KERNEL::%SIGNAL #<SDL2::SDL-RC-ERROR {1007D48583}>)
24: (ERROR SDL2::SDL-RC-ERROR :RC -1 :STRING "glFramebufferTexture2DEXT() failed")
25: (SDL2:SET-RENDER-TARGET #<SDL2-FFI:SDL-RENDERER {#X7FD6F483D600}> #<SDL2-FFI:SDL-TEXTURE {#X7FD6F43A2300}>)
26: ((FLET "WITHOUT-INTERRUPTS-BODY-11" :IN SB-THREAD::CALL-WITH-RECURSIVE-LOCK))
27: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK #<FUNCTION (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN LEM-SDL2::CALL-WITH-RENDERER) {7FD6FCA2E40B}> #<SB-THREAD:MUTEX "lem-sdl2 display mutex" taken owner=editor> T NIL)
28: (LEM-SDL2::CALL-WITH-RENDERER #<FUNCTION (LAMBDA NIL :IN LEM-INTERFACE:WILL-UPDATE-DISPLAY) {5402B2FB}>)
29: (LEM-SDL2::CALL-WITH-DEBUG #<FUNCTION (LAMBDA NIL :IN LEM-INTERFACE:WILL-UPDATE-DISPLAY) {5402B77B}> #<FUNCTION (LAMBDA NIL :IN LEM-INTERFACE:WILL-UPDATE-DISPLAY) {5402B2BB}>)
30: (LEM-CORE:REDRAW-DISPLAY T)
31: (LEM-CORE:LOAD-THEME "decaf" NIL)
32: ((:METHOD LEM-BASE:RUN-HOOKS (LIST)) ((LEM-SCHEME-MODE::DISABLE-SCHEME-SLIME-COMMANDS . 0) (LEM-SCHEME-MODE::DISABLE-SCHEME-PROCESS-COMMANDS . 0) (LEM/FRAME-MULTIPLEXER::ENABLE-FRAME-MULTIPLEXER . 0) (#<FUNCTION (LAMBDA NIL :IN "/home/grey/.roswell/local-projects/lem-project/lem/src/ext/tabbar.lisp") {53C5C27B}> . 0) (#<FUNCTION (LAMBDA NIL :IN "/home/grey/.roswell/local-projects/lem-project/lem/src/ext/line-numbers.lisp") {53C33A7B}> . 0) (LEM-CORE::INITIALIZE-COLOR-THEME . 0))) [fast-method]
33: (LEM-CORE::INIT #S(LEM-CORE::COMMAND-LINE-ARGUMENTS :ARGS (T #1="~/lem.log") :DEBUG T :LOG-FILENAME #1# :NO-INIT-FILE NIL))
34: (LEM-CORE::TOPLEVEL-COMMAND-LOOP #<FUNCTION (LAMBDA NIL :IN LEM-CORE::RUN-EDITOR-THREAD) {1007D31EEB}>)
35: ((LAMBDA NIL :IN LEM-CORE::RUN-EDITOR-THREAD))
36: ((LAMBDA NIL :IN LEM-CORE::RUN-EDITOR-THREAD))
37: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
38: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
39: ((FLET "WITHOUT-INTERRUPTS-BODY-156" :IN SB-THREAD::RUN))
40: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
41: ((FLET "WITHOUT-INTERRUPTS-BODY-149" :IN SB-THREAD::RUN))
42: (SB-THREAD::RUN)
43: ("foreign function: call_into_lisp_")
44: ("foreign function: funcall1")

<DEBUG> [17:22:09] lem-sdl2 main.lisp (display-height sdl2) -
  lem-if:display-height
<DEBUG> [17:22:09] lem-sdl2 main.lisp (display-width sdl2) -
  lem-if:display-width
<DEBUG> [17:22:09] lem-sdl2 main.lisp (set-view-size sdl2) -
  lem-if:set-view-size LEM-SDL2::VIEW: #<LEM-SDL2::VIEW {1006FFE853}>
  LEM-SDL2::WIDTH: 28 LEM-SDL2::HEIGHT: 9 
 <INFO> [17:22:09] lem-sdl2 main.lisp (call-with-debug h0) - The value
  NIL
is not of type
  AUTOWRAP:WRAPPER
Backtrace for: #<SB-THREAD:THREAD "editor" RUNNING {1007D23BB3}>
0: (AUTOWRAP:INVALIDATE NIL)
1: ((:METHOD LEM-SDL2::RESIZE (LEM-SDL2::VIEW T T)) #<LEM-SDL2::VIEW {1006FFE853}> 28 9) [fast-method]
2: ((FLET "WITHOUT-INTERRUPTS-BODY-11" :IN SB-THREAD::CALL-WITH-RECURSIVE-LOCK))
3: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK #<FUNCTION (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN LEM-SDL2::CALL-WITH-RENDERER) {7FD6FCA2DF5B}> #<SB-THREAD:MUTEX "lem-sdl2 display mutex" taken owner=editor> T NIL)
4: (LEM-SDL2::CALL-WITH-RENDERER #<FUNCTION (LAMBDA NIL :IN LEM-INTERFACE:SET-VIEW-SIZE) {1007DC5CCB}>)
5: (LEM-SDL2::CALL-WITH-DEBUG #<FUNCTION (LAMBDA NIL :IN LEM-INTERFACE:SET-VIEW-SIZE) {1007DC533B}> #<FUNCTION (LAMBDA NIL :IN LEM-INTERFACE:SET-VIEW-SIZE) {1007DC536B}>)
6: (LEM-CORE::SCREEN-SET-SIZE #S(LEM-CORE::SCREEN :VIEW #<LEM-SDL2::VIEW {1006FFE853}> :MODELINE-ELEMENTS ((0 "                                       Press Space to continue                                                                              " #<LEM-CORE:ATTRIBUTE (white #404040) bold underline {10072A9633}>)) :LEFT-LINES #(NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL ...) :LEFT-WIDTH 0 :OLD-LEFT-WIDTH 0 :LINES #((#1="SDL Error (-1): glFramebufferTexture2DEXT() failed" (0 1 LEM-CORE:CURSOR NIL)) #2=("Backtrace for: #<SB-THREAD:THREAD \"editor\" RUNNING {1008F580A3}>") ("0: ((LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE))") ("1: ((FLET \"THUNK\" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX))") ("2: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<FUNCTION (FLET \"THUNK\" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX) {7FD6EC6CDF6B}>)") ("3: (UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX #<FUNCTION (LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE) {10062D953B}> :PACKAGE :CL)") ("4: (LEM-CORE:POP-UP-BACKTRACE #<SDL2::SDL-RC-ERROR {1006284783}>)") ("5: ((FLET \"H0\" :IN LEM-CORE::TOPLEVEL-COMMAND-LOOP) #<SDL2::SDL-RC-ERROR {1006284783}>)") ("6: (SB-KERNEL::%SIGNAL #<SDL2::SDL-RC-ERROR {1006284783}>)") ("7: (ERROR SDL2::SDL-RC-ERROR :RC -1 :STRING \"glFramebufferTexture2DEXT() failed\")") ("8: (SDL2:SET-RENDER-TARGET #<SDL2-FFI:SDL-RENDERER {#X7FD6E89B4970}> #<SDL2-FFI:SDL-TEXTURE {#X7FD6E8AB1480}>)") ("9: ((FLET \"WITHOUT-INTERRUPTS-BODY-11\" :IN SB-THREAD::CALL-WITH-RECURSIVE-LOCK))") ...) :OLD-LINES #((#1# (0 1 LEM-CORE:CURSOR NIL)) #2# NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL ...) :WRAP-LINES NIL :WIDTH 100 :MODIFIED-P T :LAST-BUFFER-NAME "*EDITOR ERROR*" :LAST-BUFFER-MODIFIED-TICK 2 ...) 28 9)
7: (LEM-CORE:POP-UP-TYPEOUT-WINDOW #<LEM-BASE:TEXT-BUFFER *EDITOR ERROR* NIL {10053F7073}> :FUNCTION #<FUNCTION (LAMBDA (STREAM) :IN LEM-CORE:POP-UP-BACKTRACE) {1007DAAB5B}> :ERASE T :READ-ONLY T)
8: ((FLET "H0" :IN LEM-CORE::TOPLEVEL-COMMAND-LOOP) #<SDL2::SDL-RC-ERROR {1007D48583}>)
9: (SB-KERNEL::%SIGNAL #<SDL2::SDL-RC-ERROR {1007D48583}>)
10: (ERROR SDL2::SDL-RC-ERROR :RC -1 :STRING "glFramebufferTexture2DEXT() failed")
11: (SDL2:SET-RENDER-TARGET #<SDL2-FFI:SDL-RENDERER {#X7FD6F483D600}> #<SDL2-FFI:SDL-TEXTURE {#X7FD6F43A2300}>)
12: ((FLET "WITHOUT-INTERRUPTS-BODY-11" :IN SB-THREAD::CALL-WITH-RECURSIVE-LOCK))
13: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK #<FUNCTION (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN LEM-SDL2::CALL-WITH-RENDERER) {7FD6FCA2E40B}> #<SB-THREAD:MUTEX "lem-sdl2 display mutex" taken owner=editor> T NIL)
14: (LEM-SDL2::CALL-WITH-RENDERER #<FUNCTION (LAMBDA NIL :IN LEM-INTERFACE:WILL-UPDATE-DISPLAY) {5402B2FB}>)
15: (LEM-SDL2::CALL-WITH-DEBUG #<FUNCTION (LAMBDA NIL :IN LEM-INTERFACE:WILL-UPDATE-DISPLAY) {5402B77B}> #<FUNCTION (LAMBDA NIL :IN LEM-INTERFACE:WILL-UPDATE-DISPLAY) {5402B2BB}>)
16: (LEM-CORE:REDRAW-DISPLAY T)
17: (LEM-CORE:LOAD-THEME "decaf" NIL)
18: ((:METHOD LEM-BASE:RUN-HOOKS (LIST)) ((LEM-SCHEME-MODE::DISABLE-SCHEME-SLIME-COMMANDS . 0) (LEM-SCHEME-MODE::DISABLE-SCHEME-PROCESS-COMMANDS . 0) (LEM/FRAME-MULTIPLEXER::ENABLE-FRAME-MULTIPLEXER . 0) (#<FUNCTION (LAMBDA NIL :IN "/home/grey/.roswell/local-projects/lem-project/lem/src/ext/tabbar.lisp") {53C5C27B}> . 0) (#<FUNCTION (LAMBDA NIL :IN "/home/grey/.roswell/local-projects/lem-project/lem/src/ext/line-numbers.lisp") {53C33A7B}> . 0) (LEM-CORE::INITIALIZE-COLOR-THEME . 0))) [fast-method]
19: (LEM-CORE::INIT #S(LEM-CORE::COMMAND-LINE-ARGUMENTS :ARGS (T #1="~/lem.log") :DEBUG T :LOG-FILENAME #1# :NO-INIT-FILE NIL))
20: (LEM-CORE::TOPLEVEL-COMMAND-LOOP #<FUNCTION (LAMBDA NIL :IN LEM-CORE::RUN-EDITOR-THREAD) {1007D31EEB}>)
21: ((LAMBDA NIL :IN LEM-CORE::RUN-EDITOR-THREAD))
22: ((LAMBDA NIL :IN LEM-CORE::RUN-EDITOR-THREAD))
23: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
24: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
25: ((FLET "WITHOUT-INTERRUPTS-BODY-156" :IN SB-THREAD::RUN))
26: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
27: ((FLET "WITHOUT-INTERRUPTS-BODY-149" :IN SB-THREAD::RUN))
28: (SB-THREAD::RUN)
29: ("foreign function: call_into_lisp_")
30: ("foreign function: funcall1")

This issue does not occur in my laptop (Intel Graphics driver).

To be

SDL2 window appears rendered with Lem editor screen.

My debugging

I saw this error in that log:

  SDL Error (-1): glFramebufferTexture2DEXT() failed

so I think this is caused by SDL2 or graphc driver layer. I found some glFramebufferTexture2DEXT() related articles like these:

  1. GL_INVALID_OPERATION at glFramebufferTexture2DEXT (in WindowsXP, caused by using deprecated pixel format)
  2. glFramebufferTexture2D fails on iPhone for certain texture sizes (in iOS, caused by texture sizes?)

but these are not reasons of this issue.

BTW I found codes to raise this error in SDL2 codes:

// https://github.com/libsdl-org/SDL/blob/d032492aaba19c108dfd5e52866573bd02bf6148/src/render/opengl/SDL_render_gl.c#L887
    /* TODO: check if texture pixel format allows this operation */
    data->glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, data->textype, texturedata->texture, 0);
    /* Check FBO status */
    status = data->glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
    if (status != GL_FRAMEBUFFER_COMPLETE_EXT) {
        return SDL_SetError("glFramebufferTexture2DEXT() failed");
    }
    return 0;

I think this issue may be caused by illegal pixel format on this environment but I cannot know how different each texture formats between renderer and (lem-sdl2:create-texture).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions