[haiku-bugs] Re: [Haiku] #8761: Software renderer should gracefully handle unsupported color spaces. (was: OpenGL Kits crashing.)

  • From: "anevilyak" <trac@xxxxxxxxxxxx>
  • Date: Sat, 21 Jul 2012 17:22:48 -0000

#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.

Other related posts:

  • » [haiku-bugs] Re: [Haiku] #8761: Software renderer should gracefully handle unsupported color spaces. (was: OpenGL Kits crashing.) - anevilyak