Jump to content
  • 0

Linux Launcher issue - Tekkit SMP freezes, takes Xorg with it, need to restart X every time


Question

Posted

Title: Tekkit SMP freezes, takes Xorg with it, need to restart X every time

Version: 3.1.1

OS: Linux 3.4.7-1-ARCH #1 SMP PREEMPT Sun Jul 29 22:02:56 CEST 2012 x86_64 GNU/Linux

Java Version: jre6 6u33-b04

Description of Problem:

After a few minutes or so of SMP play, Tekkit freezes up and takes input with it -- can't switch out of X window using keyboard commands (Ctrl+Alt+f1).

* Tried Oracle jre7, but I can't even type my username and password into the Technic launcher. The fields are unselectable. Oracle jre6 gets passed this and I can get into the game.

* Tried removing .techniclauncher and redownloading all.

* Tried updating nvidia proprietary driver to latest (302.17-4)

After X crashed, I can still log into my host from another and issue a kill on X. Everything closes fine. I remove /tmp/.X11-unix/X0 and run a startx. The weird thing is, even though the old X is completely gone and no sockets are lingering, it creates my display on :1 instead of :0. This isn't a problem -- I just re export DISPLAY and I can start tekkit up again, but it will eventually lock up again. I will rinse and repeat until I've had enough for one night. Each time after the first crash it never listens on DISPLAY :0. It always starts on :1 until I reboot.

Error Messages:

None at all, X completely lock

Error Log:


I need help generating some log.  When I try running techniclauncher from the command line it automatically reboots and detatches from my terminal and the console pipe closes if I try:



java -Xmx3072m -classpath /home/velusip/bin/technic-launcher-latest.jar org.spoutcraft.launcher.Main

3-Aug-2012 6:30:27 PM org.spoutcraft.launcher.Util log

WARNING: Rebooting with [java, -Xmx3072m, -classpath, /home/velusip/bin/technic-launcher-latest.jar, org.spoutcraft.launcher.Main]

10 answers to this question

Recommended Posts

  • 0
Posted

Go back to JRE 7. Did you pick a mod pack? If you don't, the inputs will be grayed out.

Hello Torezu,

Thanks for responding.

* I switched back to the latest JRE7 to test your theory.

* The modpack is selected. I clicked it to make sure. (the dropdown menu works fine)

* The username and password fields are not grayed out nor did they change from selecting the pack.

* I tried selecting a different pack, no change, then went back to tekkit.

The textfields are not selectable/editable.

* I'm trying to tab through the various input fields (dropdowns, buttons, text fields) but tab doesn't do anything to the technic-launcher interface.

* The window is not getting focus, but since I can interact by clicking the dropdown menus and buttons, X11 input is getting passed to the window with x,y coordinate data...so that's a start. X has some control here.

* Trying to paste auth credentials directly under mouse pointer from X11 clipboard -- aha! I can. So I can log in.

However, the window focus issue persists in-game. The Minecraft window is not holding focus, so the game is stuck in the Game Menu with the Back to Game button et cetera. I click on those buttons, but it stays in the Game Menu as it should when the game window lost focus (tabbing out, et cetera).

* I'm going to see if this occurs with vanilla Minecraft before I waste any more of your time.

* Nope, vanilla works fine, so it has something to do with the way technic-launcher establishes an environment.

* Please move this thread into the Technic-launcher bugs forum. I'll continue testing.

I wonder if this has anything to do with my window manager / Java incompatibility. I've previously set my window manager to masquerade as LG3D to avoid another unrelated conflict.

* I'll try setting it back to Xmonad and see if that has an effect. Recompiling xmonad.hs config.

* Okay, now technic-launcher loads a blank/gray window.

* However, when I mouse-over the auth cred fields I see my mouse cursor switch to the text input icon, so it's still "there".

* I will try logging in for kicks.

* Still the same focus problem -- stuck in Game Menu.

However, a happy resolve (sort of) if I hit F11 to fullscreen, the focus issued go away (obviously). So I am able to play with JRE7, in spite of it being a pain to log in blindly.

Summary:

Unable to hand off window focus to Techniclauncher with JRE7 + a non-recognized, non-reparenting window manager in an X11 desktop.

Here is some related reading material: http://www.haskell.org/haskellwiki/Xmonad/Frequently_asked_questions#Problems_with_Java_applications.2C_Applet_java_console

  • 0
Posted

Yeah, this is a bit beyond my knowledge base. Sorry. I'll yank it over to Launcher bugs, but it looks a bit more OS-specific than that. Maybe somebody more familiar with Linux than I will see this.

*Yoink*

  • 0
Posted

Okay, thanks! I couldn't find a list of system prerequisites for technic-launcher, so I'm glad you told me to use JRE7.

I played tekkit for a bit for the first time using JRE7. It did eventually lock up all the same as before. I'm going to delete everything and try again before continuing with the troubleshooting.

I still need help keeping technic-launcher from " rebooting" itself and detatching itself from the terminal so I can log the output.

Can someone help me with that? As in my original post:

java -Xmx3072m -classpath /home/velusip/bin/technic-launcher-latest.jar org.spoutcraft.launcher.Main

3-Aug-2012 6:30:27 PM org.spoutcraft.launcher.Util log

WARNING: Rebooting with [java, -Xmx3072m, -classpath, /home/velusip/bin/technic-launcher-latest.jar, org.spoutcraft.launcher.Main]

  • 0
Posted

Maybe I'll clarify what I need help with:

Problem 1:

When I try to invoke tekkit on the command line, it insists on relaunching itself with particular arguments -- even if I pass these arguments in myself. When it relaunches I can't pipe the stdout to a file for logging. I would consider this a pretty major problem because I need to see the java errors when it crashes.

* Testing environment variable for logging: SERVER_LOG_ROOT

* There are some debug and tracing options controlled via the -XX flag, so perhaps I can mask by java executable with these flags.

* I'll give it a shot. http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html#DebuggingOptions

* -XX:ErrorFile=

* I created a little alias that adds these flags, so that's good, now on to the other problem.

Problem 2:

The technic-launcher GUI will not take focus from the window manager.

* I can input my username and password into the text fields via X11's clipboard, but I can't actually type into those fields

* I can press buttons, but since the window immediately loses focus, I can't "unpress" buttons, like the login. It's as if I pressed it, then moved the mouse away from the button.

* This problem does not occur with vanilla minecraft launcher, only technic-launcher.

Is the sourcecode for this launcher available in a repository anywhere? I could fix this myself.

  • 0
Posted

Okay.

After a lot of searching and fiddling with Xmonad config I found a patch in Xmonad contrib that fixes the issue. The problem is a nonstandard focus model used by Xmonad, but this patch provides the rest of the standard. I can now interact with Java Swing-based GUIs using Xmonad.

http://code.google.com/p/xmonad/issues/detail?id=177

see: http://code.google.com/p/xmonad/issues/detail?id=177#c56

I'll leave my config here for future generations to pick at:

  • 0
Posted

This forum hates me, trying again:


import XMonad

import XMonad.Hooks.DynamicLog

import XMonad.Hooks.ManageDocks

import XMonad.Layout

import XMonad.Layout.NoBorders ( noBorders, smartBorders )

import XMonad.Util.Run(spawnPipe)

import XMonad.Util.EZConfig(additionalKeysP)

import System.IO

 

import XMonad.Hooks.EwmhDesktops

import XMonad.Hooks.SetWMName

import XMonad.Hooks.ICCCMFocus

 

myTerminal = "urxvt"

myBorderWidth = 1

myNormalBorderColour = "#000000"

myFocusedBorderColour = "#c050f0" -- purplish

myModMask = mod4Mask -- Finland key

myFocusFollowsMouse = True

myManageHook = manageDocks <+> manageHook defaultConfig

myLayout = avoidStruts $ smartBorders tiled ||| smartBorders (Mirror tiled) ||| noBorders Full

    where

        tiled = Tall nmaster delta tiled_ratio

        nmaster = 1

        delta = 3/100

        tiled_ratio = 1/2

myStartupHook = setWMName "LG3D" -- deek

 

-- media keysyms

-- XF86AudioNext = 0x1008ff17

-- XF86AudioPlay = 0x1008ff14

-- XF86AudioPrev = 0x1008ff16

-- XF86AudioStop = 0x1008ff15

-- XF86AudioRaiseVolume = 0x1008ff13

-- XF86AudioLowerVolume = 0x1008ff11

-- XF86Reload = 0x1008ff73

-- XF86Forward = 0x1008ff27

-- XF86Back = 0x1008ff26

 

 

main = do

    xmproc <- spawnPipe "/usr/bin/xmobar /home/velusip/.xmobarrc"

    xmonad $ defaultConfig {

        terminal = myTerminal,

        borderWidth = myBorderWidth,

        normalBorderColor = myNormalBorderColour,

        focusedBorderColor = myNormalBorderColour,

        modMask = mod4Mask,

        focusFollowsMouse = myFocusFollowsMouse,

 

        -- hooks

        manageHook = myManageHook,

        logHook = do

            takeTopFocus

            dynamicLogWithPP $ xmobarPP

                { ppOutput = hPutStrLn xmproc

                , ppTitle = xmobarColor "green" "" . shorten 50

                }

        , startupHook = myStartupHook

        , layoutHook = myLayout

        } `additionalKeysP`

            [ ("M-S-x", spawn "slock")

            , ("M-b", sendMessage ToggleStruts)

            , ("<XF86AudioNext>", spawn "cmus-remote --next")

            , ("<XF86AudioPlay>", spawn "cmus-remote --pause")

            , ("<XF86AudioPrev>", spawn "cmus-remote --prev")

            , ("<XF86AudioStop>", spawn "cmus-remote --stop")

            , ("<XF86AudioRaiseVolume>", spawn "cmus-remote --volume +10%")

            , ("<XF86AudioLowerVolume>", spawn "cmus-remote --volume -10%")

            , ("<XF86Reload>", spawn "cmus-remote --shuffle")

            , ("<XF86Forward>", spawn "cmus-remote --seek +5")

            , ("<XF86Back>", spawn "cmus-remote --seek -5")

            ]

 

lol

  • 0
Posted

Interesting. This hack to implement the ICCCM focus standard works with Java Swing from jre6, but not correctly/all the time with jre7. It's a known problem and there has been no development toward a fix.

I'm just going to try jre6 for a while and see if I can at least get a few crash logs.

  • 0
Posted

i'm experiencing the same behavior with the vanilla client. i have not evaluated if the solution works for me, but a tip to all those stuck with the same problem: simultaneously press alt+print+r. this releases the keyboard lock held by x, and you can alt+ctrl+f1 to a terminal. also, connecting an external keyboard worked for me.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...