1
Programming / Re: ClassiCube porting thread
« Last post by Steven Levine on Today at 02:30:18 am »Exception codes are documented in the OS/2 Debugging Handbook (sg244640.inf) and the Control Program Guide and Reference (GPG&R)
Both annotate the value differently. Given c0000005, you need to search for 0c0000005h in the Debugging Handbook and for 0xc0000005 in the CPG&R.
As Dave noted, you need to expand the per thread stack for TID 0xa. You can use LIBC_THREAD_MIN_STACK_SIZE to set the minimum at runtime or, assuming that ClassiCube is using pthreads, you can adjust the compile time values by modifying the code that eventually invokes pthread_attr_setstacksize()
Note that while you can get stack overflow if the stack is too small, you can also get stack overflow if the code recurses unexpectedly. A popuplog is typically not going to tell why the stack overflow happened. This requires an exceptq report or a process dump file.
BTW, are your sources available anywhere?
Both annotate the value differently. Given c0000005, you need to search for 0c0000005h in the Debugging Handbook and for 0xc0000005 in the CPG&R.
As Dave noted, you need to expand the per thread stack for TID 0xa. You can use LIBC_THREAD_MIN_STACK_SIZE to set the minimum at runtime or, assuming that ClassiCube is using pthreads, you can adjust the compile time values by modifying the code that eventually invokes pthread_attr_setstacksize()
Note that while you can get stack overflow if the stack is too small, you can also get stack overflow if the code recurses unexpectedly. A popuplog is typically not going to tell why the stack overflow happened. This requires an exceptq report or a process dump file.
BTW, are your sources available anywhere?