Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash on 3.13.0-19 due to false libdbus and libxcb-dri (xcb_send_fd) usage. Not any single game startable. #3238

Closed
cookiengineer opened this issue Apr 4, 2014 · 1 comment

Comments

@cookiengineer
Copy link

It seems as the libdbus API is not correctly used. There are always the same warnings that prevent steam from launching or killing another process (forks, probably). It seems as the xcb_send_fd method is deprecated as the symbol isn't found in the current library.

Please note that the whole OS relies on the libxcb-dri2-0 package, as the xorg depends on it. So there's no way to test out the behaviour of the old one compared to the new without garbaging the installation.

Installed libxcb-dri3-0 library

christoph@c2de:~$ sudo aptitude show libxcb-dri3-0
Package: libxcb-dri3-0                   
New: yes
State: installed
Automatically installed: yes
Multi-Arch: same
Version: 1.10-2ubuntu1
Priority: optional
Section: libs
Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com>
Architecture: amd64
Uncompressed Size: 52,2 k
Depends: libc6 (>= 2.2.5), libxcb1 (>= 1.9.2)
PreDepends: multiarch-support
Breaks: libxcb-dri3-0 (!= 1.10-2ubuntu1)
Replaces: libxcb-dri3-0 (< 1.10-2ubuntu1)
Description: X C Binding, dri3 extension

Symbols of libxcb-dri3.so.0

christoph@c2de:~$ nm -D /usr/lib/i386-linux-gnu/libxcb-dri3.so.0
00003030 B __bss_start
         w __cxa_finalize
00003030 D _edata
00003034 B _end
000012a8 T _fini
         w __gmon_start__
000008ac T _init
         w _ITM_deregisterTMCloneTable
         w _ITM_registerTMCloneTable
         w _Jv_RegisterClasses
00000eb0 T xcb_dri3_buffer_from_pixmap
00000f90 T xcb_dri3_buffer_from_pixmap_reply
00000fc0 T xcb_dri3_buffer_from_pixmap_reply_fds
00000f20 T xcb_dri3_buffer_from_pixmap_unchecked
00001140 T xcb_dri3_fd_from_fence
00001240 T xcb_dri3_fd_from_fence_reply
00001270 T xcb_dri3_fd_from_fence_reply_fds
000011c0 T xcb_dri3_fd_from_fence_unchecked
000010a0 T xcb_dri3_fence_from_fd
00001000 T xcb_dri3_fence_from_fd_checked
00003028 D xcb_dri3_id
00000ba0 T xcb_dri3_open
00000ca0 T xcb_dri3_open_reply
00000cd0 T xcb_dri3_open_reply_fds
00000c20 T xcb_dri3_open_unchecked
00000de0 T xcb_dri3_pixmap_from_buffer
00000d10 T xcb_dri3_pixmap_from_buffer_checked
00000a70 T xcb_dri3_query_version
00000b70 T xcb_dri3_query_version_reply
00000af0 T xcb_dri3_query_version_unchecked
         U xcb_get_reply_fds
         U xcb_send_fd
         U xcb_send_request
         U xcb_wait_for_reply

Bug Behaviour

First, I launched steam. After the update verification, I needed to go to Add Friend > Library > Linux Games > Condition Zero. Starting the game results in the following log (cutted down):

ExecCommandLine: "/home/christoph/.steam/root/ubuntu12_32/steam steam://open/driverhelperready"
ExecSteamURL: "steam://open/driverhelperready"
OnFocusWindowChanged to window type: k_EWindowTypeNonSteamDesktop, 0
CAPIJobRequestUserStats - Server response failed 2
OnFocusWindowChanged to window type: k_EWindowTypeSteamDesktop, 0
Generating new string page texture 96: 256x256, total string texture memory is 262,14 KB
Generating new string page texture 97: 256x256, total string texture memory is 1,22 MB
Generating new string page texture 106: 128x256, total string texture memory is 393,22 KB
Generating new string page texture 121: 128x256, total string texture memory is 1,35 MB
Generating new string page texture 122: 512x256, total string texture memory is 1,88 MB
Generating new string page texture 123: 128x256, total string texture memory is 2,01 MB
Generating new string page texture 147: 2048x256, total string texture memory is 4,10 MB
Generating new string page texture 148: 1024x256, total string texture memory is 5,15 MB
Game update: AppID 80 "Counter-Strike: Condition Zero", ProcID 3915, IP 0.0.0.0:0
CGameStreamThread: Added instance ID 3915 for appid 80
CGameStreamThread: Set render instance ID 3915 for appid 80
Could not load hw.so.
Please try again at a later time.Error:/usr/lib/i386-linux-gnu/libxcb-dri3.so.0: undefined symbol: xcb_send_fd
Game removed: AppID 80 "Counter-Strike: Condition Zero", ProcID 3915 

(steam:3818): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:3818): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

It seems as you have implemented a queue stack that a loop tries to work on. This queue fails and runs into exactly 42 process kill trials.

debug log (stdout):

http://pastebin.com/LXfWSZHK

strace log:

http://pastebin.com/9CrLX1Xp

(generated via:)

(strace steam) &> steam_strace.log
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants