Hi, It seems that the problem is located exactly at ne_session.c:217, it is to say:
static void progress_notifier(void *userdata, ne_session_status status, const ne_session_status_info *info) { ne_session *sess = userdata; if (status == ne_status_sending || status == ne_status_recving) { sess->progress_cb(sess->progress_ud,info->sr.progress,info->sr.total); } } When executing step by step and stopping just before the segfault, printing the variable 'sess' seems to be impossible there although the scope seems to allow it. (gdb) progress_notifier (userdata=0x8070ad8, status=ne_status_sending, info=0x8070ba0) at /neon27-0.28.2/src/ne_session.c:216 216 if (status == ne_status_sending || status == ne_status_recving) { (gdb) 217 sess->progress_cb(sess->progress_ud, info->sr.progress, info->sr.total); (gdb) p sess No symbol "sess" in current context. Anyway, userdata can be used in place of sess: (gdb) p userdata $17 = (void *) 0x8070ad8 (gdb) disas 0x8070ad8 No function contains specified address. (gdb) ptype userdata type = void * (gdb) p (ne_session*) userdata $18 = (struct ne_session_s *) 0x8070ad8 (gdb) p ((ne_session*) userdata)->progress_cb $19 = (ne_progress) 0x804b530 <site_sock_progress_cb> (gdb) p ((ne_session*) userdata)->progress_ud $20 = (void *) 0x0 (gdb) p ((ne_session*) userdata) $21 = (struct ne_session_s *) 0x8070ad8 The progress function seems to be site_sock_progress_cb and the progress_ud seems to be 0x0 (I don't know if it is meaningfull or not). I checked also info and everything seemed ok. I'll try to get further later. :) Regards -- Emmanuel Fleury I liked things better when I didn't understand them. -- Calvin & Hobbes (Bill Waterson) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]