avrdude-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avrdude-dev] avrdude r1160 Segmentation fault


From: Joerg Wunsch
Subject: Re: [avrdude-dev] avrdude r1160 Segmentation fault
Date: Sun, 5 May 2013 23:41:57 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

As Joerg Wunsch wrote:

> So "port" is given as 0x01 here.  Stack frame #1 is:
> 
> pgm->vfy_led(pgm, ON);
> 
> No idea offhand why that triggers a jtagmkII_open() with bogus
> arguments.

The entire pgm structure appears to be garbled after some point:

(gdb) p *pgm
$2 = {id = 0x6df060, desc = "Atmel JTAG ICE mkII", '\000' <repeats 60 times>, 
type = "JTAGMKII", '\000' <repeats 23 times>, 
  port = "usb", '\000' <repeats 4092 times>, initpgm = 0x436170 
<jtagmkII_initpgm>, pinno = {0 <repeats 11 times>}, pin = {{
      mask = {0}, inverse = {0}}, {mask = {0}, inverse = {0}}, {mask = {0}, 
inverse = {0}}, {mask = {0}, inverse = {0}}, {
      mask = {0}, inverse = {0}}, {mask = {0}, inverse = {0}}, {mask = {2}, 
inverse = {494780232499200}}, {mask = {0}, 
      inverse = {0}}, {mask = {0}, inverse = {0}}, {mask = {0}, inverse = {0}}, 
{mask = {0}, inverse = {0}}}, 
  exit_vcc = EXIT_VCC_UNSPEC, exit_reset = EXIT_RESET_UNSPEC, exit_datahigh = 
EXIT_DATAHIGH_UNSPEC, 
  conntype = CONNTYPE_PARALLEL, ppidata = 0, ppictrl = 0, baudrate = 0, usbvid 
= 0, usbpid = 0, 
  usbdev = '\000' <repeats 255 times>, usbsn = '\000' <repeats 255 times>, 
usbvendor = '\000' <repeats 255 times>, 
  usbproduct = '\000' <repeats 164 times>"\215, 
\355\265\240\367ư>address@hidden@address@hidden@address@hidden 
RC\000\000\000\000\000 `C", 
  bitclock = 2.1648138439186728e-317, ispdelay = 4390448, fd = {ifd = 4237280, 
pfd = 0x40a7e0, usb = {handle = 0x40a7e0, 
      rep = 4237280, wep = 0, eep = 4381616, max_xfer = 0}}, page_size = 
4393312, rdy_led = 0, err_led = 0, pgm_led = 0, 
  vfy_led = 0x4346d0 <jtagmkII_open>, initialize = 0x433500 <jtagmkII_close>, 
display = 0x430320 <jtagmkII_paged_write>, 
  enable = 0x42f580 <jtagmkII_paged_load>, disable = 0x42f1e0 
<jtagmkII_page_erase>, powerup = 0, 
  powerdown = 0x42fe90 <jtagmkII_write_byte>, program_enable = 0x434b70 
<jtagmkII_read_byte>, chip_erase = 0, 
  cmd = 0x434b60 <jtagmkII_print_parms>, cmd_tpi = 0, spi = 0, open = 0, close 
= 0x42ef40 <jtagmkII_set_sck_period>, 
  paged_write = 0, paged_load = 0, page_erase = 0, write_setup = 0, write_byte 
= 0, 
  read_byte = 0x42dc10 <jtagmkII_parseextparms>, read_sig_bytes = 0x42e4a0 
<jtagmkII_setup>, 
  print_parms = 0x42dc00 <jtagmkII_teardown>, set_vtarget = 0x2e65647564727661, 
set_varef = 0x666e6f63, set_fosc = 0, 
  set_sck_period = 0, setpin = 0, getpin = 0, highpulsepin = 0, parseexitspecs 
= 0, perform_osccal = 0, parseextparams = 0, 
  setup = 0, teardown = 0, 
  config_file = '\000' <repeats 4000 times>, 
">\003\000\000\000\000\000\000\200Df\000\000\000\000\000\004\000\000\000\000\000\000\000A\000\000\000\000\000\000\000\001\000\000\000\001\000\000\002\024\000\000\000\000\000\000\000\320\360m\000\000\000\000\000\320\360m\000\000\000\000\000\350\360m\000\000\000\000\000\300\360m\000\000\000\000\000\300\360m\000\000\000\000\000!\000\000\000\000\000\000",
 lineno = 1734440042, cookie = 0x0, flag = 0 '\000'}

This is the (segfaulting) 64-bit Linux.  In contrast, the (working)
32-bit FreeBSD has:

(gdb) p *pgm
$1 = {id = 0x43d086c0, desc = "Atmel JTAG ICE mkII", '\0' <repeats 60 times>, 
  type = "JTAGMKII", '\0' <repeats 23 times>, port = "usb", '\0' <repeats 1020 
times>, 
  initpgm = 0x8072fc0 <jtagmkII_initpgm>, pinno = {0 <repeats 11 times>}, pin = 
{{mask = {0}, inverse = {
        0}} <repeats 11 times>}, exit_vcc = EXIT_VCC_UNSPEC, exit_reset = 
EXIT_RESET_UNSPEC, 
  exit_datahigh = EXIT_DATAHIGH_UNSPEC, conntype = CONNTYPE_USB, ppidata = 0, 
ppictrl = 0, 
  baudrate = 115200, usbvid = 0, usbpid = 0, usbdev = '\0' <repeats 255 times>, 
  usbsn = '\0' <repeats 255 times>, usbvendor = '\0' <repeats 255 times>, 
  usbproduct = '\0' <repeats 255 times>, bitclock = 9.9999999999999995e-07, 
ispdelay = 0, fd = {
    ifd = 1139389824, pfd = 0x43e9b580, usb = {handle = 0x43e9b580, rep = 130, 
wep = 2, eep = 0, 
      max_xfer = 64}}, page_size = 256, rdy_led = 0x80521f0 <pgm_default_led>, 
  err_led = 0x80521f0 <pgm_default_led>, pgm_led = 0x80521f0 <pgm_default_led>, 
  vfy_led = 0x80521f0 <pgm_default_led>, initialize = 0x807ad20 
<jtagmkII_initialize>, 
  display = 0x80772e0 <jtagmkII_display>, enable = 0x8072a10 <jtagmkII_enable>, 
  disable = 0x80799a0 <jtagmkII_disable>, powerup = 0x8052200 
<pgm_default_powerup_powerdown>, 
  powerdown = 0x8052200 <pgm_default_powerup_powerdown>, 
  program_enable = 0x8072a00 <jtagmkII_program_enable_dummy>, 
  chip_erase = 0x80799f0 <jtagmkII_chip_erase>, cmd = 0, cmd_tpi = 0, spi = 0, 
  open = 0x807ac20 <jtagmkII_open>, close = 0x8077420 <jtagmkII_close>, 
  paged_write = 0x8079350 <jtagmkII_paged_write>, paged_load = 0x8078130 
<jtagmkII_paged_load>, 
  page_erase = 0x8078620 <jtagmkII_page_erase>, write_setup = 0, 
  write_byte = 0x8078e80 <jtagmkII_write_byte>, read_byte = 0x8077ac0 
<jtagmkII_read_byte>, 
  read_sig_bytes = 0, print_parms = 0x80772c0 <jtagmkII_print_parms>, 
set_vtarget = 0, set_varef = 0, 
  set_fosc = 0, set_sck_period = 0x8076e90 <jtagmkII_set_sck_period>, setpin = 
0, getpin = 0, 
  highpulsepin = 0, parseexitspecs = 0, perform_osccal = 0, 
  parseextparams = 0x8073150 <jtagmkII_parseextparms>, setup = 0x8073ba0 
<jtagmkII_setup>, 
  teardown = 0x8073130 <jtagmkII_teardown>, config_file = "avrdude.conf", '\0' 
<repeats 1011 times>, 
  lineno = 829, cookie = 0x43dfe040, flag = 4 '\004'}

-- 
cheers, Joerg               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]