Anonymous Login
2017-08-23 00:24 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0001923OpenClonkEngine - Renderingpublic2017-06-17 22:18
ReporterMaikel 
Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusnewResolutionopen 
Product Versiongit master 
Target Versiongit masterFixed in Version 
Summary0001923: Network crash after round end
DescriptionSee stack trace below.
Additional Information[22:16:38] Player K-Pone eliminated.
[22:16:38] Client K-Pone deactivated.
[22:16:39] Saving player file Network/K_Pone.ocp...
[22:16:40] GetStandalone: file not found!
[22:16:41] Game over.
[22:16:41] Saving player file Maikel.ocp...
[22:16:42] Preparing file Maikel.ocp for network...
[22:16:42] Game evaluated.
Stack trace (most recent call last):
0000020 Object "", at 0xffffffffffffffff, in
0000019 Object "/home/maikel/openclonk/snapshot/openclonk", at 0x55d122a125e9, in _start
0000018 Source "../csu/libc-start.c", line 291, in __libc_start_main [0x7f14223aa3f0]
0000017 Source "/home/maikel/openclonk/repos-clean/src/game/ClonkMain.cpp", line 243, in main [0x55d122a0cd72]
        240: return C4XRV_Failure;
        241: }
        242: // Execute application
      > 243: Application.Run();
        244: // free app stuff
        245: Application.Clear();
        246: if (Application.restartAtEnd) restart(argv);
0000016 Source "/home/maikel/openclonk/repos-clean/src/platform/C4App.cpp", line 56, in Run [0x55d122bc8dcc]
         54: // Main message loop
         55: while (!fQuitMsgReceived)
      > 56: ScheduleProcs();
         57: }
         58:
         59: bool C4AbstractApp::DoScheduleProcs(int iTimeout)
0000015 Source "/home/maikel/openclonk/repos-clean/src/platform/StdScheduler.cpp", line 158, in _ZN12StdScheduler13ScheduleProcsEi.part.9 [0x55d122c37542]
        156: bool old = isInManualLoop;
        157: isInManualLoop = true;
      > 158: bool res = DoScheduleProcs(iTimeout);
        159: isInManualLoop = old;
        160: return res;
        161: }
0000014 Source "/home/maikel/openclonk/repos-clean/src/platform/StdSchedulerPoll.cpp", line 175, in DoScheduleProcs [0x55d122c36f74]
        172: {
        173: if (any_executed && proc->IsLowPriority())
        174: break;
      > 175: if (!proc->Execute(0, &fds[begin]))
        176: {
        177: OnError(proc);
        178: fSuccess = false;
0000013 Source "/home/maikel/openclonk/repos-clean/src/game/C4Application.cpp", line 915, in Execute [0x55d122ae9a81]
        912: if (tNow > tLastGameTick + iGameTickDelay)
        913: tLastGameTick += (tNow - tLastGameTick) / 2;
        914:
      > 915: Application.GameTick();
        916: }
        917: // Draw
        918: if (!Game.DoSkipFrame)
#12 Source "/home/maikel/openclonk/repos-clean/src/game/C4Application.cpp", line 735, in GameTick [0x55d122ae96e4]
        732: case C4AS_Game:
        733: // Game
        734: if (Game.IsRunning)
      > 735: Game.Execute();
        736: // Sound
        737: SoundSystem.Execute();
        738: MusicSystem.Execute();
0000011 Source "/home/maikel/openclonk/repos-clean/src/game/C4Game.cpp", line 770, in Execute [0x55d122ade677]
        767: if (GameOver)
        768: {
        769: if (!Evaluated) Evaluate();
      > 770: if (!GameOverDlgShown) ShowGameOverDlg();
        771: }
        772:
        773: // show stat each 1000 ticks
#10 Source "/home/maikel/openclonk/repos-clean/src/game/C4Game.cpp", line 3126, in ShowGameOverDlg [0x55d122ade254]
       3123: #ifndef USE_CONSOLE
       3124: if (!Application.isEditor)
       3125: {
      >3126: C4GameOverDlg *pDlg = new C4GameOverDlg();
       3127: pDlg->SetDelOnClose();
       3128: if (!pDlg->Show(pGUI, true)) { delete pDlg; Application.QuitGame(); }
       3129: }
0000009 Source "/home/maikel/openclonk/repos-clean/src/gui/C4GameOverDlg.cpp", line 210, in __base_ctor [0x55d122c7d57e]
        207: ppPlayerLists = new C4PlayerInfoListBox *[iPlrListCount];
        208: for (int32_t i=0; i<iPlrListCount; ++i)
        209: {
      > 210: ppPlayerLists[i] = new C4PlayerInfoListBox(caPlayerArea.GetGridCell(i,iPlrListCount,0,1), C4PlayerInfoListBox::PILBM_Evaluation, fSepTeamLists ? Game.Teams.GetTeamByIndex(i)->GetID() : 0);
        211: ppPlayerLists[i]->SetSelectionDiabled(true);
        212: ppPlayerLists[i]->SetDecoration(false, nullptr, true, false);
        213: AddElement(ppPlayerLists[i]);
0000008 Source "/home/maikel/openclonk/repos-clean/src/gui/C4PlayerInfoListBox.cpp", line 1232, in __base_ctor [0x55d122b0e886]
       1229: // update if client listbox selection changes
       1230: SetSelectionChangeCallbackFn(new C4GUI::CallbackHandler<C4PlayerInfoListBox>(this, &C4PlayerInfoListBox::OnPlrListSelChange));
       1231: // initial update
      >1232: Update();
       1233: }
       1234:
       1235: void C4PlayerInfoListBox::SetClientSoundIcon(int32_t iForClientID)
0000007 Source "/home/maikel/openclonk/repos-clean/src/gui/C4PlayerInfoListBox.cpp", line 1321, in Update [0x55d122b67922]
       1319: case PILBM_Evaluation:
       1320: case PILBM_EvaluationNoWinners:
      >1321: UpdatePlayersByEvaluation(&pCurrInList, eMode == PILBM_Evaluation);
       1322: break;
       1323: }
0000006 Source "/home/maikel/openclonk/repos-clean/src/gui/C4PlayerInfoListBox.cpp", line 1543, in UpdatePlayersByEvaluation [0x55d122b66dbd]
       1540: C4Team *pTeam; int32_t i=0;
       1541: while ((pTeam = Game.Teams.GetTeamByIndex(i++)))
       1542: {
      >1543: UpdatePlayersByEvaluation(ppCurrInList, pTeam, eAddMode);
       1544: }
       1545: // Add teamless players of winning status
       1546: UpdatePlayersByEvaluation(ppCurrInList, nullptr, eAddMode);
0000005 Source "/home/maikel/openclonk/repos-clean/src/gui/C4PlayerInfoListBox.cpp", line 1568, in UpdatePlayersByEvaluation [0x55d122b66cba]
       1565: if (pPlrInfo->IsInvisible()) continue;
       1566: if (!pTeam && eWinMode != AM_All && pPlrInfo->HasWon() != (eWinMode == AM_Winners)) continue;
       1567: if (!PlrListItemUpdate(ListItem::ID::PLI_PLAYER, pPlrInfo->GetID(), ppCurrInList))
      >1568: new PlayerListItem(this, pInfoPacket->GetClientID(), pPlrInfo->GetID(), false, *ppCurrInList);
       1569: }
       1570: }
       1571: }
#4 Source "/home/maikel/openclonk/repos-clean/src/gui/C4PlayerInfoListBox.cpp", line 118, in __base_ctor [0x55d122b1e813]
        115: if (pTeam && pTeam->GetIconSpec() && *pTeam->GetIconSpec())
        116: {
        117: pTeamPic = new C4GUI::Picture(C4Rect(iHeight + IconLabelSpacing, 0, iHeight, iHeight), true);
      > 118: Game.DrawTextSpecImage(pTeamPic->GetMFacet(), pTeam->GetIconSpec(), nullptr, pTeam->GetColor());
        119: pTeamPic->SetDrawColor(pTeam->GetColor());
        120: }
        121: }
0000003 Source "/home/maikel/openclonk/repos-clean/src/game/C4Game.cpp", line 3758, in DrawTextSpecImage [0x55d122ad987b]
       3755: C4Def *pDef = C4Id2Def(C4ID(szSpec));
       3756: if (!pDef) return false;
       3757:
      >3758: pDef->Draw(fctTarget, false, dwClr, nullptr, 0, 0, pTransform);
       3759: return true;
       3760: }
       3761: }
#2 Source "/home/maikel/openclonk/repos-clean/src/object/C4DefGraphics.cpp", line 366, in Draw [0x55d122c2631d]
        363: pDraw->SetMeshTransform(&matrix);
        364:
        365: pDraw->SetPerspective(true);
      > 366: pDraw->RenderMesh(*instance, cgo.Surface, cgo.X,cgo.Y, cgo.Wdt, cgo.Hgt, pObj ? pObj->Color : iColor, trans);
        367: pDraw->SetPerspective(false);
        368: pDraw->SetMeshTransform(nullptr);
#1 Source "/home/maikel/openclonk/repos-clean/src/graphics/C4Draw.cpp", line 409, in RenderMesh [0x55d122a94d4b]
        406: bool C4Draw::RenderMesh(StdMeshInstance &instance, C4Surface * sfcTarget, float tx, float ty, float twdt, float thgt, DWORD dwPlayerColor, C4BltTransform* pTransform)
        407: {
        408: // TODO: Emulate rendering
      > 409: if (!sfcTarget->IsRenderTarget()) return false;
        410:
        411: // TODO: Clip
#0 Source "/home/maikel/openclonk/repos-clean/src/graphics/C4Surface.cpp", line 157, in IsRenderTarget [0x55d122aada90]
        154: bool C4Surface::IsRenderTarget()
        155: {
        156: // primary is always OK...
      > 157: return fPrimary;
        158: }
        159:
        160: void C4Surface::NoClip()
Segmentation fault (Address not mapped to object [0x6d])
Segmentation fault (core dumped)
TagsNo tags attached.
Attached Files

-Relationships
+Relationships

-Notes
There are no notes attached to this issue.
+Notes

-Issue History
Date Modified Username Field Change
2017-06-17 22:18 Maikel New Issue
+Issue History