[ECOS] Porting Intel UPNP SDK on eCos

Thor Google mail thorexocet@gmail.com
Thu Jul 13 07:28:00 GMT 2006


Hello,

I'm currently a trainee in a company which develops applications on an
embedded ARM platform under eCos.

I'm in charge of porting the Intel SDK for UPNP (for Linux) on this environment.

During the Upnp SDK initialization, an error appears during the
initialization of the miniserver (from the Intel SDK), and more
particularly during get_ssdp_sockets function.

The following function is called and generates a error.

setsockopt( ssdpSock, IPPROTO_IP, IP_ADD_MEMBERSHIP,
                    ( char * )&ssdpMcastAddr,
                    sizeof( struct ip_mreq ) )
(line 1080 ssdp_server.c of the Intel Upnp SDK)


A previous setsockopt call has been done, with success.

The error generated is :


Stack base corrupt - i: 0
8025F284: 10 27 05 80 0C D5 04 80  CC EF 21 80 10 1E 21 80  |.'........!...!.|
ASSERT FAIL: <3246>mlqueue.cxx[306]void
Cyg_Scheduler_Implementation::rem_thread() Queue map bit not set for
pri
[New Thread 12870]
[Switching to Thread 12870]

Breakpoint 8, cyg_assert_fail (psz_func=0x800b62b0 "void
Cyg_Scheduler_Implementation::rem_thread(Cyg_Thread*)",
psz_file=0x800b6100
"/ecos-u/ecos/ecos-2.0/packages/kernel/current/src/sched/mlqueue.cxx",
linenum=306, psz_msg=0x800b61e4 "Queue map bit not set for pri") at
/ecos-u/ecos/ecos- 2.0/packages/infra/current/src/buffer.cxx:727



The stack content is :


exception_handler
Cyg_Exception_Control::deliver_exception(int,unsigned)
cyg_posix_exception_handler
cyg_sigqueue
Cyg_Mutex::unlock()
Cyg_Thread::set_priority(int)
Cyg_Scheduler_Implementation::rem_thread(Cyg_Thread *)
cyg_assert_fail



I don't understand why setsockopt function would call a priority settings.

Anybody has an idea ?

Thanks.

Antoine ARLAUD

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list