[bug #27507] SIGSEGV when using avrdragon (avrdude 5.8)

View: New views
4 Messages — Rating Filter:   Alert me  

[bug #27507] SIGSEGV when using avrdragon (avrdude 5.8)

by Evgenii Philippov :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


URL:
  <http://savannah.nongnu.org/bugs/?27507>

                 Summary: SIGSEGV when using avrdragon (avrdude 5.8)
                 Project: AVR Downloader/UploaDEr
            Submitted by: liku
            Submitted on: Wed 23 Sep 2009 05:45:44 PM GMT
                Category: None
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: None
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name: Lukasz Goralczyk
        Originator Email:
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

Hello,

I've upgraded my system recently and avrdude stopped programming AVRs through
avrdragon board. I'm using avrdude version 5.8, I'm using 64 bit system
(Ubuntu Karmic Koala). Here's the backtrace:

#0  0x000000000041bf06 in jtagmkII_send (pgm=0x6996a0, data=0x7fffffffbf40
"�01277377377377177", len=1) at jtagmkII.c:378
#1  0x000000000041c752 in jtagmkII_getsync (pgm=0x6996a0, mode=3) at
jtagmkII.c:618
#2  0x000000000042c6f8 in stk500v2_dragon_isp_open (pgm=0x6996a0,
port=0x7fffffffe58b "usb") at stk500v2.c:2849
#3  0x0000000000403e20 in main (argc=7, argv=0x7fffffffe248) at main.c:778

There's a dereference of null pointer in jtakmkII_send(), the pointer (cookie
variable) is being set to chained_pdata in in stk500v2_dragon_isp_open() which
is initialised to zero during setup and never changed (I guess).




    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?27507>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
avrdude-dev mailing list
avrdude-dev@...
http://lists.nongnu.org/mailman/listinfo/avrdude-dev

[bug #27507] SIGSEGV when using avrdragon (avrdude 5.8)

by Evgenii Philippov :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #1, bug #27507 (project avrdude):

Sorry, forgot about command line (avrdragon in ISP mode):
/usr/bin/avrdude -pm168 -cdragon_isp -Pusb


    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?27507>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
avrdude-dev mailing list
avrdude-dev@...
http://lists.nongnu.org/mailman/listinfo/avrdude-dev

[bug #27507] SIGSEGV when using avrdragon (avrdude 5.8)

by Evgenii Philippov :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #2, bug #27507 (project avrdude):

Proposed solution: in stk500v2_dragon_isp_open() remove lines with mycookie,
set chained_pdata to pgm->cookie. It works but I don't know if it's elegant.

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?27507>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
avrdude-dev mailing list
avrdude-dev@...
http://lists.nongnu.org/mailman/listinfo/avrdude-dev

[bug #27507] SIGSEGV when using avrdragon (avrdude 5.8)

by Evgenii Philippov :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #3, bug #27507 (project avrdude):

I've stumbled into that bug also. AVR Dragon (with new firmware), ATTiny2313,
segfault at initialization step:

         Using Port                    : usb
         Using Programmer              : dragon_isp
avrdude: stk500v2_dragon_isp_open()
avrdude: usbdev_open(): Found AVRDRAGON, serno: 00A20000327A
avrdude: usbdev_open(): using read endpoint 0x82
avrdude: jtagmkII_getsync()
avrdude: jtagmkII_getsync(): Sending sign-on command:
avrdude: jtagmkII_send(): sending 1 bytes
make: *** [program] Segmentation fault

With following patch, everything works:
$ diff -Nru stk500v2.c.old stk500v2.c
--- stk500v2.c.old 2009-07-11 04:39:37.000000000 +0600
+++ stk500v2.c 2009-10-27 17:04:04.000000000 +0500
@@ -3586,8 +3593,8 @@
   pgm->paged_load     = stk500v2_paged_load;
   pgm->print_parms    = stk500v2_print_parms;
   pgm->set_sck_period = stk500v2_set_sck_period_mk2;
-  pgm->setup          = jtagmkII_setup;
-  pgm->teardown       = jtagmkII_teardown;
+  pgm->setup          = stk500v2_jtagmkII_setup;
+  pgm->teardown       = stk500v2_jtagmkII_teardown;
   pgm->page_size      = 256;
 }

It still does "jtagmkII_close(): bad response to GO command:
RSP_ILLEGAL_EMULATOR_MODE" when closing connection, though.


    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?27507>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
avrdude-dev mailing list
avrdude-dev@...
http://lists.nongnu.org/mailman/listinfo/avrdude-dev