I am getting the following core dump with my Radeon 9550 and Mesa-git. (My HD4890 seems affected too.) Core was generated by `/usr/bin/celestia'. Program terminated with signal 6, Aborted. #0 0xb77e7424 in __kernel_vsyscall () Thread 1 (Thread 26350): #0 0xb77e7424 in __kernel_vsyscall () No symbol table info available. #1 0x466c3a81 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 resultvar = <value optimized out> resultvar = <value optimized out> pid = 1182830580 selftid = 26350 #2 0x466c534a in abort () at abort.c:92 save_stage = 2 act = {__sigaction_handler = {sa_handler = 0x4680a380 <main_arena>, sa_sigaction = 0x4680a380 <main_arena>}, sa_mask = {__val = { 1182830580, 96, 1, 3218383328, 3218383116, 0, 104, 89, 1182835584, 1182830580, 89, 88, 3218383288, 1181745554, 156360952, 89, 3218383328, 156360952, 0, 4222451712, 156360952, 156360952, 156360952, 156360952, 156361040, 156361052, 156360952, 156361052, 0, 0, 0, 0}}, sa_flags = 0, sa_restorer = 0} sigs = {__val = {32, 0 <repeats 31 times>}} #3 0x466bcbd8 in __assert_fail (assertion=0xb697b153 "dstRowStride", file= 0xb697b0e8 "radeon_texture.c", line=703, function= 0xb697b1c9 "radeon_store_teximage") at assert.c:81 buf = 0x951e0f8 "celestia: radeon_texture.c:703: radeon_store_teximage: Assertion `dstRowStride' failed.\n" #4 0xb67d5c76 in radeon_store_teximage (ctx=0x91c6288, dims=2, xoffset=0, yoffset=0, zoffset=0, width=8, height=8, depth=1, imageSize=0, format= 6407, type=5121, pixels=0x95750d0, packing=0x91d5058, texObj=0x957ad28, texImage=0x93a4360, compressed=0) at radeon_texture.c:703 rmesa = <value optimized out> image = 0x93a4360 dstRowStride = 26350 dstImageOffsets = <value optimized out> __func__ = "radeon_store_teximage" __PRETTY_FUNCTION__ = "radeon_store_teximage" #5 0xb67d62d3 in radeon_teximage (ctx=0x91c6288, dims=2, target=3553, level= 3, internalFormat=3, width=8, height=8, depth=1, imageSize=0, format= 6407, type=5121, pixels=0x95750d0, packing=0x91d5058, texObj=0x957ad28, texImage=0x93a4360, compressed=0) at radeon_texture.c:847 rmesa = 0x91c04d8 t = 0x957ad28 image = 0x93a4360 postConvWidth = 8 postConvHeight = 8 face = 0 __func__ = "radeon_teximage" __PRETTY_FUNCTION__ = "radeon_teximage" #6 0xb67d67a7 in radeonTexImage2D (ctx=0x91c6288, target=3553, level=3, internalFormat=3, width=8, height=8, border=0, format=6407, type=5121, pixels=0x95750d0, packing=0x91d5058, texObj=0x957ad28, texImage=0x93a4360) at radeon_texture.c:880 No locals. #7 0xb68594bc in _mesa_TexImage2D (target=3553, level=3, internalFormat=<value optimized out>, width=8, height=8, border=0, format= 6407, type=5121, pixels=0x95750d0) at main/teximage.c:2251 texObj = 0x957ad28 texImage = <value optimized out> face = 0 postConvWidth = 8 postConvHeight = 8 ctx = 0x91c6288 #8 0xb776718d in gluBuild2DMipmapLevelsCore (target=3553, internalFormat=3, width=64, height=64, widthPowerOf2=64, heightPowerOf2=64, format=6407, type=5121, userLevel=0, baseLevel=0, maxLevel=6, data=0x95b7988) at libutil/mipmap.c:4494 rowPad = <value optimized out> newwidth = 8 newheight = 8 level = <value optimized out> levels = 6 usersImage = 0xb775cf70 srcImage = 0x95750d0 dstImage = 0x95ba990 tmpImage = 0x95ba990 memreq = <value optimized out> cmpts = 24 myswap_bytes = 0 groups_per_line = <value optimized out> element_size = 1 group_size = 3 rowsize = 24 padding = <value optimized out> psm = {pack_alignment = 4, pack_row_length = 0, pack_skip_rows = 0, pack_skip_pixels = 0, pack_lsb_first = 0, pack_swap_bytes = 0, pack_skip_images = -1076583004, pack_image_height = 3553, unpack_alignment = 4, unpack_row_length = 0, unpack_skip_rows = 0, unpack_skip_pixels = 0, unpack_lsb_first = 0, unpack_swap_bytes = 0, unpack_skip_images = 32, unpack_image_height = 32} #9 0xb776e8bb in gluBuild2DMipmaps (target=3553, internalFormat=3, width=64, height=64, format=6407, type=5121, data=0x95b7988) at libutil/mipmap.c:4606 widthPowerOf2 = 64 heightPowerOf2 = 64 level = 26350 levels = <value optimized out> rc = <value optimized out> #10 0x081699fe in ImageTexture::ImageTexture(Image&, Texture::AddressMode, Texture::MipMapMode) () No symbol table info available. #11 0x08169dbe in CreateProceduralTexture(int, int, int, void (*)(float, float, float, unsigned char*), Texture::AddressMode, Texture::MipMapMode) () No symbol table info available. #12 0x0812ccbb in Renderer::init(GLContext*, int, int, Renderer::DetailOptions&) () No symbol table info available. #13 0x0809561a in CelestiaCore::initRenderer() () No symbol table info available. #14 0x080c9df7 in ?? () No symbol table info available. #15 0x46b2d2d4 in IA__g_cclosure_marshal_VOID__VOID (closure=0x90bbe88, return_value=0x0, n_param_values=1, param_values=0x90d8280, invocation_hint=0xbfd4aa50, marshal_data=0x0) at gmarshal.c:77 callback = 0x80c9de0 cc = 0x90bbe88 data1 = <value optimized out> data2 = <value optimized out> __PRETTY_FUNCTION__ = "IA__g_cclosure_marshal_VOID__VOID" #16 0x46b1f5b3 in IA__g_closure_invoke (closure=0x90bbe88, return_value=0x0, n_param_values=1, param_values=0x90d8280, invocation_hint=0xbfd4aa50) at gclosure.c:767 marshal = <value optimized out> marshal_data = <value optimized out> in_marshal = 151829248 __PRETTY_FUNCTION__ = "IA__g_closure_invoke" #17 0x46b35118 in signal_emit_unlocked_R (node=0x85da6c8, detail=0, instance= 0x862f908, emission_return=0x0, instance_and_params=0x90d8280) at gsignal.c:3247 tmp = <value optimized out> handler = 0x8ef2d60 accumulator = 0x0 emission = {next = 0xbfd4ae98, instance = 0x862f908, ihint = { signal_id = 16, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4} class_closure = 0x85bba78 handler_list = 0x8ef30c0 return_accu = 0x0 accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} signal_id = 16 max_sequential_handler_number = 569 return_value_altered = 1 #18 0x46b3647d in IA__g_signal_emit_valist (instance=0x862f908, signal_id=16, detail=0, var_args=<value optimized out>) at gsignal.c:2980 instance_and_params = 0x90d8280 signal_return_type = 4 param_values = 0x90d8294 node = <value optimized out> i = <value optimized out> n_params = 0 __PRETTY_FUNCTION__ = "IA__g_signal_emit_valist" #19 0x46b36907 in IA__g_signal_emit (instance=0x862f908, signal_id=16, detail= 0) at gsignal.c:3037 var_args = <value optimized out> #20 0x471d353e in IA__gtk_widget_realize (widget=0x862f908 [GtkDrawingArea]) at gtkwidget.c:3336 mode = <value optimized out> shape_info = <value optimized out> __PRETTY_FUNCTION__ = "IA__gtk_widget_realize" #21 0x471d3f48 in IA__gtk_widget_map (widget=0x862f908 [GtkDrawingArea]) at gtkwidget.c:3210 __PRETTY_FUNCTION__ = "IA__gtk_widget_map" #22 0x46fabb2d in gtk_box_forall (container=0x90bc068 [GtkVBox], include_internals=1, callback=0x46fe91b0 <gtk_container_map_child>, callback_data=0x0) at gtkbox.c:1249 box = 0x90bc068 [GtkVBox] child = <value optimized out> children = <value optimized out> #23 0x46fe6c34 in IA__gtk_container_forall (container=0x90bc068 [GtkVBox], callback=0x46fe91b0 <gtk_container_map_child>, callback_data=0x0) at gtkcontainer.c:1499 class = 0x906bf18 __PRETTY_FUNCTION__ = "IA__gtk_container_forall" #24 0x46fe9183 in gtk_container_map (widget=0x90bc068 [GtkVBox]) at gtkcontainer.c:2665 No locals. #25 0x46b2d2d4 in IA__g_cclosure_marshal_VOID__VOID (closure=0x85d7b10, return_value=0x0, n_param_values=1, param_values=0x90d8038, invocation_hint=0xbfd4aea0, marshal_data=0x46fe9120) at gmarshal.c:77 callback = 0x46fe9120 <gtk_container_map> cc = 0x85d7b10 data1 = <value optimized out> data2 = <value optimized out> __PRETTY_FUNCTION__ = "IA__g_cclosure_marshal_VOID__VOID" #26 0x46b1dc0a in g_type_class_meta_marshal (closure=0x85d7b10, return_value= 0x0, n_param_values=1, param_values=0x90d8038, invocation_hint= 0xbfd4aea0, marshal_data=0x6c) at gclosure.c:878 class = Cannot access memory at address 0x0 From To Syms Read Shared Object Library 0x46c266f0 0x46c42578 Yes (*) /usr/lib/libpng12.so.0 0x47c162d0 0x47c306b8 Yes (*) /usr/lib/libjpeg.so.62 0x46da7740 0x46db14b8 Yes (*) /usr/lib/libXi.so.6 0x46aea720 0x46af4ff8 Yes (*) /usr/lib/libXext.so.6 0x4686a620 0x468758e8 Yes (*) /lib/libz.so.1 0x4a84fe00 0x4a89ce68 Yes (*) /usr/lib/libgnomeui-2.so.0 0x4a76d160 0x4a7a7f58 Yes (*) /usr/lib/libbonoboui-2.so.0 0x4a6d4270 0x4a710bb8 Yes (*) /usr/lib/libgnomevfs-2.so.0 0x48268fa0 0x482884e8 Yes (*) /usr/lib/libgnomecanvas-2.so.0 0x4a733ea0 0x4a73eba8 Yes (*) /usr/lib/libgnome-2.so.0 0x47c62350 0x47c67b18 Yes (*) /lib/libpopt.so.0 0x47df82b0 0x47e28a58 Yes (*) /usr/lib/libbonobo-2.so.0 0x47e96050 0x47e9f208 Yes (*) /usr/lib/libbonobo-activation.so.4 0x47992d90 0x479ba7b8 Yes (*) /usr/lib/libORBit-2.so.0 0x48297350 0x482a93c8 Yes (*) /usr/lib/libart_lgpl_2.so.2 0x47a9ef00 0x47abc5c8 Yes (*) /usr/lib/libgconf-2.so.4 0x46c15f40 0x46c176b8 Yes (*) /lib/libgthread-2.0.so.0 0x4685f880 0x46863688 Yes (*) /lib/librt.so.1 0x47a1aea0 0x47a1bad8 Yes (*) /usr/lib/libgtkglext-x11-1.0.so.0 0x47f674c0 0x47f8d7a8 Yes (*) /usr/lib/libgdkglext-x11-1.0.so.0 0xb775a7a0 0xb77b0e68 Yes /home/chris/Programs/local-mesa/lib/libGLU.so.1 0xb7714b50 0xb7748398 Yes /home/chris/Programs/local-mesa/lib/libGL.so.1 0x476678f0 0x47676698 Yes (*) /usr/lib/libXmu.so.6 0x47525b40 0x475629e8 Yes (*) /usr/lib/libXt.so.6 0x46d55380 0x46d59d28 Yes (*) /usr/lib/libSM.so.6 0x46d61530 0x46d711e8 Yes (*) /usr/lib/libICE.so.6 0x46f8add0 0x47260ab8 Yes (*) /usr/lib/libgtk-x11-2.0.so.0 0x47a0f3f0 0x47a15208 Yes (*) /usr/lib/libpangox-1.0.so.0 0x468b7370 0x46948798 Yes (*) /usr/lib/libX11.so.6 0x46e9a250 0x46effc78 Yes (*) /usr/lib/libgdk-x11-2.0.so.0 0x473d31b0 0x473e02e8 Yes (*) /usr/lib/libatk-1.0.so.0 0x46b74ad0 0x46be0088 Yes (*) /lib/libgio-2.0.so.0 0x474d3420 0x474ee088 Yes (*) /usr/lib/libpangoft2-1.0.so.0 0x46d7e0f0 0x46d90908 Yes (*) /usr/lib/libgdk_pixbuf-2.0.so.0 0x4743c3d0 0x474414b8 Yes (*) /usr/lib/libpangocairo-1.0.so.0 0x473f80e0 0x4741a088 Yes (*) /usr/lib/libpango-1.0.so.0 0x46c8a3c0 0x46cf3528 Yes (*) /usr/lib/libfreetype.so.6 0x46d20f60 0x46d3ccc8 Yes (*) /usr/lib/libfontconfig.so.1 0x46b1c460 0x46b47898 Yes (*) /lib/libgobject-2.0.so.0 0x46b5cc30 0x46b5dd98 Yes (*) /lib/libgmodule-2.0.so.0 0x46a0ca20 0x46a8a328 Yes (*) /lib/libglib-2.0.so.0 0x47453210 0x474ad328 Yes (*) /usr/lib/libcairo.so.2 0x4858bf90 0x485aa008 Yes (*) /usr/lib/liblua-5.1.so 0x4683ba60 0x4683ca88 Yes (*) /lib/libdl.so.2 0x475bd620 0x4762c688 Yes (*) /usr/lib/libstdc++.so.6 0x46812420 0x4682c718 Yes (*) /lib/libm.so.6 0x474faf40 0x475131f8 Yes (*) /lib/libgcc_s.so.1 0x46846300 0x46851c28 Yes (*) /lib/libpthread.so.0 0x466af990 0x467bb4a0 Yes (*) /lib/libc.so.6 0x47eb5680 0x47ec1568 Yes (*) /usr/lib/libgnome-keyring.so.0 0x47845b00 0x4792b0d8 Yes (*) /usr/lib/libxml2.so.2 0x47683530 0x47694af8 Yes (*) /usr/lib/libdbus-glib-1.so.2 0x46e36230 0x46e623c8 Yes (*) /lib/libdbus-1.so.3 0x4a677e60 0x4a6af598 Yes (*) /usr/lib/libssl.so.10 0x4a517e80 0x4a5fb0a8 Yes (*) /usr/lib/libcrypto.so.10 0x47e89940 0x47e8aac8 Yes (*) /usr/lib/libavahi-glib.so.1 0x47d8b550 0x47d91818 Yes (*) /usr/lib/libavahi-common.so.3 0x47dc78e0 0x47dd0f48 Yes (*) /usr/lib/libavahi-client.so.3 0x46afd650 0x46b0bb48 Yes (*) /lib/libresolv.so.2 0x469e1190 0x469f23c8 Yes (*) /lib/libselinux.so.1 0x47c39a20 0x47c3a2c8 Yes (*) /lib/libutil.so.1 0x47ea9f70 0x47eadac8 Yes (*) /usr/lib/libgailutil.so.18 0x47dd9c50 0x47dda968 Yes (*) /usr/lib/libORBitCosNaming-2.so.0 0x46677830 0x4668ed0f Yes (*) /lib/ld-linux.so.2 0x47c3fad0 0x47c427a8 Yes (*) /usr/lib/libXxf86vm.so.1 0x46c777c0 0x46c78248 Yes (*) /usr/lib/libXdamage.so.1 0x46c7ce70 0x46c7f3a8 Yes (*) /usr/lib/libXfixes.so.3 0x47d014f0 0x47d06ba8 Yes (*) /usr/lib/libdrm.so.2 0x46c1ce60 0x46c1e998 Yes (*) /lib/libuuid.so.1 0x46889e80 0x46898608 Yes (*) /usr/lib/libxcb.so.1 0x46d9c2c0 0x46da2178 Yes (*) /usr/lib/libXrender.so.1 0x46dc0780 0x46dc1258 Yes (*) /usr/lib/libXinerama.so.1 0x46db7150 0x46dbbc38 Yes (*) /usr/lib/libXrandr.so.2 0x46e7be40 0x46e81458 Yes (*) /usr/lib/libXcursor.so.1 0x47447890 0x47448488 Yes (*) /usr/lib/libXcomposite.so.1 0x46c4f040 0x46c67f28 Yes (*) /lib/libexpat.so.1 0x46dd07a0 0x46e22e68 Yes (*) /usr/lib/libpixman-1.so.0 0x46dc5da0 0x46dc78d8 Yes (*) /lib/libcap-ng.so.0 0x44e54750 0x44e764d8 Yes (*) /lib/libgssapi_krb5.so.2 0x44e99e50 0x44efcf88 Yes (*) /lib/libkrb5.so.3 0x47976d10 0x47977928 Yes (*) /lib/libcom_err.so.2 0x44f497f0 0x44f64288 Yes (*) /lib/libk5crypto.so.3 0x4687ea00 0x4687f7f8 Yes (*) /usr/lib/libXau.so.6 0x44e81c60 0x44e861f8 Yes (*) /lib/libkrb5support.so.0 0x47a07860 0x47a07fc8 Yes (*) /lib/libkeyutils.so.1 0xb74c8a00 0xb74d00e8 Yes (*) /lib/libnss_files.so.2 0xb7478ad0 0xb749cc18 Yes (*) /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so 0xb77ca070 0xb77ca9d8 Yes (*) /usr/lib/gtk-2.0/modules/libpk-gtk-module.so 0xb74ec350 0xb74ecc98 Yes (*) /usr/lib/gconv/ISO8859-1.so 0x6f8d3350 0x6f8d3c98 Yes (*) /usr/lib/gconv/ISO8859-1.so 0x47ecb3c0 0x47ed52f8 Yes (*) /usr/lib/libcanberra.so.0 0x6ff72350 0x6ff72c98 Yes (*) /usr/lib/gconv/ISO8859-1.so 0x47d9aa10 0x47db0d48 Yes (*) /usr/lib/libvorbis.so.0 0x6ff7b350 0x6ff7bc98 Yes (*) /usr/lib/gconv/ISO8859-1.so 0xb744a610 0xb7453868 Yes (*) /usr/lib/libtdb.so.1 0xb7440a30 0xb7445458 Yes (*) /usr/lib/libltdl.so.7 0xb74d5350 0xb74d5c98 Yes (*) /usr/lib/gconv/ISO8859-1.so 0xb679bb60 0xb696fca8 Yes /home/chris/Programs/local-mesa/lib/dri/r300_dri.so 0xb6faed30 0xb6fb09d8 Yes (*) /usr/lib/libdrm_radeon.so.1 0xb73bd440 0xb73c0a58 Yes (*) /usr/lib/libtxc_dxtn.so (*): Shared library is missing debugging information. $1 = 0x951e0f8 "celestia: radeon_texture.c:703: radeon_store_teximage: Assertion `dstRowStride' failed.\n" No symbol "__glib_assert_msg" in current context. eax 0x0 0 ecx 0x66ee 26350 edx 0x6 6 ebx 0x66ee 26350 esp 0xbfd4a090 0xbfd4a090 ebp 0xbfd4a0a8 0xbfd4a0a8 esi 0x467d0a6f 1182599791 edi 0x46808ff4 1182830580 eip 0xb77e7424 0xb77e7424 <__kernel_vsyscall+16> eflags 0x206 [ PF IF ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x33 51 Dump of assembler code for function __kernel_vsyscall: 0xb77e7414 <__kernel_vsyscall+0>: push %ecx 0xb77e7415 <__kernel_vsyscall+1>: push %edx 0xb77e7416 <__kernel_vsyscall+2>: push %ebp 0xb77e7417 <__kernel_vsyscall+3>: mov %esp,%ebp 0xb77e7419 <__kernel_vsyscall+5>: sysenter 0xb77e741b <__kernel_vsyscall+7>: nop 0xb77e741c <__kernel_vsyscall+8>: nop 0xb77e741d <__kernel_vsyscall+9>: nop 0xb77e741e <__kernel_vsyscall+10>: nop 0xb77e741f <__kernel_vsyscall+11>: nop 0xb77e7420 <__kernel_vsyscall+12>: nop 0xb77e7421 <__kernel_vsyscall+13>: nop 0xb77e7422 <__kernel_vsyscall+14>: jmp 0xb77e7417 <__kernel_vsyscall+3> 0xb77e7424 <__kernel_vsyscall+16>: pop %ebp 0xb77e7425 <__kernel_vsyscall+17>: pop %edx 0xb77e7426 <__kernel_vsyscall+18>: pop %ecx 0xb77e7427 <__kernel_vsyscall+19>: ret End of assembler dump.
Is this a recent regression? If so, can you bisect it? I suspect one of the recent mipmap patches if so.
(In reply to comment #1) > Is this a recent regression? If so, can you bisect it? I suspect one of the > recent mipmap patches if so. My (admitted limited) git-fu says: a9ee95651131e27d5acf3d10909b5b7e5c8d3e92 is the first bad commit commit a9ee95651131e27d5acf3d10909b5b7e5c8d3e92 Author: Will Dyson <will.dyson@gmail.com> Date: Tue May 25 01:10:20 2010 -0400 Fix image_matches_texture_obj() MaxLevel check When generating or uploading a new (higher) mipmap level for an image, we can need to allocate a miptree for a level greater than texObj->MaxLevel. Signed-off-by: Maciej Cencora <m.cencora@gmail.com> Signed-off-by: Alex Deucher <alexdeucher@gmail.com> :040000 040000 4e72a3914fd8572238c211c806b19d274557d5a9 ff974b144171e820cf2c22af344905ba62dcd446 M src
(In reply to comment #2) > (In reply to comment #1) > > Is this a recent regression? If so, can you bisect it? I suspect one of the > > recent mipmap patches if so. > > My (admitted limited) git-fu says: > > a9ee95651131e27d5acf3d10909b5b7e5c8d3e92 is the first bad commit > commit a9ee95651131e27d5acf3d10909b5b7e5c8d3e92 > Author: Will Dyson <will.dyson@gmail.com> > Date: Tue May 25 01:10:20 2010 -0400 Crap. The driver really does allocate memory based on the maxlevel of the texture object. I've got an alternate patch though...
Created attachment 35898 [details] [review] Alternate patch for mipmap HW generation Contains a revert of the bad changes
(In reply to comment #4) > Created an attachment (id=35898) [details] > Alternate patch for mipmap HW generation > > Contains a revert of the bad changes Were people waiting on me to test this patch? (Couldn't anyone else reproduce the problem?) "Yes, it fixes it. Thanks."
Please commit this patch to Git repository. I know this is temporary fix, but if it is such a bad regression (and it is bad regression, at least for me Celestia is really important software), the bad change which causes it should be reverted immediately till the proper fix is released.
Fix pushed.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.