Help! What does this error message mean?

Discussions related to using VirtualBox on Linux hosts.
Post Reply
runbei
Posts: 46
Joined: 12. Nov 2007, 20:33
Primary OS: Linux other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: WinXP Pro SP3
Location: Mountain View, CA
Contact:

Help! What does this error message mean?

Post by runbei »

I've been able to start my Win2K guest, but now it crashes with the following error which is gibberish to me. Can someone here interpret Ferengi? (This is the last 7 lines of the log.)

Code: Select all

00:00:02.437 DevPcBios: ATA LUN#0 LCHS=1024/255/63
00:00:02.437 PGMR3InitFinalize: 4 MB PSE mask 0000000fffffffff
00:00:02.458 
00:00:02.458 !!Assertion Failed!!
00:00:02.458 Expression: RT_SUCCESS_NP(rc)
00:00:02.458 Location  : /home/vbox/vbox-2.1.0/src/VBox/Runtime/common/misc/thread.cpp(719) int RTThreadCreate(RTTHREADINT**, int (*)(RTTHREADINT*, void*), void*, size_t, RTTHREADTYPE, unsigned int, const char*)
00:00:02.459 VERR_TRY_AGAIN (-52) - Retry the operation.
Thanks for any help.
KenJackson
Posts: 27
Joined: 6. Jul 2007, 16:52
Primary OS: Fedora other
VBox Version: OSE Fedora
Guest OSses: WindowsXP, OpenSolaris
Location: Maryland, USA
Contact:

Post by KenJackson »

It means that on line 719 of file /home/vbox/vbox-2.1.0/src/VBox/Runtime/common/misc/thread.cpp, an assertion failed. (The first two lines probably have nothing to do with the assertion.)

An assertion is an assert statement that programmers put in place when they are fairly certain that something will always be true, but they want to be alerted if it's ever false. When an assertion fails, it generally means there is a programming error.

The log doesn't say what the actual assertion is, but I just happen to have the source code handy:

Code: Select all

    /*
     * Allocate thread argument.
     */
    int             rc;
    PRTTHREADINT    pThreadInt = rtThreadAlloc(enmType, fFlags, 0, pszName);
    if (pThreadInt)
    {
...
        RTNATIVETHREAD NativeThread;
        rc = rtThreadNativeCreate(pThreadInt, &NativeThread);
        if (RT_SUCCESS(rc))
        {
...
            return VINF_SUCCESS;
        }

        pThreadInt->cRefs = 1;
        rtThreadRelease(pThreadInt);
    }
    else
        rc = VERR_NO_TMP_MEMORY;
    LogFlow(("RTThreadCreate: Failed to create thread, rc=%Rrc\n", rc));
    AssertReleaseRC(rc);                                //<<<<< Line 719
    return rc;
It looks like VERR_TRY_AGAIN in the log is probably the value of rc that was returned by the pthread function. That means it's a pthread problem. But that still doesn't tell us much.

I would definitely enter a bug in the Bugtracker.
Post Reply