[Nouveau] [Bug 73459] New: nv10 get_rt_format: Assertion `0' failed.
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Jan 9 19:39:35 PST 2014
https://bugs.freedesktop.org/show_bug.cgi?id=73459
Priority: medium
Bug ID: 73459
Assignee: nouveau at lists.freedesktop.org
Summary: nv10 get_rt_format: Assertion `0' failed.
Severity: normal
Classification: Unclassified
OS: Linux (All)
Reporter: dnietoc at gmail.com
Hardware: x86 (IA32)
Status: NEW
Version: git
Component: Drivers/DRI/nouveau
Product: Mesa
Created attachment 91805
--> https://bugs.freedesktop.org/attachment.cgi?id=91805&action=edit
Test program which reproduces the crash
I found this error when trying to run DirectX programs in wine. During
initialization the following error is reported:
----------------------------------------------------
nv10_state_fb.c:51: get_rt_format: Assertion `0' failed.
----------------------------------------------------
Wine shows the following stack trace:
----------------------------------------------------
Backtrace:
=>0 0xb77c7424 __kernel_vsyscall+0x10() in [vdso].so (0x7c83e5f0)
1 0xb742b5f6 gsignal+0x45() in libc.so.6 (0x7c83e5f0)
2 0xb742cd83 abort+0x142() in libc.so.6 (0x7c83e5f0)
3 0xb7424877 __assert_fail_base+0x156() in libc.so.6 (0x7c83e5f0)
4 0xb7424927 __assert_fail+0x56() in libc.so.6 (0x7c83e5f0)
5 0x7d77b664 nv10_emit_framebuffer+0x683() in nouveau_vieux_dri.so
(0x7c83e5f0)
6 0x7d76ec47 nouveau_state_emit+0x46() in nouveau_vieux_dri.so
(0x7ca39ee8)
7 0x7d4b0646 _mesa_update_state_locked+0x195() in nouveau_vieux_dri.so
(0x00c10008)
8 0x7d4b0ce4 _mesa_update_state+0x23() in nouveau_vieux_dri.so
(0x00000000)
9 0x7d429cd8 _mesa_Clear+0x257() in nouveau_vieux_dri.so (0x00000000)
10 0x7e0db196 check_fbo_compat+0xacc(gl_info=0x1251a0, format=0x12eacc)
[/home/diego/floss/wine/dlls/wined3d/utils.c:1204] in wined3d (0x0032f748)
11 0x7e0dc625 init_format_fbo_compat_info+0x69a(gl_info=0x1251a0)
[/home/diego/floss/wine/dlls/wined3d/utils.c:1438] in wined3d (0x0032f7e8)
12 0x7e0de6c7 wined3d_adapter_init_format_info+0x7e(adapter=0x125190)
[/home/diego/floss/wine/dlls/wined3d/utils.c:1984] in wined3d (0x0032f818)
13 0x7e043952 wined3d_adapter_init+0x49f(adapter=0x125190, ordinal=0)
[/home/diego/floss/wine/dlls/wined3d/directx.c:5115] in wined3d (0x0032fc28)
14 0x7e043d87 wined3d_init+0xbc(wined3d=0x125180, version=0x8, flags=0x5)
[/home/diego/floss/wine/dlls/wined3d/directx.c:5190] in wined3d (0x0032fc58)
15 0x7e0ec0ca wined3d_create+0xd0(version=<couldn't compute location>,
flags=<couldn't compute location>)
[/home/diego/floss/wine/dlls/wined3d/wined3d_main.c:105] in wined3d
(0x0032fcc8)
16 0x7e162fdd d3d8_init+0x45(d3d8=0x122578)
[/home/diego/floss/wine/dlls/d3d8/directx.c:413] in d3d8 (0x0032fd08)
17 0x7e1575d1 Direct3DCreate8+0xb6(sdk_version=<couldn't compute
location>) [/home/diego/floss/wine/dlls/d3d8/d3d8_main.c:47] in d3d8
(0x0032fd68)
18 0x0042a55f in crimsonland (+0x2a55e) (0x0032fe20)
19 0x7b86353c call_process_entry+0xb() in kernel32 (0x0032fe38)
20 0x7b863689 start_process+0x14a(peb=<couldn't compute location>)
[/home/diego/floss/wine/dlls/kernel32/process.c:1097] in kernel32 (0x0032fe98)
21 0x7bc8557c call_thread_func_wrapper+0xb() in ntdll (0x0032feb8)
22 0x7bc855c5 call_thread_func+0x3e(entry=0x7b86353e, arg=0x7ffdf000,
frame=0x32ffb8) [/home/diego/floss/wine/dlls/ntdll/signal_i386.c:2602] in ntdll
(0x0032ff98)
23 0x7bc8555a call_thread_entry_point+0x11() in ntdll (0x0032ffb8)
24 0x7bc58ff6 start_process+0x23(kernel_start=0x7b86353e)
[/home/diego/floss/wine/dlls/ntdll/loader.c:2762] in ntdll (0x0032ffe8)
25 0xb75f6f8d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
26 0xb75f6f6b wine_switch_to_stack+0x2a(func=0x7bc58fd2, arg=0x7b86353e,
stack=0x330000) [/home/diego/floss/wine/libs/wine/port.c:59] in libwine.so.1
(0xbfb7d9c8)
27 0x7bc59323 LdrInitializeThunk+0x32c(kernel_start=<couldn't compute
location>, unknown2=<couldn't compute location>, unknown3=<couldn't compute
location>, unknown4=<couldn't compute location>)
[/home/diego/floss/wine/dlls/ntdll/loader.c:2818] in ntdll (0xbfb7da58)
28 0x7b863ecc __wine_kernel_init+0x67d()
[/home/diego/floss/wine/dlls/kernel32/process.c:1269] in kernel32 (0xbfb7e918)
29 0x7bc59b05 __wine_process_init+0x156()
[/home/diego/floss/wine/dlls/ntdll/loader.c:3027] in ntdll (0xbfb7e978)
30 0xb75f5800 wine_init+0x140(argc=0x2, argv=0xbfb7ee84, error="",
error_size=0x400) [/home/diego/floss/wine/libs/wine/loader.c:952] in
libwine.so.1 (0xbfb7e9b8)
31 0x7bf01144 main+0x11e(argc=0x2, argv=0xbfb7ee84)
[/home/diego/floss/wine/loader/main.c:237] in <wine-loader> (0xbfb7ede8)
32 0xb7416993 __libc_start_main+0xf2() in libc.so.6 (0x00000000)
----------------------------------------------------
To get some information about how get_rt_format was called I applied the
following patch to mesa:
----------------------------------------------------
commit ccd7c55c5ea814a431d592865de490527528ba51
Author: Diego Nieto Cid <dnietoc at gmail.com>
Date: Thu Dec 19 19:21:22 2013 -0300
Print format before assert.
diff --git a/src/mesa/drivers/dri/nouveau/nv10_state_fb.c
b/src/mesa/drivers/dri/nouveau/nv10_state_fb.c
index 87ae1d6..91b4ee7 100644
--- a/src/mesa/drivers/dri/nouveau/nv10_state_fb.c
+++ b/src/mesa/drivers/dri/nouveau/nv10_state_fb.c
@@ -47,6 +47,7 @@ get_rt_format(gl_format format)
case MESA_FORMAT_Z24_S8:
return NV10_3D_RT_FORMAT_DEPTH_Z24S8;
default:
+ printf("Unsupported format %d\n", format);
assert(0);
}
}
----------------------------------------------------
The output after running wine with the patched libraries now includes the
following line:
----------------------------------------------------
Unsupported format 16
----------------------------------------------------
Debugging wine I was able to get a trace of GL calls and I wrote a little GLUT
program which succesfully reproduce the crash. It's source file is attached to
the bug report.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20140110/d77daac4/attachment.html>
More information about the Nouveau
mailing list