Bug 182082 - emulators/dynamips-community upgrade to 0.2.10 and head problem report
Summary: emulators/dynamips-community upgrade to 0.2.10 and head problem report
Status: Closed Feedback Timeout
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-14 09:20 UTC by olivier
Modified: 2014-10-05 21:56 UTC (History)
2 users (show)

See Also:


Attachments
file.diff (5.78 KB, patch)
2013-09-14 09:20 UTC, olivier
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description olivier 2013-09-14 09:20:00 UTC
I've got a problem with the previous version 0.2.8 on -current: dynamips crashes when it tried to start router emulation with message "bus error (core dump)".
Then I've tried to upgrade it to 0.2.10 but I've got the same error.
I didn't have 9.x right now for testing it compiled with gcc (clang problem?).
By the way, here is the patch for upgrading it 0.2.10 in case it works on

Fix: Patch attached with submission follows:
How-To-Repeat: just start dynamips on a recent -current.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-09-14 09:20:08 UTC
Maintainer of emulators/dynamips-community,

Please note that PR ports/182082 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/182082

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2013-09-14 09:20:09 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 remy.nonnenmacher 2013-10-15 10:43:47 UTC
Hi,

It seems that "some" file-targeted printf end up in coredump.
(I say "some" because first few succeeds without clear reason. Ie: first 
few logs work (and end up in the file) then one makes dumping guts also 
without good reason)

Removing logs from source allows the emulator to run until it hits 
another log.

System is 11-CURRENT, r256440, amd64

exemple (recompiled with -g):
--------------------------------------

  [SNIP]
  .
  .
Installed image archive
Cisco 7206VXR (NPE-G2) processor (revision B) with 229376K/16384K bytes 
of memory.
Processor board ID 4279256517
MPC7448 CPU at 1916Mhz, Implementation 0, Rev 2.1
6 slot VXR midplane, Version 2.1

Last reset from power-on

PCI bus mb1 (Slots 1, 3 and 5) has a capacity of 600 bandwidth points.
Current configuration on bus mb1 has a total of 0 bandwidth points.
This configuration is within the PCI bus capacity and is supported.

PCI bus mb2 (Slots 2, 4 and 6) has a capacity of 600 bandwidth points.
Current configuration on bus mb2 has a total of 0 bandwidth points.
This configuration is within the PCI bus capacity and is supported.

Please refer to the following document "Cisco 7200 Series Port Adaptor
Hardware Configuration Guidelines" on Cisco.com <http://www.cisco.com>
for c7200 bandwidth points oversubscription and usage guidelines.


3 Gigabit Ethernet interfaces
2045K bytes of NVRAM.
Bus error (core dumped)
[root-dvl5:~/GNS3]# gdb 
/usr/ports/emulators/dynamips-community/work/dynamips-0.2.8-RC3-community/dynamips.stable 
dynamips.stable.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...
Core was generated by `dynamips.stable'.
Program terminated with signal 10, Bus error.
Reading symbols from /usr/local/lib/libelf.so.0...done.
Loaded symbols for /usr/local/lib/libelf.so.0
Reading symbols from /usr/local/lib/libuuid.so.1...done.
Loaded symbols for /usr/local/lib/libuuid.so.1
Reading symbols from /lib/libpcap.so.8...done.
Loaded symbols for /lib/libpcap.so.8
Reading symbols from /lib/libthr.so.3...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/local/lib/libintl.so.9...done.
Loaded symbols for /usr/local/lib/libintl.so.9
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x000000080126c35a in vfprintf_l () from /lib/libc.so.7
[New Thread 80700e400 (LWP 100553/dynamips.stable)]
[New Thread 801c09c00 (LWP 100552/dynamips.stable)]
[New Thread 801c09800 (LWP 100551/dynamips.stable)]
[New Thread 801c09400 (LWP 100550/dynamips.stable)]
[New Thread 801c09000 (LWP 100549/dynamips.stable)]
[New Thread 801c08c00 (LWP 100548/dynamips.stable)]
[New Thread 801c08800 (LWP 100547/dynamips.stable)]
[New Thread 801c08400 (LWP 100546/dynamips.stable)]
[New Thread 801c08000 (LWP 100545/dynamips.stable)]
[New Thread 801c07c00 (LWP 100544/dynamips.stable)]
[New Thread 801c07800 (LWP 100543/dynamips.stable)]
[New Thread 801c07400 (LWP 100542/dynamips.stable)]
[New Thread 801c07000 (LWP 100541/dynamips.stable)]
[New Thread 801c06c00 (LWP 100540/dynamips.stable)]
[New Thread 801c06800 (LWP 100539/dynamips.stable)]
[New Thread 801c06400 (LWP 101035/dynamips.stable)]
(gdb) bt
#0  0x000000080126c35a in vfprintf_l () from /lib/libc.so.7
#1  0x000000080126c077 in vfprintf_l () from /lib/libc.so.7
#2  0x000000080125d820 in fprintf () from /lib/libc.so.7
#3  0x00000000004637ae in rommon_var_update_file (rvl=<value optimized 
out>) at ../common/rommon_var.c:60
#4  0x000000000043393c in dev_remote_control_access (cpu=<value 
optimized out>, dev=<value optimized out>,
     offset=<value optimized out>, op_size=<value optimized out>, 
op_type=<value optimized out>, data=<value optimized out>)
     at ../common/dev_remote.c:255
#5  0x0000000000422434 in ppc32_mem_access (cpu=<value optimized out>, 
vaddr=<value optimized out>, cid=<value optimized out>,
     op_code=<value optimized out>, op_size=4, op_type=1, 
data=0x7ffffe1f0f58) at device.h:94
#6  0x0000000000422973 in ppc32_stw (cpu=0x801c09c00, vaddr=100552, 
reg=<value optimized out>) at ppc32_mem.c:809
#7  0x000000080358b875 in ?? ()
#8  0x0000000000425565 in ppc32_jit_run_cpu (gen=0x801ed0000) at 
ppc32_amd64_trans.h:65
#9  0x0000000800f2c4a4 in pthread_create () from /lib/libthr.so.3
#10 0x0000000000000000 in ?? ()


Code is: (>> = Line 60)

/* Write a file with all ROMMON variables */
int rommon_var_update_file(struct rommon_var_list *rvl)
{
    struct rommon_var *var;
    FILE *fd;

    if (!rvl->filename)
       return(-1);

    if (!(fd = fopen(rvl->filename,"w"))) {
       fprintf(stderr,"%s: unable to create file %s (%s)\n",
               __func__,rvl->filename,strerror(errno));
       return(-1);
    }

    for(var=rvl->var_list;var;var=var->next)
 >>      fprintf(fd,"%s=%s\n",var->name,var->value ? var->value : "");

    fclose(fd);
    return(0);
}
Comment 4 remy.nonnenmacher 2013-10-15 15:42:15 UTC
FYI:

- Same problem with

  A) System 10-BETA1
  B) compilation with gcc46

- Confirmed dynamips works on 9.1 amd64.
Comment 5 Pavel Volkov 2014-06-11 12:20:34 UTC
Hello.
Compile dynamips without JIT support solved this problem.
Comment 6 John Marino freebsd_committer freebsd_triage 2014-07-26 13:21:22 UTC
what is the status of this PR?  Should it be closed?  I can't tell if there is still a problem or not.
Comment 7 John Marino freebsd_committer freebsd_triage 2014-10-05 21:56:03 UTC
No feedback, so I'm closing the PR.