← Back to team overview

mudlet-makers team mailing list archive

[Bug 1035747] Re: Too large room IDs eat too much memory

 

Using the hashes is fairly simple - see
http://wiki.mudlet.org/w/Manual:Mapper_Functions#getRoomIDbyHash. You'd
want to use Mudlet's createRoomID() function which generates incremental
room IDs for you instead, and assign the in-game room number to the
created ID with setRoomIDbyHash(). Then you can use getRoomIDbyHash()
with the in-game room ID to get the Mudlet room ID back.

-- 
You received this bug notification because you are a member of Mudlet
Makers, which is subscribed to Mudlet.
https://bugs.launchpad.net/bugs/1035747

Title:
  Too large room IDs eat too much memory

Status in Mudlet the MUD client:
  Invalid

Bug description:
  Double-clicking on a room in the attached map will cause Mudlet to eat
  up all memory (indefinitely). This is using current SF git.

  
  double click x=370 y=491
  Qt has caught an exception thrown from an event handler. Throwing
  exceptions from an event handler is not supported in Qt. You must
  reimplement QApplication::notify() and catch all exceptions there.

  terminate called after throwing an instance of 'std::bad_alloc'
    what():  std::bad_alloc

  Program received signal SIGABRT, Aborted.
  0x00007ffff4783445 in __GI_raise (sig=<optimised out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
  64	../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
  (gdb) bt
  #0  0x00007ffff4783445 in __GI_raise (sig=<optimised out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
  #1  0x00007ffff4786bab in __GI_abort () at abort.c:91
  #2  0x00007ffff50d169d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
  #3  0x00007ffff50cf846 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
  #4  0x00007ffff50cf873 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
  #5  0x00007ffff50cf9b6 in __cxa_rethrow () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
  #6  0x00007ffff59c916c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
  #7  0x00007ffff59cdf67 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
  #8  0x0000000000431564 in main ()
  (gdb) 

  
  vadi@gooseberry:~$ pmap -x 3696
  3696:   /home/vadi/Programs/Mudlet2/sf/src/mudlet
  Address           Kbytes     RSS   Dirty Mode   Mapping
  0000000000400000       0       8       0 r-x--  mudlet
  0000000000a42000       0       4       4 r----  mudlet
  0000000000a44000       0      16      16 rw---  mudlet
  0000000000a48000       0   78412   78412 rw---    [ anon ]
  0000000040000000       0     488     488 rw---    [ anon ]
  00007ffe172de000       0 5369596 5369596 rw---    [ anon ]
  00007fff98000000       0      16      16 rw---    [ anon ]
  [...]
  00007ffff7ff1000       0       0       0 r----  libc.mo
  00007ffff7ff2000       0       0       0 r--s-  gconv-modules.cache
  00007ffff7ff9000       0       8       8 rw---    [ anon ]
  00007ffff7ffb000       0       4       0 r-x--    [ anon ]
  00007ffff7ffc000       0       4       4 r----  ld-2.15.so
  00007ffff7ffd000       0       8       8 rw---  ld-2.15.so
  00007ffffffb9000       0     280     280 rw---    [ stack ]
  ffffffffff600000       0       0       0 r-x--    [ anon ]
  ----------------  ------  ------  ------
  total kB         7766656 5490144 5480236

To manage notifications about this bug go to:
https://bugs.launchpad.net/mudlet/+bug/1035747/+subscriptions


References