TheBonsai's Blog

About the days and nights of TheBonsai

Minetest addons development rant

April 21st, 2013 by TheBonsai

A few months ago I discovered a growing Minecraft-like sandbox game: Minetest. It’s FOSS, multiplatform and under active development.

However, this is not about the game itself, it’s more about a good example for some typical uncontrolled FOSS effects for which I want to give some examples (more the “consumer’s” perspective.

Mainly the development for secondary products (modifications, texture packs, …) is a bit weird. There is no central collaboration platform and less or no rules to follow. This leads to some weird effects:

  • There is no usable directory of “common modifications” to just scroll through and download the latest releases from it. It’s neccesary to dig deep into the web forum, follow the thread that is (ab-)used to maintain development of the modification in question. The only rule for the developers is to edit the very first post of the thread if something changes – which is done or not. Some developers provide a ZIP file to just download and unpack where you need it, some provide a ZIP file where you have to rename the unpacked directories, some provide a GIT link, etc.
  • Similar thing applies to texture packs. There is no controlled delivery. Everybody delivers like he wants. For example there are texture packs in specific resolutions, and addons for this texture pack (e.g. supporting textures of some modification) in a different image resolution. You can have the “main” pack in 512px resolution, and the addon for your favourite mod in 128px – which looks very weird when textures of the smaller resolution are used to overlay the others. This is a typical effect of “chaotic” deveopment.
  • Licenses: I found license information here and there which states that for some parts of a texture pack or a modification, the developer has no license information, i.e. he releases software which contains parts taken from elsewhere with an unknown license and writes that into his own license info. The result is, you potentially download software you’re not allowed to use. Admitted, the chance is low, but I find it very weird to release something containing parts with an unknown license. The mods itself usually are released as unrestricted public domain, which is okay. Though I usually prefer a more restrictive license for my own code (yes, my times of heavy development for something seems to be over, hehe).
  • One of the biggest pros in FOSS world is also one of the biggest problems when it comes to the average user: Diversity. You can choose between several modifications for one feature. The problem here is that the mod developers don’t seem to do teamwork, but everybody likes to see his own mod. Time will filter the one or the other, yes, but development resources that are focused and not randomly distributed would lead to less and better software in the same time. It’s hard to do that with FOSS individuals, yes, I know. But that’s something the “consumer” really doesn’t care about.

There are some other effects of this missing collaboration platform and restrictive development processes. This is okay if the target audience are the same enthusiasts that develop the product, but not if you want to deliver something to the wide public, not if you want to make your product a widely used “standard product”. It’s a typical effect of a young and less maintained FOSS project. There are several ways to gain a bit more control and get more synergy, but I don’t want to discuss them.

And yes I know the usual arguments. I know what FOSS is and it’s fun and great to contribute to something to this world. And I know what a mod is and that it is my own problem or risk to use it, because I don’t have to. But this text is more about the typical effects FOSS can have, which leads to a summary status of a hardly usable software for the wide public. I never contributed to a very young project (most of my time I spent with projects that already were accepted by the public), maybe that’s why I have problems with this less restrictive project maintenance.

In any way, if you are interested in this game and its addons (and if you are able to do a bit reading and tinkering for the addons), just try it. It’s fun to play!

 

Category: english, Games | 1 Comment »

10gR2 (10.2.0.5) on top of existing 11gR2 (11.2.0.3) GI

February 5th, 2012 by TheBonsai

Hello Oracle fans and victims out there,

I tried to create a 10.2.0.5 database on top of an existing 11.2.0.3 GI (with an already fine running 11.2.0.3 RDBMS as second database), 2 node RAC.

Installed the 10.2.0.1 + 10.2.0.5 PS + 10.2.0.5.6 PSU… worked like a charm.

After pinning the nodes (remember, you have to do that for a pre-11gR2 database on 11gR2 Clusterware!), I created the RAC database with DBCA… worked like a charm.

I started up the database with srvctl – crash. Both instances were killed by their LMON because of a KGXGN polling error. It looks like this in the alert logs:

Instance #1:

Sat Feb 04 12:44:20 CET 2012
lmon registered with NM – instance id 1 (internal mem no 0)
Sat Feb 04 12:46:50 CET 2012
oracle@svdbslx060 (LMON) (ospid: 28370) detects hung instances during IMR reconfiguration
oracle@svdbslx060 (LMON) (ospid: 28370) tries to kill the instance 2.
Please check instance 2’s alert log and LMON trace file for more details.
Sat Feb 04 12:48:05 CET 2012
Remote instance kill is issued with system inc 0 and reason 0x20000000
Remote instance kill map (size 1) : 2
Sat Feb 04 12:49:20 CET 2012
Error: KGXGN polling error (15)
Sat Feb 04 12:49:20 CET 2012
Errors in file /opt/oracle/base/admin/REDSYS/bdump/redsys1_lmon_28370.trc:
ORA-29702: Fehler bei Vorgang von Cluster Group Service
LMON: terminating instance due to error 29702
Sat Feb 04 12:49:20 CET 2012
System state dump is made for local instance
Sat Feb 04 12:49:20 CET 2012
Errors in file /opt/oracle/base/admin/REDSYS/bdump/redsys1_diag_28366.trc:
ORA-29702: Fehler bei Vorgang von Cluster Group Service
Sat Feb 04 12:49:20 CET 2012
Trace dumping is performing id=[cdmp_20120204124920]
Sat Feb 04 12:49:20 CET 2012
Instance terminated by LMON, pid = 28370

Instance #2:

Sat Feb 04 12:44:20 CET 2012
lmon registered with NM – instance id 2 (internal mem no 1)
Sat Feb 04 12:49:20 CET 2012
Error: KGXGN polling error (15)
Sat Feb 04 12:49:20 CET 2012
Errors in file /opt/oracle/base/admin/REDSYS/bdump/redsys2_lmon_1695.trc:
ORA-29702: Fehler bei Vorgang von Cluster Group Service
LMON: terminating instance due to error 29702
Sat Feb 04 12:49:20 CET 2012
Trace dumping is performing id=[cdmp_20120204124920]
System state dump is made for local instance
Sat Feb 04 12:49:21 CET 2012
Errors in file /opt/oracle/base/admin/REDSYS/bdump/redsys2_diag_1691.trc:
ORA-29702: Fehler bei Vorgang von Cluster Group Service
Sat Feb 04 12:49:21 CET 2012
Trace dumping is performing id=[cdmp_20120204124921]
Sat Feb 04 12:49:21 CET 2012
Instance terminated by LMON, pid = 1695

The LMON trace files just revealed the same information for me. I installed the 10.2.0.5.2 CRS Bundle into this ORACLE_HOME – no change. The internet – including MOS – gave hints in many directions, but nothing really seemed to match.

Finally, after a day off (you sometimes need distance!) I got it:

The error messages highly indicate an interconnect problem. The fact that a second (11gR2) database works fine at the same time excludes physics and other problems on the base of the stack. The server and the 11gR2 world has 2 interconnect interfaces. Solution: I just burned the IP of one specific interconnect interface into the init.ora parameters of the 10gR2 instance – and we got a take off. It works like a charm.

Category: Oracle, Work | 2 Comments »

SQLNET.RECV_TIMEOUT/SEND_TIMEOUT and RMAN

November 2nd, 2011 by TheBonsai

Hi there,

I was analyzing some unexpected RMAN termination, a RMAN-10038/RMAN-03009 combo:

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: Fehler bei REFAF Befehl in c13 Kanal auf 10/31/2011 08:21:50
RMAN-10038: Datenbank-Session für Kanal c13 unerwartet beendet

Nothing, not even an RMAN tracing was able to reveal more hints. The trace just told it in other words. No underlying ORA/TNS error or similar.

It finally turned out it were some parameters recently added to sqlnet.ora, I set SQLNET.RECV_TIMEOUT and SQLNET.SEND_TIMEOUT and the beast silently dropped RMAN channels that were idle for a while. The next command in this channel blew up the whole RUN block of the backup script.

I removed the parameters and it works again.

Be careful with your sqlnet.ora :-)

 

Category: english, Oracle, Work | No Comments »