On Mon, Jan 29, 2018 at 15:23:28 +0100, Thomas Robers wrote:
Any idea what the problem could be? Is there anything more i could do to encircle the problem? Or perhaps is the information i provided uncomplete?
Sorry for the delay... your mail scrolled off the screen in my INBOX and then I forgot about it.
The good news is that I have a general idea what is happening. The bad news is, it's not a trivial fix. The ACL code is *far* from efficient. It has never gotten any real optimizations, so the code is a bit memory hungry. Your heavy use of acls and shared mailboxes just happens to run that code enough times that it chews through the 128MB limit.
You could increase the vsz_limit for the imap service [1] to something higher than 128MB, but that'll eventually break if you create more mailboxes/share them, and it allows imap processes to use more of the servers RAM.
If I had the time to work on it, I'd try to implement a replacement acl format to use instead of vfile. I'd probably try to base it on top of dovecot dictionaries [2], so that it could use existing key-value storages. This should make acl handling faster since the entries could be modified "in place" (instead of having to reconstruct the whole file)... or at least it should make it possible to change the acl code to do these improvements.
Then, the acl setting would be as flexible as the acl_shared_dict setting.
Jeff.
[1] https://wiki2.dovecot.org/Services?highlight=(vsz_limit)#Service_limits [2] https://wiki2.dovecot.org/Dictionary
Am 25.01.2018 um 16:24 schrieb Thomas Robers:
Hi,
Am 24.01.2018 um 23:39 schrieb Josef 'Jeff' Sipek:
It looks like the binaries are stripped. There should be a "debug" package you can install with symbol information. Then, the backtrace should be much more helpful.
I installed the debug package and the backtrace now is:
--- snip --- (gdb) bt full #0 0x00007f73f1386495 in raise () from /lib64/libc.so.6 No symbol table info available. #1 0x00007f73f1387c75 in abort () from /lib64/libc.so.6 No symbol table info available. #2 0x00007f73f17ab822 in mem_block_alloc (min_size=520) at data-stack.c:356 block = <value optimized out> prev_size = <value optimized out> alloc_size = 134217728 #3 0x00007f73f17abc18 in t_malloc_real (size=<value optimized out>, permanent=true) at data-stack.c:415 block = <value optimized out> ret = <value optimized out> alloc_size = 520 #4 0x00007f73f17abdeb in t_malloc0 (size=513) at data-stack.c:468 mem = <value optimized out> #5 0x00007f73f17a95dd in p_malloc (buf=0x7f73ebdcef28, size=513) at mempool.h:99 No locals. #6 buffer_alloc (buf=0x7f73ebdcef28, size=513) at buffer.c:34 __func__ = "buffer_alloc" #7 0x00007f73f17a967b in buffer_create_dynamic (pool=<value optimized out>, init_size=512) at buffer.c:143 buf = 0x7f73ebdcef28 #8 0x00007f73f17a803b in backtrace_get (backtrace_r=0x7ffd0ddd8358) at backtrace-string.c:86 str = <value optimized out> #9 0x00007f73f17af1da in default_fatal_finish (type=<value optimized out>, status=0) at failures.c:221 backtrace = <value optimized out> recursed = 1 #10 0x00007f73f17af766 in i_internal_fatal_handler (ctx=0x7ffd0ddd83a0, format=<value optimized out>, args=<value optimized out>) at failures.c:718 status = 0 #11 0x00007f73f1723e11 in i_panic (format=0x1310 <Address 0x1310 out of bounds>) at failures.c:306 ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0, timestamp_usecs = 0, log_prefix = 0x0} args = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7ffd0ddd84a0, reg_save_area = 0x7ffd0ddd83e0}} #12 0x00007f73f17ab83a in mem_block_alloc (min_size=512) at data-stack.c:360 block = <value optimized out> prev_size = <value optimized out> alloc_size = 134217728 #13 0x00007f73f17abc18 in t_malloc_real (size=<value optimized out>, permanent=false) at data-stack.c:415 block = <value optimized out> ret = <value optimized out> alloc_size = 512 #14 0x00007f73f17abd3b in t_buffer_get (size=512) at data-stack.c:543 ret = 0x0 #15 0x00007f73f17e1d60 in vstrconcat (str1=0x7f73ebdceeb0 "/export/home/imap/bill@tutech.de/Maildir/.bla_blub.foo_bar.John Doe", args=0x7ffd0ddd8550, ret_len=0x7ffd0ddd8570) at strfuncs.c:183 str = 0x7f73ebdceeb0 "/export/home/imap/bill@tutech.de/Maildir/.bla_blub.foo_bar.John Doe" temp = <value optimized out> bufsize = 512 i = <value optimized out> len = <value optimized out> __func__ = "vstrconcat" #16 0x00007f73f17b7d03 in i_strconcat (str1=0x7f73ebdceeb0 "/export/home/imap/bill@tutech.de/Maildir/.bla_blub.foo_bar.John Doe") at imem.c:65 temp = <value optimized out> _data_stack_cur_id = 5 args = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 0x7ffd0ddd8650, reg_save_area = 0x7ffd0ddd8580}} ret = <value optimized out> len = <value optimized out> __func__ = "i_strconcat" #17 0x00007f73f0b1fa39 in acl_backend_vfile_object_init (_backend=0x7f73f255c498, name=0x7f73ebdceda8 "bla_blub.foo_bar.John Doe") at acl-backend-vfile.c:169 _data_stack_cur_id = 4 backend = 0x7f73f255c498 aclobj = 0x7f73f25b5420 dir = <value optimized out> vname = 0x7f73ebdcee68 "shared/bill@tutech.de/bla_blub/foo_bar/John Doe" error = 0x0 #18 0x00007f73f0b20740 in acllist_append (backend=0x7f73f255c498) at acl-backend-vfile-acllist.c:187 iter = 0x0 ret = <value optimized out> aclobj = 0x0 rights = {id_type = ACL_ID_USER, identifier = 0x7f73f25c7930 "betty@tutech.de", rights = 0x7f73f25c7948, neg_rights = 0x0, global = false} acllist = {mtime = 1512404820, name = 0x7f73f26369b8 "bla_blub.foo_bar.Some_Text&AOQ-ge"} name = 0x7f73ebdceda8 "bla_blub.foo_bar.John Doe" #19 acl_backend_vfile_acllist_try_rebuild (backend=0x7f73f255c498) at acl-backend-vfile-acllist.c:278 list = <value optimized out> ns = 0x7f73f2547fd0 iter = 0x7f73f25aad48 type = MAILBOX_LIST_PATH_TYPE_DIR info = <value optimized out> rootdir = 0x7f73f255bf58 "/export/home/imap/bill@tutech.de/Maildir" acllist_path = <value optimized out> output = 0x7f73f27d9990 st = {st_dev = 140135963676352, st_ino = 140135948493088, st_nlink = 8192, st_mode = 333072, st_uid = 0, st_gid = 4068358896, __pad0 = 32627, st_rdev = 8192, st_size = 140135948493088, st_blksize = 140135945267666, st_blocks = 139, st_atim = {tv_sec = 8192, tv_nsec = 8192}, st_mtim = {tv_sec = 0, tv_nsec = 34}, st_ctim = {tv_sec = 34, tv_nsec = 140135965564672}, __unused = {140135949466998, 140135966284032, 140135949496358}} perm = {file_uid = 10000, file_gid = 10000, file_create_mode = 384, dir_create_mode = 448, file_create_gid = 4294967295, file_create_gid_origin = 0x7f73f255c3a8 "/export/home/imap/bill@tutech.de/Maildir", gid_origin_is_mailbox_path = false, mail_index_permissions_set = false} path = 0x7f73eb9a52a8 fd = 17 ret = 0 __func__ = "acl_backend_vfile_acllist_try_rebuild" #20 0x00007f73f0b20b7d in acl_backend_vfile_acllist_rebuild (backend=0x7f73f255c498) at acl-backend-vfile-acllist.c:332 acllist_path = <value optimized out> #21 0x00007f73f0b21569 in acl_backend_vfile_object_update (_aclobj=0x7f73f2568ef0, update=0x7ffd0ddd89b0) at acl-backend-vfile-update.c:258 aclobj = 0x7f73f2568ef0 backend = 0x7f73f255c498 validity = <value optimized out> dotlock = 0x0 ut = {actime = 16, modtime = 0} orig_mtime = 1516713792 path = 0x7f73f274bfd0 "shared/bill@tutech.de/bla_blub/foo_bar/John Doe" i = 11 fd = 17 __func__ = "acl_backend_vfile_object_update" #22 0x00007f73f0b24bd8 in acl_mailbox_copy_acls_from_parent (box=0x7f73f25514d8, update=0x0, directory=<value optimized out>) at acl-mailbox.c:108 abox = 0x7f73f2551be8 alist = <value optimized out> iter = 0x7f73f24f7fe8 parent_aclobj = 0x7f73f25bab90 update = {rights = {id_type = ACL_ID_USER, identifier = 0x7f73f25e2398 "mailadmin", rights = 0x7f73f25e23f0, neg_rights = 0x7f73f25e24a8, global = false}, modify_mode = ACL_MODIFY_MODE_REPLACE, neg_modify_mode = ACL_MODIFY_MODE_REPLACE, last_change = 0} #23 acl_mailbox_create (box=0x7f73f25514d8, update=0x0, directory=<value optimized out>) at acl-mailbox.c:151 ---Type <return> to continue, or q <return> to quit--- abox = <value optimized out> ret = 0 #24 0x00007f73f1aa1973 in mailbox_create (box=0x7f73f25514d8, update=0x0, directory=false) at mail-storage.c:1535 ret = <value optimized out> #25 0x00007f73f1fd1654 in cmd_create (cmd=0x7f73f24e9fc8) at cmd-create.c:42 ns = 0x7f73f2547fd0 mailbox = 0x7f73f24c22c0 "shared/bill@tutech.de/bla_blub/HUU/HUU117 - some More-text/USE/im Gespräch" orig_mailbox = <value optimized out> box = 0x7f73f25514d8 directory = <value optimized out> len = 107 #26 0x00007f73f1fde585 in command_exec (cmd=0x7f73f24e9fc8) at imap-commands.c:201 hook = 0x7f73f24cb940 finished = <value optimized out> __func__ = "command_exec" #27 0x00007f73f1fdb7b0 in client_command_input (cmd=0x7f73f24e9fc8) at imap-client.c:1124 client = 0x7f73f24e8a28 command = <value optimized out> __func__ = "client_command_input" #28 0x00007f73f1fdb848 in client_command_input (cmd=0x7f73f24e9fc8) at imap-client.c:1187 client = 0x7f73f24e8a28 command = <value optimized out> __func__ = "client_command_input" #29 0x00007f73f1fdbc35 in client_handle_next_command (client=0x7f73f24e8a28) at imap-client.c:1229 No locals. #30 client_handle_input (client=0x7f73f24e8a28) at imap-client.c:1243 _data_stack_cur_id = 3 ret = 80 remove_io = false handled_commands = false __func__ = "client_handle_input" #31 0x00007f73f1fdc17e in client_input (client=0x7f73f24e8a28) at imap-client.c:1289 cmd = <value optimized out> output = 0x7f73f24fcdb0 bytes = 121 __func__ = "client_input" #32 0x00007f73f17c5ec5 in io_loop_call_io (io=0x7f73f25e56e0) at ioloop.c:614 ioloop = 0x7f73f24cac50 t_id = 2 __func__ = "io_loop_call_io" #33 0x00007f73f17c7dcf in io_loop_handler_run_internal (ioloop=<value optimized out>) at ioloop-epoll.c:222 ctx = 0x7f73f24cd580 events = <value optimized out> event = 0x7f73f24ce430 list = 0x7f73f24cf150 io = <value optimized out> tv = {tv_sec = 2, tv_usec = 213478} events_count = <value optimized out> msecs = <value optimized out> ret = 1 i = <value optimized out> call = <value optimized out> __func__ = "io_loop_handler_run_internal" #34 0x00007f73f17c5fb5 in io_loop_handler_run (ioloop=0x7f73f24cac50) at ioloop.c:666 ---Type <return> to continue, or q <return> to quit--- __func__ = "io_loop_handler_run" #35 0x00007f73f17c61d8 in io_loop_run (ioloop=0x7f73f24cac50) at ioloop.c:639 __func__ = "io_loop_run" #36 0x00007f73f1745ab3 in master_service_run (service=0x7f73f24caae0, callback=<value optimized out>) at master-service.c:767 No locals. #37 0x00007f73f1feacee in main (argc=1, argv=0x7f73f24ca890) at main.c:530 set_roots = {0x7f73f1a4afe0, 0x7f73f21fb620, 0x0} login_set = {auth_socket_path = 0x7f73f24c2058 "\220 L\362s\177", postlogin_socket_path = 0x0, postlogin_timeout_secs = 60, callback = 0x7f73f1feaea0 <login_client_connected>, failure_callback = 0x7f73f1fea350 <login_client_failed>, request_auth_token = true} service_flags = <value optimized out> storage_service_flags = <value optimized out> username = <value optimized out> auth_socket_path = <value optimized out> c = <value optimized out> error = 0xbf <Address 0xbf out of bounds> --- snip ---
Does this help?
Having the backtrace should help answer question number 1. 3. How big is this process when it dies?
I don't know which imap process dies beforehand so how do i get this information?
The size of the core file will give you an general idea. gdb can also print out lots of info via "maintenance info sections", but I don't think that'll help figuring out why things blow up.
The core file sizes are between 125MB and 133MB and "gdb maintenance info sections" produces:
--- snip --- (gdb) maintenance info sections Exec file:
/usr/libexec/dovecot/imap', file type elf64-x86-64. 0x00000238->0x00000254 at 0x00000238: .interp ALLOC LOAD READONLY DATA HAS_CONTENTS 0x00000254->0x00000274 at 0x00000254: .note.ABI-tag ALLOC LOAD READONLY DATA HAS_CONTENTS 0x00000274->0x00000298 at 0x00000274: .note.gnu.build-id ALLOC LOAD READONLY DATA HAS_CONTENTS 0x00000298->0x00000a0c at 0x00000298: .gnu.hash ALLOC LOAD READONLY DATA HAS_CONTENTS 0x00000a10->0x00004988 at 0x00000a10: .dynsym ALLOC LOAD READONLY DATA HAS_CONTENTS 0x00004988->0x00007edc at 0x00004988: .dynstr ALLOC LOAD READONLY DATA HAS_CONTENTS 0x00007edc->0x00008426 at 0x00007edc: .gnu.version ALLOC LOAD READONLY DATA HAS_CONTENTS 0x00008428->0x00008478 at 0x00008428: .gnu.version_r ALLOC LOAD READONLY DATA HAS_CONTENTS 0x00008478->0x00009cc0 at 0x00008478: .rela.dyn ALLOC LOAD READONLY DATA HAS_CONTENTS 0x00009cc0->0x0000c6d8 at 0x00009cc0: .rela.plt ALLOC LOAD READONLY DATA HAS_CONTENTS 0x0000c6d8->0x0000c6f0 at 0x0000c6d8: .init ALLOC LOAD READONLY CODE HAS_CONTENTS 0x0000c6f0->0x0000e310 at 0x0000c6f0: .plt ALLOC LOAD READONLY CODE HAS_CONTENTS 0x0000e310->0x0002e2d8 at 0x0000e310: .text ALLOC LOAD READONLY CODE HAS_CONTENTS 0x0002e2d8->0x0002e2e6 at 0x0002e2d8: .fini ALLOC LOAD READONLY CODE HAS_CONTENTS 0x0002e300->0x00034caf at 0x0002e300: .rodata ALLOC LOAD READONLY DATA HAS_CONTENTS 0x00034cb0->0x0003586c at 0x00034cb0: .eh_frame_hdr ALLOC LOAD READONLY DATA HAS_CONTENTS 0x00035870->0x00039c3c at 0x00035870: .eh_frame ALLOC LOAD READONLY DATA HAS_CONTENTS 0x0023a448->0x0023a458 at 0x0003a448: .ctors ALLOC LOAD DATA HAS_CONTENTS 0x0023a458->0x0023a468 at 0x0003a458: .dtors ALLOC LOAD DATA HAS_CONTENTS 0x0023a468->0x0023a470 at 0x0003a468: .jcr ALLOC LOAD DATA HAS_CONTENTS 0x0023a480->0x0023af10 at 0x0003a480: .data.rel.ro ALLOC LOAD DATA HAS_CONTENTS 0x0023af10->0x0023b0f0 at 0x0003af10: .dynamic ALLOC LOAD DATA HAS_CONTENTS 0x0023b0f0->0x0023bff8 at 0x0003b0f0: .got ALLOC LOAD DATA HAS_CONTENTS 0x0023c000->0x0023c308 at 0x0003c000: .data ALLOC LOAD DATA HAS_CONTENTS 0x0023c310->0x0023c3b0 at 0x0003c308: .bss ALLOC 0x00000000->0x00000010 at 0x0003c308: .gnu_debuglink READONLY HAS_CONTENTS Core file:
/var/core/4880', file type elf64-x86-64. 0x00000000->0x00000558 at 0x00000f20: note0 READONLY HAS_CONTENTS 0x00000000->0x000000d8 at 0x00000fa4: .reg/4880 HAS_CONTENTS 0x00000000->0x000000d8 at 0x00000fa4: .reg HAS_CONTENTS 0x00000000->0x00000130 at 0x00001134: .auxv HAS_CONTENTS 0x00000000->0x00000200 at 0x00001278: .reg2/4880 HAS_CONTENTS 0x00000000->0x00000200 at 0x00001278: .reg2 HAS_CONTENTS 0x7f73e7dcf000->0x7f73ef5d3000 at 0x00002000: load1 ALLOC LOAD HAS_CONTENTS 0x7f73efcd6000->0x7f73efcd7000 at 0x07806000: load2a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73efcd7000->0x7f73efcd7000 at 0x07807000: load2b ALLOC READONLY CODE 0x7f73efcdd000->0x7f73efcdd000 at 0x07807000: load3 ALLOC READONLY 0x7f73efedc000->0x7f73efedd000 at 0x07807000: load4 ALLOC LOAD HAS_CONTENTS 0x7f73efedd000->0x7f73efede000 at 0x07808000: load5a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73efede000->0x7f73efede000 at 0x07809000: load5b ALLOC READONLY CODE 0x7f73efeed000->0x7f73efeed000 at 0x07809000: load6 ALLOC READONLY 0x7f73f00ec000->0x7f73f00ee000 at 0x07809000: load7 ALLOC LOAD HAS_CONTENTS 0x7f73f00ee000->0x7f73f00ef000 at 0x0780b000: load8a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f00ef000->0x7f73f00ef000 at 0x0780c000: load8b ALLOC READONLY CODE 0x7f73f0103000->0x7f73f0103000 at 0x0780c000: load9 ALLOC READONLY 0x7f73f0302000->0x7f73f0303000 at 0x0780c000: load10 ALLOC LOAD READONLY HAS_CONTENTS 0x7f73f0303000->0x7f73f0304000 at 0x0780d000: load11 ALLOC LOAD HAS_CONTENTS 0x7f73f0304000->0x7f73f0305000 at 0x0780e000: load12a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f0305000->0x7f73f0305000 at 0x0780f000: load12b ALLOC READONLY CODE 0x7f73f030c000->0x7f73f030c000 at 0x0780f000: load13 ALLOC READONLY 0x7f73f050b000->0x7f73f050c000 at 0x0780f000: load14 ALLOC LOAD HAS_CONTENTS ---Type <return> to continue, or q <return> to quit--- 0x7f73f050c000->0x7f73f050d000 at 0x07810000: load15a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f050d000->0x7f73f050d000 at 0x07811000: load15b ALLOC READONLY CODE 0x7f73f050f000->0x7f73f050f000 at 0x07811000: load16 ALLOC READONLY 0x7f73f070e000->0x7f73f070f000 at 0x07811000: load17 ALLOC LOAD HAS_CONTENTS 0x7f73f070f000->0x7f73f0710000 at 0x07812000: load18a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f0710000->0x7f73f0710000 at 0x07813000: load18b ALLOC READONLY CODE 0x7f73f0712000->0x7f73f0712000 at 0x07813000: load19 ALLOC READONLY 0x7f73f0911000->0x7f73f0912000 at 0x07813000: load20 ALLOC LOAD HAS_CONTENTS 0x7f73f0912000->0x7f73f0913000 at 0x07814000: load21a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f0913000->0x7f73f0913000 at 0x07815000: load21b ALLOC READONLY CODE 0x7f73f0916000->0x7f73f0916000 at 0x07815000: load22 ALLOC READONLY 0x7f73f0b15000->0x7f73f0b16000 at 0x07815000: load23 ALLOC LOAD HAS_CONTENTS 0x7f73f0b16000->0x7f73f0b17000 at 0x07816000: load24a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f0b17000->0x7f73f0b17000 at 0x07817000: load24b ALLOC READONLY CODE 0x7f73f0b2a000->0x7f73f0b2a000 at 0x07817000: load25 ALLOC READONLY 0x7f73f0d2a000->0x7f73f0d2b000 at 0x07817000: load26 ALLOC LOAD HAS_CONTENTS 0x7f73f0d2b000->0x7f73f0d2c000 at 0x07818000: load27a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f0d2c000->0x7f73f0d2c000 at 0x07819000: load27b ALLOC READONLY CODE 0x7f73f0d42000->0x7f73f0d42000 at 0x07819000: load28 ALLOC READONLY 0x7f73f0f42000->0x7f73f0f43000 at 0x07819000: load29 ALLOC LOAD READONLY HAS_CONTENTS 0x7f73f0f43000->0x7f73f0f44000 at 0x0781a000: load30 ALLOC LOAD HAS_CONTENTS 0x7f73f0f44000->0x7f73f0f48000 at 0x0781b000: load31 ALLOC LOAD HAS_CONTENTS 0x7f73f0f48000->0x7f73f0f49000 at 0x0781f000: load32a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f0f49000->0x7f73f0f49000 at 0x07820000: load32b ALLOC READONLY CODE 0x7f73f0f4a000->0x7f73f0f4a000 at 0x07820000: load33 ALLOC READONLY 0x7f73f114a000->0x7f73f114b000 at 0x07820000: load34 ALLOC LOAD READONLY HAS_CONTENTS 0x7f73f114b000->0x7f73f114c000 at 0x07821000: load35 ALLOC LOAD HAS_CONTENTS 0x7f73f114c000->0x7f73f114d000 at 0x07822000: load36a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f114d000->0x7f73f114d000 at 0x07823000: load36b ALLOC READONLY CODE 0x7f73f1153000->0x7f73f1153000 at 0x07823000: load37 ALLOC READONLY 0x7f73f1352000->0x7f73f1353000 at 0x07823000: load38 ALLOC LOAD READONLY HAS_CONTENTS 0x7f73f1353000->0x7f73f1354000 at 0x07824000: load39 ALLOC LOAD HAS_CONTENTS 0x7f73f1354000->0x7f73f1355000 at 0x07825000: load40a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f1355000->0x7f73f1355000 at 0x07826000: load40b ALLOC READONLY CODE 0x7f73f14de000->0x7f73f14de000 at 0x07826000: load41 ALLOC READONLY 0x7f73f16de000->0x7f73f16e2000 at 0x07826000: load42 ALLOC LOAD READONLY HAS_CONTENTS 0x7f73f16e2000->0x7f73f16e4000 at 0x0782a000: load43 ALLOC LOAD HAS_CONTENTS 0x7f73f16e4000->0x7f73f16e8000 at 0x0782c000: load44 ALLOC LOAD HAS_CONTENTS 0x7f73f16e8000->0x7f73f16e9000 at 0x07830000: load45a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f16e9000->0x7f73f16e9000 at 0x07831000: load45b ALLOC READONLY CODE 0x7f73f184b000->0x7f73f184b000 at 0x07831000: load46 ALLOC READONLY 0x7f73f1a4a000->0x7f73f1a52000 at 0x07831000: load47 ALLOC LOAD READONLY HAS_CONTENTS 0x7f73f1a52000->0x7f73f1a53000 at 0x07839000: load48 ALLOC LOAD HAS_CONTENTS 0x7f73f1a53000->0x7f73f1a56000 at 0x0783a000: load49 ALLOC LOAD HAS_CONTENTS 0x7f73f1a56000->0x7f73f1a57000 at 0x0783d000: load50a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f1a57000->0x7f73f1a57000 at 0x0783e000: load50b ALLOC READONLY CODE 0x7f73f1b92000->0x7f73f1b92000 at 0x0783e000: load51 ALLOC READONLY 0x7f73f1d92000->0x7f73f1d9e000 at 0x0783e000: load52 ALLOC LOAD HAS_CONTENTS 0x7f73f1d9e000->0x7f73f1d9f000 at 0x0784a000: load53a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f1d9f000->0x7f73f1d9f000 at 0x0784b000: load53b ALLOC READONLY CODE 0x7f73f1f0e000->0x7f73f1f2f000 at 0x0784b000: load54 ALLOC LOAD HAS_CONTENTS 0x7f73f1f2f000->0x7f73f1f73000 at 0x0786c000: load55 ALLOC LOAD HAS_CONTENTS 0x7f73f1fa4000->0x7f73f1fa8000 at 0x078b0000: load56 ALLOC LOAD HAS_CONTENTS 0x7f73f1fbc000->0x7f73f1fbe000 at 0x078b4000: load57 ALLOC LOAD HAS_CONTENTS ---Type <return> to continue, or q <return> to quit--- 0x7f73f1fbe000->0x7f73f1fbf000 at 0x078b6000: load58 ALLOC LOAD READONLY HAS_CONTENTS 0x7f73f1fbf000->0x7f73f1fc0000 at 0x078b7000: load59 ALLOC LOAD HAS_CONTENTS 0x7f73f1fc0000->0x7f73f1fc1000 at 0x078b8000: load60 ALLOC LOAD HAS_CONTENTS 0x7f73f1fc1000->0x7f73f1fc2000 at 0x078b9000: load61a ALLOC LOAD READONLY CODE HAS_CONTENTS 0x7f73f1fc2000->0x7f73f1fc2000 at 0x078ba000: load61b ALLOC READONLY CODE 0x7f73f21fb000->0x7f73f21fd000 at 0x078ba000: load62 ALLOC LOAD READONLY HAS_CONTENTS 0x7f73f21fd000->0x7f73f21fe000 at 0x078bc000: load63 ALLOC LOAD HAS_CONTENTS 0x7f73f24c2000->0x7f73f2835000 at 0x078bd000: load64 ALLOC LOAD HAS_CONTENTS 0x7ffd0ddc5000->0x7ffd0dddb000 at 0x07c30000: load65 ALLOC LOAD HAS_CONTENTS 0x7ffd0dde4000->0x7ffd0dde5000 at 0x07c46000: load66 ALLOC LOAD READONLY CODE HAS_CONTENTS 0xffffffffff600000->0xffffffffff601000 at 0x07c47000: load67 ALLOC LOAD READONLY CODE HAS_CONTENTS -- snip ---Jeff.
Thomas
-- Si hoc legere scis nimium eruditionis habes.