#27 Connect to secondary character terminates kildclient

v1.0 (example)
pending
None
5
2013-05-10
2010-05-06
Maki
No

When connecting to a secondary character on the same MU* environment as another, kildclient 2.9.0 reports the following error when run through terminal;

$ kildclient
Use of uninitialized value $_[0] in concatenation (.) or string at (eval 3) line 1.
Can't locate package Encode::Encoding for @Encode::utf8::ISA at (eval 3) line 1.
Can't locate package Encode::Encoding for @Encode::utf8::ISA at (eval 3) line 1.
Can't locate object method "renewed" via package "Encode::utf8" (perhaps you forgot to load "Encode::utf8"?) at (eval 3) line 1.
Use of uninitialized value $_[0] in concatenation (.) or string at (eval 3) line 1.
Can't locate object method "renewed" via package "Encode::utf8" (perhaps you forgot to load "Encode::utf8"?) at (eval 3) line 1.

Discussion

  • Do you have any plugins loaded? If so, does the same happen if you try the two connections without the plugins?

     
  • Maki
    Maki
    2010-06-12

    I don't have any plugins loaded, no.
    I didn't even know plugins could be added to kildclient.. so have not explored that.

     
  • Since it's complaing about not finding package Encode::Encoding, do you have a file Encoding.pm somewhere in your system (mine is at /usr/lib/perl/5.10.1/Encode/Encoding.pm, but yours might be somewhere else)?

     
  • Maki
    Maki
    2010-06-13

    I don't know about any file named Encoding.pm. I'm asking my wife, who's a lot better with linux programs and helps with a lot of development. Will reply again when I know more.

     
  • You can just run this command

    $ find /usr -name Encoding.pm

    and post the output. That will search the system for that file.

     
  • Maki
    Maki
    2010-06-13

    # find /usr -name Encoding.pm
    /usr/lib64/perl5/5.10.1/x86_64-linux/Encode/Encoding.pm

     
  • So the file is there, and you're using the same version as I.

    I can't really think of a cause, but let me make this sure: this happens even if you create a new world with no customizations whatsoever, right?

    Also, if a core dump is generated it would be useful to include it here to help debugging, or at least run the program under a debugger to get a stack trace.

     
    • assigned_to: nobody --> ekalin
     
  • Maki
    Maki
    2010-06-14

    I don't know if I have a debugger. Never used one. I'm on gentoo linux, so can probably emerge one if I know the name to use.

    And yeah, no matter whether I use another character under the same world, or use a character under another world, or make a new world and connect to a new character.. any time I try to make a secondary connection it crashes.

     
  • It's been almost a year, does this happen? If so, can you provide more info?

     
    • status: open --> pending
     
  • Maki
    Maki
    2011-04-17

    Yes, this still happens with Kildclient 2.9.0 on Gentoo Linux.

    If you need more information, please let me know how to provide more information.
    I don't know how to provide more information than what I have already given.

     
  • Maki
    Maki
    2011-04-17

    As an added insult to injury; Kildclient disconnects from any active sessions when it pops up the "connect to another" session chooser.

     
  • I was thinking more along the line of whether it still happens with the latest version of KildClient and of the OS and its libraries.

    Since I cannot reproduce any problem here, I'd need the same I already asked: at least a stack trace. There are instructions on doing that on the web if you don't know, but basically just install gdb, run "gdb kildclient", at gdb's prompt enter "r" to run the program, make it crash, then enter "bt full". KildClient has to be compiled with debugging symbols, but on gentoo that should be easy to do.

     
  • Maki
    Maki
    2011-04-18

    gdb stacktrace of kildclient crash - 2011-04-18

     
  • Maki
    Maki
    2011-04-18

    Stacktrace added.

     
    • status: pending --> open
     
  • OK, that's exactly what I asked for. It didn't give me many ideas, though. Meanwhile, it would be interesting if you upgraded perl and its library to the latest version (and preferably KildClient also) to see if the problem persists, because I still cannot reproduce it here.

     
  • This may end up on gentoo's bugtracker. I'm not entirely sure whether it's our bug (Gentoo) or yours (Upstream). I can't reproduce the bug in another distro I have handy, but I can reproduce it in Gentoo with the latest versions of perl (5.12.3) and of kildclient (2,11.0) but cannot produce an informative backtrace, gdb simply reports 'Empty stack'.

     
  • The crash does not happen in KildClient itself, but in the perl library. Of course, that does not mean the problem is not in KC; if it provides invalid data the library might crash.

    However, since the data passed should be the same whenever a world is opened (be it the first one or some other opened later), and that it seems to happen only in Gentoo, it is indeed possible that it's a bug in Gentoo.

     
  • Since maki can generate a backtrace currently and I cannot, I will wait for her to produce a backtrace using recent libs, and ask her to recompile perl with debug info as well. Once that is done, I shall open a bug on Gentoo's bugzilla as we try to figure out where this bug is.

     
    • Maki
      Maki
      2013-05-23

      I don't think this ever happened.

       
    • status: open --> pending
    • Group: --> v1.0 (example)
     
  • Does this still happen?

     
    • Maki
      Maki
      2013-05-23

      I stopped using kildclient in favor of potato.
      The last time I used kildclient, this bug was still present.