#8761: Software renderer should gracefully handle unsupported color spaces. -------------------------------+---------------------------- Reporter: xray7224 | Owner: kallisti5 Type: bug | Status: assigned Priority: normal | Milestone: R1 Component: Kits/OpenGL Kit | Version: R1/Development Resolution: | Keywords: Blocked By: | Blocking: Has a Patch: 0 | Platform: All -------------------------------+---------------------------- Changes (by anevilyak): * status: new => assigned * owner: korli => kallisti5 Old description: > Hello, > > I am currently on the latest nightly hrev44370. I have found that opening > applications like GLTeapot and Haiku 3D. I have chosen the debug option > on both applications. > > '''GLTeapot''' gdb: > {{{ > Reading symbols from /boot/system/add-ons/opengl/Legacy Software > Rasterizer...done. > Loaded symbols for /boot/system/add-ons/opengl/Legacy Software Rasterizer > [tcsetpgrp failed in terminal_inferior: Invalid Argument] > [Switching to team /boot/system/demos/GLTeapot (636) thread GLTeapot > (636)] > }}} > > '''gdb backtrace''' > {{{ > (gdb) bt > #0 0xffff0114 in ?? () > #1 0x00899fee in debugger () from /boot/system/lib/libroot.so > #2 0x020c874a in MesaSoftwareRenderer::_SetupRenderBuffer () > from /boot/system/add-ons/opengl/Legacy Software Rasterizer > #3 0x020c8501 in MesaSoftwareRenderer::_NewRenderBuffer () > from /boot/system/add-ons/opengl/Legacy Software Rasterizer > #4 0x020c706f in MesaSoftwareRenderer::MesaSoftwareRenderer () > from /boot/system/add-ons/opengl/Legacy Software Rasterizer > #5 0x020c6cea in instantiate_gl_renderer () > from /boot/system/add-ons/opengl/Legacy Software Rasterizer > #6 0x0056274a in GLRendererRoster::CreateRenderer () > from /boot/system/lib/libGL.so > #7 0x005621ab in GLRendererRoster::AddPath () from > /boot/system/lib/libGL.so > #8 0x00561fa7 in GLRendererRoster::AddDefaultPaths () > from /boot/system/lib/libGL.so > #9 0x00561d0e in GLRendererRoster::GLRendererRoster () > from /boot/system/lib/libGL.so > #10 0x00560220 in BGLView::BGLView () from /boot/system/lib/libGL.so > #11 0x0020952d in ObjectView::ObjectView () > #12 0x0020bd31 in TeapotWindow::TeapotWindow () > #13 0x0020f2ad in TeapotApp::TeapotApp () > #14 0x0020f140 in main () > (gdb) [tcsetpgrp failed in terminal_inferior: Invalid Argument] > }}} > > If you need the information from the haiku 3D crash too and the backtrace > I can provide them just let me know. I figured it would be more of the > same thing though. The hardware information is this: > > ''' Acer Aspire one ''' > {{{ > ~> listdev > > device Serial bus controller (SMBus) [c|5|0] > vendor 8086: Intel Corporation > device 27da: N10/ICH 7 Family SMBus Controller > > device Mass storage controller (IDE interface) [1|1|80] > vendor 8086: Intel Corporation > device 27c4: 82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] > > device Bridge (ISA bridge) [6|1|0] > vendor 8086: Intel Corporation > device 27b9: 82801GBM (ICH7-M) LPC Interface Bridge > > device Bridge (PCI bridge, Subtractive decode) [6|4|1] > vendor 8086: Intel Corporation > device 2448: 82801 Mobile PCI Bridge > > device Serial bus controller (USB controller, EHCI) [c|3|20] > vendor 8086: Intel Corporation > device 27cc: N10/ICH 7 Family USB2 EHCI Controller > > device Serial bus controller (USB controller, UHCI) [c|3|0] > vendor 8086: Intel Corporation > device 27cb: N10/ICH 7 Family USB UHCI Controller #4 > > device Serial bus controller (USB controller, UHCI) [c|3|0] > vendor 8086: Intel Corporation > device 27ca: N10/ICH 7 Family USB UHCI Controller #3 > > device Serial bus controller (USB controller, UHCI) [c|3|0] > vendor 8086: Intel Corporation > device 27c9: N10/ICH 7 Family USB UHCI Controller #2 > > device Serial bus controller (USB controller, UHCI) [c|3|0] > vendor 8086: Intel Corporation > device 27c8: N10/ICH 7 Family USB UHCI Controller #1 > > device Generic system peripheral [8|80|0] > vendor 197b: JMicron Technology Corp. > device 2384: xD Host Controller > > device Generic system peripheral [8|80|0] > vendor 197b: JMicron Technology Corp. > device 2383: MS Host Controller > > device Generic system peripheral (SD Host controller) [8|5|1] > vendor 197b: JMicron Technology Corp. > device 2381: Standard SD Host Controller > > device Generic system peripheral [8|80|0] > vendor 197b: JMicron Technology Corp. > device 2382: SD/MMC Host Controller > > device Bridge (PCI bridge, Normal decode) [6|4|0] > vendor 8086: Intel Corporation > device 27d6: N10/ICH 7 Family PCI Express Port 4 > > device Network controller (Ethernet controller) [2|0|0] > vendor 168c: Atheros Communications Inc. > device 001c: AR242x / AR542x Wireless Network Adapter (PCI-Express) > > device Bridge (PCI bridge, Normal decode) [6|4|0] > vendor 8086: Intel Corporation > device 27d4: N10/ICH 7 Family PCI Express Port 3 > > device Network controller (Ethernet controller) [2|0|0] > vendor 10ec: Realtek Semiconductor Co., Ltd. > device 8136: RTL8101E/RTL8102E PCI Express Fast Ethernet controller > > device Bridge (PCI bridge, Normal decode) [6|4|0] > vendor 8086: Intel Corporation > device 27d2: N10/ICH 7 Family PCI Express Port 2 > > device Generic system peripheral [8|80|0] > vendor 197b: JMicron Technology Corp. > device 2384: xD Host Controller > > device Generic system peripheral [8|80|0] > vendor 197b: JMicron Technology Corp. > device 2383: MS Host Controller > > device Generic system peripheral (SD Host controller) [8|5|1] > vendor 197b: JMicron Technology Corp. > device 2381: Standard SD Host Controller > > device Generic system peripheral [8|80|0] > vendor 197b: JMicron Technology Corp. > device 2382: SD/MMC Host Controller > > device Bridge (PCI bridge, Normal decode) [6|4|0] > vendor 8086: Intel Corporation > device 27d0: N10/ICH 7 Family PCI Express Port 1 > > device Multimedia controller (Audio device) [4|3|0] > vendor 8086: Intel Corporation > device 27d8: N10/ICH 7 Family High Definition Audio Controller > > device Display controller [3|80|0] > vendor 8086: Intel Corporation > device 27a6: Mobile 945GM/GMS/GME, 943/940GML Express Integrated > Graphics Controller > > device Display controller (VGA compatible controller, VGA controller) > [3|0|0] > vendor 8086: Intel Corporation > device 27ae: Mobile 945GSE Express Integrated Graphics Controller > > device Bridge (Host bridge) [6|0|0] > vendor 8086: Intel Corporation > device 27ac: Mobile 945GSE Express Memory Controller Hub > }}} New description: Currently, if one attempts to instantiate the mesa software renderer (legacy or new) in an unsupported color space (i.e. if the desktop is set to 8-bit color), the app will crash into the debugger. This should be handled a bit more gracefully. Simply removing the debugger() call doesn't appear to suffice though, since the return from _SetupRenderBuffer() is ignored, causing issues elsewhere later. -- Comment: No problem, it should fail gracefully in that case instead of simply hitting the debugger though. -- Ticket URL: <http://dev.haiku-os.org/ticket/8761#comment:3> Haiku <http://dev.haiku-os.org> Haiku - the operating system.